OpenClaw Deploy uses native override files at every layer — all gitignored so your local customizations never conflict with upstream changes.

Override System

LayerWhat to customizeOverride fileTemplateRequired?Copy when
TerraformState backendterraform/envs/prod/backend.tfbackend.tf.exampleRequiredBefore make init
TerraformInfrastructure variablesterraform/envs/prod/terraform.tfvarsterraform.tfvars.exampleRequiredBefore make plan
DockerExtra servicesdocker-compose.override.ymldocker-compose.override.example.ymlOptionalBefore make bootstrap
MakeExtra targetsMakefile.localMakefile.local.exampleOptionalAnytime
AnsibleExtra playsansible/site.local.ymlansible/site.local.example.ymlOptionalAnytime
ScriptsAddon scriptsscripts/local/scripts/local.example/OptionalAnytime

Docker Compose: docker-compose.override.yml is automatically merged — no flags needed.

Makefile: Makefile.local is loaded via -include. All variables from the main Makefile are available.

Ansible: ansible/site.local.yml is used instead of site.yml when it exists. It should import site.yml first, then add your local plays.