docs: update README and AGENTS.md after centralcloud_staff rename

- README: correct app names (centralcloud_staff not centralcloud_ops)
- README: add ROUTER_AGENT_URL/KEY env vars, nix develop quick start
- README: clarify staff UI vs backend engine distinction

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Mikael Hugo 2026-05-11 13:19:30 +02:00
parent 9f486f36d0
commit 1c7d922cce

View file

@ -1,34 +1,34 @@
# centralcloud # centralcloud/portal
Elixir umbrella app for CentralCloud customer and staff portals. Elixir/Phoenix umbrella — two web surfaces from one codebase.
## Apps ## Apps
| App | URL | Audience | | App | URL | Audience |
|-----|-----|----------| |-----|-----|----------|
| `centralcloud_my` | `my.centralcloud.com` | Customers — unified dashboard | | `centralcloud_staff` | `ops.centralcloud.com` | Staff — ops cockpit, AI chat, on-call |
| `centralcloud_ops` | `ops.centralcloud.com` | Staff — ops and on-call | | `centralcloud_my` | `my.centralcloud.com` | Customers — dashboard, DR, billing, support |
| `centralcloud_core` | (library) | Shared: HostBill client, DR API client, OIDC | | `centralcloud_core` | (library) | Shared: HostBill client, DR API client, OIDC |
> **Note:** `centralcloud_staff` is the thin UI layer. All business logic (incidents, pager,
> oncall engine, AI triage) lives in `../infra/apps/centralcloud_ops` (the backend engine).
`my.centralcloud.com` will also serve `www.centralcloud.com` (marketing pages) when DNS is repointed. `my.centralcloud.com` will also serve `www.centralcloud.com` (marketing pages) when DNS is repointed.
## Quick start ## Quick start
```bash ```bash
# Install Elixir 1.17+ and Phoenix # Enter dev shell (Elixir 1.20-rc.4 + OTP 28 via Nix)
mix local.hex --force nix develop
mix archive.install hex phx_new --force
# Install deps # Install deps (from umbrella root)
mix deps.get mix deps.get
# Run my. portal (port 4001) # Run customer portal (port 4001)
cd apps/centralcloud_my cd apps/centralcloud_my && mix phx.server
mix phx.server
# Run ops portal (port 4000) # Run staff portal (port 4000)
cd apps/centralcloud_ops cd apps/centralcloud_staff && mix phx.server
mix phx.server
``` ```
## Required env vars ## Required env vars
@ -42,8 +42,10 @@ DR_PORTAL_URL=https://dr.centralcloud.com
DR_PORTAL_API_KEY=... DR_PORTAL_API_KEY=...
OIDC_CLIENT_ID=... # Authentik application client ID OIDC_CLIENT_ID=... # Authentik application client ID
OIDC_CLIENT_SECRET=... OIDC_CLIENT_SECRET=...
ROUTER_AGENT_URL=http://router-agent.router-agent.svc:8642
ROUTER_AGENT_API_KEY=... # from OpenBao / k8s secret
``` ```
## Architecture ## Architecture
See `../dr-repo/docs/adr/001-unified-portal-architecture.md` See `../AGENTS.md` for the full codebase map and how portal, engine, and agents relate.