variables.yaml
Per-environment variables file at resources/<env>/variables.yaml. It holds the base domain and SSH
config for the environment. Which regions deploy and all provider config (credentials + per-region
realizations) live in regions.yaml.
Schema
base_domain: example.com # required — base domain for VM DNS names
ssh: # required when using compute
authorizedKeys: "ssh-ed25519 AAAA..." # user access SSH public key(s)
deployPublicKey: "ssh-ed25519 AAAA..." # deploy user's public key
Fields
base_domain
The root domain for DNS names. A host's domain is assembled as
<compute>.vm.<env>.<region-slug>.<base_domain> (e.g. bridge.vm.prd.use1.wardnet.network), and a
service's as <service>.svc.<env>.<region-slug>.<base_domain>.
ssh
SSH keys placed on every provisioned VM:
authorizedKeys— added to the VM's authorized_keys for human (admin) access.deployPublicKey— the SSH public key installed for the deploy user. When a compute resource declares adeploy_user, inforge provisions that account at VM-init time and installs this key into itsauthorized_keys. The username itself is set per-compute indeploy_user.name; the key material lives here so that rotating it only requires updatingvariables.yamland re-runninginforge deploy.
Example
resources/prd/variables.yaml
base_domain: example.com
ssh:
authorizedKeys: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... user@laptop"
deployPublicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... deploy@ci"