Skip to main content

Run and Deploy

Quick Local Run

After the build completes, <BUILD_DIR>/publish/ holds per-service directories with the executables, plus deployment helper scripts (publish/tools/script/). To generate configs and per-instance scripts locally:

cd <BUILD_DIR>/publish/tools/script
bash generate_config.sh # on Windows use generate_config.bat

generate_config.sh internally runs atdtool template over cloud-native/charts (layering the values/default,dev,personal profiles), producing <server>/cfg/*_<bus_id>.yaml configs and <server>/bin/start_<bus_id>.(sh|bat) startup scripts for each instance under the publish root. tools/script/ also ships start_local_test_env / stop_local_test_env, update_dependency, and other helpers.

atdtool Deployment (install/ templates)

Production deployment uses the Helm chart style templates under install/cloud-native/, rendered by atdtool (build artifact <PUBLISH_DIR>/tools/atdtool/atdtool) with Helm-compatible semantics:

atdtool template install/cloud-native/charts/<server> \
-o <output directory> \
--values install/cloud-native/values/default \
--set global.world_id=1

The rendered output generates, for each instance, a <server>/cfg/*_<bus_id>.yaml config and a <server>/bin/start_<bus_id>.(sh|bat) script. Template convention: .yaml.tpl → YAML, .sh.tpl → shell, .bat.tpl → Windows batch; bare .tpl files are shared partials (such as the _atapp.*.tpl files of the libapp chart).

Deployment Forms

FormDescription
KubernetesHelm chart (statefulset / hpa / Gateway API httproute / vector logging), install/cloud-native/charts/
Docker imageinstall/cloud-native/images/server/ (Dockerfile + entrypoint.sh)
Bare metal / localvalues/default/non_cloud_native/deploy.yaml defines the process layout (world_id/zone_id/proc_desc) + sh/bat scripts

Four values profiles (default / dev / enable_direct_connection / personal) can be stacked and overridden:

atdtool template ... --values values/default --values values/dev

values Structure (default profile)

  • global.yaml: global parameters (world/zone, image, resources).
  • atgateway.yaml / atproxy.yaml / robot.yaml: parameters for each built-in service.
  • modules/: cross-cutting configuration such as redis, etcd, hpa, telemetry, vector, profiling, cachesvr_shared, cs_session.

Observability

install/otelcol/ provides OpenTelemetry Collector startup scripts (daemon and systemd modes); service trace/metrics configuration is driven by svr.telemetry.config.proto and the values file modules/telemetry.yaml.