Commit graph

6 commits

Author SHA1 Message Date
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
9e0b43ea90 feat: add health endpoint, release config, and Dockerfile for k8s deployment
- GET /api/health — JSON probe endpoint (no auth)
- CentralcloudMy.Release — Ecto migrate/rollback for init container
- rel/overlays/bin/{server,migrate} scripts for the OTP release
- mix.exs releases: centralcloud_my targeting core + my apps
- Dockerfile: umbrella-aware multi-stage build on hexpm/elixir:1.19.5-erlang-28

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-09 20:45:22 +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
afcbba3fc7 chore: upgrade to Elixir 1.19.5 / OTP 28, add Gleam to dev shell
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-09 20:01:38 +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