Add starbuck and apollo as active/active app hosts (#21)
Sync runner checkout / sync (push) Successful in 6s
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:
@@ -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] }
|
||||
|
||||
@@ -22,7 +22,7 @@ searxng_stack: true
|
||||
gitea_key_path: "/home/{{ admin_user }}/.ssh/gitea_deploy"
|
||||
|
||||
# company_site + dta_webapp + dta_service for side testing and active/active.
|
||||
# Ports MUST match adama/roslin so NPM can balance all three upstreams.
|
||||
# Ports MUST match adama/roslin/starbuck/apollo so NPM can balance all upstreams.
|
||||
host_apps:
|
||||
- { name: company_site, env: prod, port: 8000 }
|
||||
- { name: dta_webapp, env: prod, port: 8080 }
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
# Mirrors roslin for active/active. Ports MUST match adama/roslin so NPM
|
||||
# upstreams can balance apollo:PORT with the other app hosts.
|
||||
host_apps:
|
||||
- { name: company_site, env: prod, port: 8000 }
|
||||
- { name: dta_service, env: prod, port: 8001 }
|
||||
- { name: dta_service, env: beta, port: 8011 }
|
||||
- { name: dta_webapp, env: prod, port: 8080 }
|
||||
- { name: dta_webapp, env: beta, port: 8081 }
|
||||
- { name: scha, env: prod, port: 8002 }
|
||||
# optional: - { name: scha, env: beta, port: 8012 }
|
||||
- { name: chat_web_app, env: prod, port: 8082 }
|
||||
- { name: chat_web_app, env: beta, port: 8083 }
|
||||
- { name: chat_backend, env: prod, port: 8003 }
|
||||
- { name: chat_backend, env: beta, port: 8013 }
|
||||
# monica_site worker NOT here — adama host_apps sets compose_profiles: [worker].
|
||||
- { name: monica_site, env: prod, port: 8004 }
|
||||
- { name: monica_site, env: beta, port: 8014 }
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
# Mirrors adama for active/active. Ports MUST match adama so NPM upstreams
|
||||
# can balance adama:PORT and roslin:PORT for the same workload.
|
||||
# Mirrors adama for active/active. Ports MUST match adama/starbuck/apollo so
|
||||
# NPM upstreams can balance roslin:PORT with the other app hosts.
|
||||
host_apps:
|
||||
- { name: company_site, env: prod, port: 8000 }
|
||||
- { name: dta_service, env: prod, port: 8001 }
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
# Mirrors roslin for active/active. Ports MUST match adama/roslin so NPM
|
||||
# upstreams can balance starbuck:PORT with the other app hosts.
|
||||
host_apps:
|
||||
- { name: company_site, env: prod, port: 8000 }
|
||||
- { name: dta_service, env: prod, port: 8001 }
|
||||
- { name: dta_service, env: beta, port: 8011 }
|
||||
- { name: dta_webapp, env: prod, port: 8080 }
|
||||
- { name: dta_webapp, env: beta, port: 8081 }
|
||||
- { name: scha, env: prod, port: 8002 }
|
||||
# optional: - { name: scha, env: beta, port: 8012 }
|
||||
- { name: chat_web_app, env: prod, port: 8082 }
|
||||
- { name: chat_web_app, env: beta, port: 8083 }
|
||||
- { name: chat_backend, env: prod, port: 8003 }
|
||||
- { name: chat_backend, env: beta, port: 8013 }
|
||||
# monica_site worker NOT here — adama host_apps sets compose_profiles: [worker].
|
||||
- { name: monica_site, env: prod, port: 8004 }
|
||||
- { name: monica_site, env: beta, port: 8014 }
|
||||
@@ -7,5 +7,9 @@ all:
|
||||
ansible_host: 10.0.0.77
|
||||
roslin:
|
||||
ansible_host: 10.0.0.176
|
||||
starbuck:
|
||||
ansible_host: 10.0.0.44
|
||||
apollo:
|
||||
ansible_host: 10.0.0.7
|
||||
ai-server-4080:
|
||||
ansible_host: 10.0.0.128
|
||||
|
||||
Reference in New Issue
Block a user