Files
server-infra/inventory/host_vars/ai-server-4080.yml
T
westfarn 578b749ac5
Sync runner checkout / sync (push) Successful in 7s
Register disney_hotel_service for beta and prod deploy (#48)
## Summary
- Closes #47.
- Register `disney_hotel_service` (`DisneyHotel/disney_hotel_service`, branch `master`) for beta and prod on all five webservers.
- Prod port **8023**, beta port **8024** (8021/8022 stay WordPress `relawfirm`). Alert worker profile only on adama.
- Document Postgres databases `disney_hotel_service` / `disney_hotel_service_beta`, NPM hosts, and the control-node secret layout. This app reads `POSTGRES_*`, not `DATABASE_URL`.

## Test plan
- [ ] `disney_hotel_service` is in `app_catalog` and `./scripts/deploy.sh --help` lists it
- [ ] All five hosts have prod **8023** and beta **8024**; only adama sets `compose_profiles: [worker]`
- [ ] After merge (ops): create both databases on `10.0.0.230` and grant `westfarn`
- [ ] After merge (ops): write `~/Documents/secrets/disney_hotel_service/disney_hotel_service_{prod,beta}.env` (mode 600)
- [ ] After merge (ops): NPM `disneyhotel.app` (+ www) → `:8023`, `beta.disneyhotel.app` → `:8024`
- [ ] Deploy waits on `docker-compose.prod.yml` in the app repo (no bundled db, `${WEB_PORT}:8000`, worker profile `worker`)

Reviewed-on: #48
2026-10-28 11:15:05 -07:00

54 lines
2.5 KiB
YAML

---
# ai-server-4080 — control node + Gitea act runner. Update IP with:
# ip -4 addr show scope global
ansible_host: 10.0.0.128
ansible_control_node: true
# Deploy/ansible runs on this host; avoid self-SSH (breaks after long tasks / CI keys).
ansible_connection: local
act_runner_enabled: true
# Central Loki + Prometheus + Grafana (roles/observability).
observability_stack: true
# SearxNG JSON search API for chat_backend grounded retrieval (#10).
# Host port 8088 — 8080 is dta_webapp on this host. chat_backend secret:
# SEARXNG_BASE_URL=http://10.0.0.128:8088
searxng_stack: true
# This host's pre-existing ~/.ssh/id_ed25519 is a personal key WITH a passphrase,
# which hangs the (non-BatchMode) gitea access probe. Use a dedicated,
# passphrase-less deploy key here instead.
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/starbuck/apollo so NPM can balance all upstreams.
host_apps:
- { name: company_site, env: prod, port: 8000 }
- { name: dta_webapp, env: prod, port: 8080 }
- { name: dta_webapp, env: beta, port: 8081 }
- { name: dta_blog, env: prod, port: 8086 }
- { name: dta_blog, env: beta, port: 8087 }
- { name: dta_service, env: prod, port: 8001 }
- { name: dta_service, env: beta, port: 8011 }
- { name: scha, env: prod, port: 8002 }
- { 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 / college_craft / print_forge / disney_hotel_service workers NOT here — adama sets compose_profiles: [worker].
- { name: monica_site, env: prod, port: 8004 }
- { name: monica_site, env: beta, port: 8014 }
- { name: url_shortening_service, env: prod, port: 8005 }
- { name: url_shortening_service, env: beta, port: 8015 }
- { name: college_craft, env: prod, port: 8006 }
- { name: college_craft, env: beta, port: 8016 }
- { name: print_forge, env: prod, port: 8007, enabled: false }
- { name: print_forge, env: beta, port: 8019, enabled: false }
- { name: abc_be, env: beta, port: 8017 }
- { name: abc_worker, env: beta, port: 8018 }
- { name: abc_voice, env: beta, port: 8020 }
- { name: abc_fe, env: beta, port: 8085 }
- { name: livekit, env: beta, port: 7880 }
- { name: disney_hotel_service, env: prod, port: 8023 }
- { name: disney_hotel_service, env: beta, port: 8024 }