Sync runner checkout / sync (push) Successful in 6s
## Summary - Closes [#27](#27). - Register `print_forge` in `app_catalog` (`type: django`, repo `ai_ml_operations/print_forge`, default branch `master`). - Add `host_apps` prod `:8007` / beta `:8019` on **adama**, **roslin**, **starbuck**, **apollo**, and **ai-server-4080**. - dj-queue **worker singleton on adama** only (`compose_profiles: [worker]`); other hosts web-only. - Document ports, NPM hosts, Postgres DBs, secrets, Nominatim (`10.0.0.128:8089`), and the app-repo companion ([print_forge#1](ai_ml_operations/print_forge#1)). - Update `scripts/deploy.sh` `--app` help. - Move unused `abc_be` prod port reserve **8007 → 8009** so it does not collide with `print_forge`. ## Test plan - [ ] Confirm `print_forge` appears in `app_catalog` and `--app print_forge` is listed in `deploy.sh --help` - [ ] Confirm beta `host_apps` on all five hosts (port **8019**); adama has `compose_profiles: [worker]` - [ ] Confirm prod port **8007** reserved on those hosts (no NPM until launch) - [ ] After merge (ops, not this PR): create Postgres DBs `print_forge_beta` + `print_forge` on `10.0.0.230`, grant `westfarn` - [ ] After merge (ops): write `~/Documents/secrets/print_forge/print_forge_{beta,prod}.env` from app `.env.prod.example`; add `print_forge:<token>` to `SHORTENER_API_TOKENS` (beta first) - [ ] After merge (ops): NPM `print-forge-preview.aimloperations.com` → `:8019` active/active; do **not** NPM-route `printforgeprints.com` until launch - [ ] After secrets + DBs: `~/Documents/repos/server-infra/scripts/deploy.sh --app print_forge --env beta --ref master` and hit `/healthz/` Reviewed-on: #28
32 lines
1.7 KiB
YAML
32 lines
1.7 KiB
YAML
---
|
|
# 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:
|
|
- { 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 }
|
|
# 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] }
|
|
- { name: url_shortening_service, env: prod, port: 8005 }
|
|
- { name: url_shortening_service, env: beta, port: 8015 }
|
|
- { name: college_craft, env: prod, port: 8006, compose_profiles: [worker] }
|
|
- { name: college_craft, env: beta, port: 8016, compose_profiles: [worker] }
|
|
- { name: print_forge, env: prod, port: 8007, compose_profiles: [worker] }
|
|
- { name: print_forge, env: beta, port: 8019, compose_profiles: [worker] }
|
|
- { name: abc_be, env: beta, port: 8017 }
|
|
- { name: abc_worker, env: beta, port: 8018 }
|
|
- { name: abc_fe, env: beta, port: 8085 }
|