- New /emergency page at my.centralcloud.com/emergency
- Customers can submit emergency tickets that page on-call engineer
- HostBill API client now supports addTicket call
- Emergency form creates ticket via HostBill then notifies ops backend
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Each release only requires its own secret key:
- centralcloud_my needs MY_SECRET_KEY_BASE
- centralcloud_staff needs OPS_SECRET_KEY_BASE
RELEASE_NAME is set automatically by Elixir release scripts at startup.
Fixes startup crash when staff release ran without MY_SECRET_KEY_BASE.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Detect the app binary by trying centralcloud_staff then centralcloud_my.
Fixes CrashLoopBackOff when centralcloud-staff image ran /app/bin/server
which was hardcoded to exec ./centralcloud_my (not found in staff image).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix broken reference to apps/centralcloud_ops (renamed to centralcloud_staff)
- Add multi-target Dockerfile: --target my and --target staff
- Both releases now built from one build stage (shared layer cache)
- Add OPS_ENGINE_URL config in runtime.exs for staff → engine API calls
docker build --target staff -t .../centralcloud-staff:VERSION .
docker build --target my -t .../centralcloud-my:VERSION .
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the headless override — standard beamPackages.erlang (OTP 28.5)
is already in binary cache, so nix develop resolves instantly.
Elixir 1.20.0-rc.4 still built from source (takes ~2min first time).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add adapter: Bandit.PhoenixAdapter to config.exs and dev.exs
- Phoenix reads adapter from app config, not from use macro option
- Verified: Bandit 1.11.0 starts successfully on 0.0.0.0:4001
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Umbrella root with apps/centralcloud_{my,ops,core}
- centralcloud_core: HostBill Admin API client, DR Portal API client
- centralcloud_my: Phoenix LiveView app for my.centralcloud.com
- centralcloud_ops: Phoenix app for ops.centralcloud.com
- Shared config: Authentik OIDC, HostBill, DR Portal endpoints
- README with quick start and required env vars
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>