Enable beta deployments for chat_backend and chat_web_app, matching how dta_service / dta_webapp already run.
chat_backend
chat_web_app
dta_service
dta_webapp
Today both chat apps are prod-only in host_apps (beta lines commented). App tickets will flip Gitea workflows to:
host_apps
master
workflow_dispatch
This ticket is the server-infra half: register beta workloads, Postgres, secrets, web-static roots, NPM, docs.
Companion app tickets (create/link when filed):
inventory/host_vars/{adama,roslin,ai-server-4080}.yml:
inventory/host_vars/{adama,roslin,ai-server-4080}.yml
- { name: chat_web_app, env: prod, port: 8082 } # optional: - { name: chat_web_app, env: beta, port: 8083 } - { name: chat_backend, env: prod, port: 8003 } # optional: - { name: chat_backend, env: beta, port: 8013 }
app_catalog already lists both apps; webroot_pattern for chat_web_app already supports {env} → /var/www/beta.chat.aimloperations/html.
app_catalog
webroot_pattern
{env}
/var/www/beta.chat.aimloperations/html
Ports must match across adama + roslin + ai-server-4080:
- { name: chat_web_app, env: beta, port: 8083 } - { name: chat_backend, env: beta, port: 8013 }
chat_backend_beta
westfarn
~/Documents/secrets/chat_backend/chat_backend_beta.env
chat_backend/.env.prod.example
DJANGO_ENV=beta
WEB_PORT=8013
DJANGO_ALLOWED_HOSTS
beta.chatbackend.aimloperations.com
DATABASE_URL
DJANGO_SECRET_KEY
OLLAMA_BASE_URL=http://10.0.0.128:11434
build:beta
adama:8083
roslin:8083
ai-server-4080:8083
*:8013
IMPLEMENTATION.md
./scripts/deploy.sh --app chat_backend --env beta --ref <sha> ./scripts/deploy.sh --app chat_web_app --env beta --ref <sha>
chat_backend_beta.env
deploy.sh --app chat_backend --env beta
--app chat_web_app --env beta
scripts/deploy.sh
roles/app-deploy
roles/web-static
No dependencies set.
The note is not visible to the blocked user.
Summary
Enable beta deployments for
chat_backendandchat_web_app, matching howdta_service/dta_webappalready run.Today both chat apps are prod-only in
host_apps(beta lines commented). App tickets will flip Gitea workflows to:masterworkflow_dispatch("Run workflow" button)This ticket is the server-infra half: register beta workloads, Postgres, secrets, web-static roots, NPM, docs.
Companion app tickets (create/link when filed):
chat_backend— beta workflow + beta Django envchat_web_app— beta workflow + Tianji beta website IDCurrent state
inventory/host_vars/{adama,roslin,ai-server-4080}.yml:app_catalogalready lists both apps;webroot_patternfor chat_web_app already supports{env}→/var/www/beta.chat.aimloperations/html.Work
1. Uncomment / enable
host_appsbeta entries (all three hosts)Ports must match across adama + roslin + ai-server-4080:
2. Shared Postgres
chat_backend_beta(do not share prod DB)westfarn(same pattern as other beta apps)3. Control-node secrets
~/Documents/secrets/chat_backend/chat_backend_beta.env(mode 600)chat_backend/.env.prod.example:DJANGO_ENV=betaWEB_PORT=8013DJANGO_ALLOWED_HOSTS/ CSRF trusted origins forbeta.chatbackend.aimloperations.com(+ frontend beta origin as needed)DATABASE_URL→chat_backend_betaDJANGO_SECRET_KEYOLLAMA_BASE_URL=http://10.0.0.128:114344. web-static / document roots
host_appslists it/var/www/beta.chat.aimloperations/htmlexists or is created on firstbuild:beta/ deploy5. NPM (Proxy Manager)
adama:8083+roslin:8083+ai-server-4080:8083beta.chatbackend.aimloperations.comat*:8013(same three hosts)6. Docs
IMPLEMENTATION.mdports / apps / Postgres / NPM tables for chat beta7. Smoke deploy
Acceptance criteria
host_appsentries live on adama, roslin, and ai-server-4080 (ports 8013 / 8083)chat_backend_betaPostgres DB +chat_backend_beta.envsecret on control nodedeploy.sh --app chat_backend --env betaand--app chat_web_app --env betasucceedbeta.chatbackend.aimloperations.comactive/activeIMPLEMENTATION.mdupdatedReferences
dta_service/dta_webapphost_appsentriesscripts/deploy.sh,roles/app-deploy,roles/web-staticCompanion tickets
Follow-ons (after beta lands)