Files
hiveiq-ops/hiveiq-openmetal/ENVIRONMENTS.md
T

1.6 KiB

HiveOps Deployment Environments

Two repos, one per environment — no duplication. Production config lives only in the prod repo; dev config lives only in the dev repo.

Env Repo (cloned as) Config path Live URL VM
PRODUCTION hiveiq-openmetal-prod (hiveiq-openmetal/) hiveops/instances/services/ bcos.cloud 173.231.195.250
DEV / staging hiveiq-openmetal-dev/ hiveops/instances/dev/ bcos.dev 173.231.195.251

Production also keeps its other instances in the prod repo: database, browser, ollama, logging, and the bcos-* services (mail, office, share, proxy, gitea, odoo). Dev is all-in-one — one VM bundles postgres/kafka/registry/etc that prod splits across VMs.

Compare dev vs prod

The two repos are structurally parallel (compose/<svc>.yml, nginx/conf.d/<svc>.conf):

./compare-prod-dev.sh            # drift summary — which configs differ or are env-only
./compare-prod-dev.sh incident   # full diff of a specific service
# or diff directly:
diff hiveiq-openmetal-dev/hiveops/instances/dev/nginx/conf.d/api.conf \
     hiveiq-openmetal/hiveops/instances/services/nginx/conf.d/api.conf

(For this to work, clone both repos side by side under this directory.)

Source of truth

The live VMs are hand-managed (not git-fed). These repos are the reference/backup — keep them in sync with the VMs whenever you change deployment config. .env secrets are gitignored: they live only on the VMs and in Vaultwarden (pw.bcos.cloud).