Add starbuck and apollo as active/active app hosts (#21)
Sync runner checkout / sync (push) Successful in 6s

## Summary

- Closes [#20](#20).
- Register **starbuck** (`10.0.0.44`) and **apollo** (`10.0.0.7`) as Proxmox app hosts in `webservers`, with `host_apps` copied from **roslin** (same apps/ports; **no** `monica_site` worker — that stays a singleton on **adama**).
- Allow `starbuck` / `apollo` in `provision.sh` and `deploy.sh`; document inventory, NPM backends, and Alloy `host` labels.

## Test plan

- [ ] `ansible-inventory --list` shows both hosts under `webservers` at the expected IPs.
- [ ] Bootstrap SSH + passwordless sudo on each VM (keep a Proxmox console open for first UFW enable).
- [ ] `ansible starbuck,apollo -m ping`
- [ ] `./scripts/provision.sh starbuck --check` then `./scripts/provision.sh starbuck`
- [ ] `./scripts/provision.sh apollo --check` then `./scripts/provision.sh apollo`
- [ ] `./scripts/deploy.sh starbuck` and `./scripts/deploy.sh apollo` bring up the same app+env set as roslin.
- [ ] `monica_site` dj-queue worker still runs **only** on adama.
- [ ] Grafana/Loki show `host="starbuck"` and `host="apollo"`.
- [ ] NPM Advanced upstreams (manual): add `starbuck:PORT` and `apollo:PORT` beside adama/roslin.Reviewed-on: #21
This commit was merged in pull request #21.
This commit is contained in:
2026-08-16 07:20:38 -07:00
parent 2e3fe13b39
commit ec294a1d45
12 changed files with 124 additions and 52 deletions
+5 -4
View File
@@ -1,7 +1,8 @@
---
# Django services run active/active here and on roslin (shared external DB).
# dta_webapp static also runs active/active (built into /var/www, served by
# the web-static nginx container). Ports MUST match roslin so NPM can balance.
# Django services run active/active here and on roslin/starbuck/apollo
# (shared external DB). dta_webapp static also runs active/active (built into
# /var/www, served by the web-static nginx container). Ports MUST match the
# other app hosts so NPM can balance.
# Each entry is one workload: django -> compose project <name>_<env> on port;
# node-static -> /var/www/<env>_dta_webapp served on port.
host_apps:
@@ -16,6 +17,6 @@ host_apps:
- { name: chat_web_app, env: beta, port: 8083 }
- { name: chat_backend, env: prod, port: 8003 }
- { name: chat_backend, env: beta, port: 8013 }
# compose_profiles: worker → dj-queue singleton (not on roslin / ai-server-4080).
# compose_profiles: worker → dj-queue singleton (not on other app hosts).
- { name: monica_site, env: prod, port: 8004, compose_profiles: [worker] }
- { name: monica_site, env: beta, port: 8014, compose_profiles: [worker] }