ilyama/infra/deploy/vm-edge/ deploys a production-like Golain stack with:
- ZITADEL + Traefik wildcard TLS (Let’s Encrypt via Cloudflare DNS-01)
- Internal PKI for Postgres, RabbitMQ, and Timescale mTLS
- Optional HTTP APIs and MQTT pass-through for devices
vs local dev
Cloudflare DNS
CF_DNS_API_TOKEN in .env.
Sync A records to your VM public IP:
Internal PKI
Data plane (Postgres + Rabbit + Timescale)
Application stack
infra/deploy/vm-edge/env/*.vm.env.example into services/apis/.env, services/domain-workers/.env, etc.
Wire Zitadel settings:
ZITADEL_ENDPOINT- OAuth client IDs for apis, console, platform-tui
Device certificates
Production device mTLS goes through the cert worker RPCs — not ad-hoc issuance. JITR bootstrap certs tie to fleet provisioning.platform-tui against vm-edge
Dev defaults pre-fill frominfra/deploy/vm-edge/env/apis.vm.env:
Do not use
auth.ilyama.golain.io for this stack — that is a separate local Zitadel compose profile.