Mikael Hugo
7d65dd1be4
Add emergency page and HostBill ticket creation
...
- 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>
2026-05-15 07:07:51 +02:00
Mikael Hugo
ce1c475bcc
Commit current workspace state
2026-05-13 01:58:23 +02:00
Mikael Hugo
f40632b297
sf snapshot: uncommitted changes after 2133m inactivity
2026-05-13 01:30:33 +02:00
Mikael Hugo
9f486f36d0
refactor: rename centralcloud_ops → centralcloud_staff in portal
...
The portal umbrella now has unambiguous app names:
- centralcloud_staff: staff-facing UI (ops.centralcloud.com)
- centralcloud_my: customer-facing UI (my.centralcloud.com)
- centralcloud_core: shared library
The infra/apps/centralcloud_ops backend engine retains its name.
Config keys, session cookies, releases all updated accordingly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-11 13:06:21 +02:00
Mikael Hugo
97b99c3fe3
fix: use Bandit adapter via config — Phoenix boots on port 4001
...
- 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>
2026-05-09 20:25:18 +02:00
Mikael Hugo
453a6deead
feat: Elixir 1.20-rc4/OTP28, wire Phoenix endpoints, router, LiveViews, auth plug
...
- flake.nix: Elixir 1.20.0-rc.4 via pkgs.path (reproducible, no hardcoded store paths)
- RequireAuth plug (session-based, redirects to /login)
- SessionController: login form, logout, OIDC callback stub
- DashboardLive, ReplicationLive, BillingLive, SupportLive (skeleton)
- Layouts: dark UI, nav, flash messages
- All compile clean on 1.20-rc4 with zero warnings
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-09 20:20:19 +02:00
Mikael Hugo
35f29f42e3
feat: add flake.nix, .envrc, fix config (runtime.exs), deps compile clean
...
- flake.nix: Elixir 1.18.4 / OTP 27 / Node 22 dev shell
- .envrc: use flake
- config/config.exs: move fetch_env! to runtime.exs (compile-time safe)
- config/runtime.exs: all secrets loaded at runtime via env vars
- mix.lock: generated after mix deps.get
- All 3 apps compile cleanly
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-09 19:55:48 +02:00