portal/config/runtime.exs
Mikael Hugo f84f59e0df feat: build out centralcloud_ops staff portal with Grafana OnCall backend
- Add CentralcloudCore.OnCall API client (alert groups, schedules, users,
  escalation chains) — talks to Grafana OnCall HTTP API v1
- Add centralcloud_ops application, endpoint, router, layouts
- Add RequireStaff auth plug, SessionController, HealthController
- Add DashboardLive: firing/acked alerts with ack/resolve actions, auto-refresh
- Add IncidentsLive: filterable incident list by status
- Add IncidentLive: incident detail with ack/resolve/silence actions
- Add OnCallLive: schedule cards showing who is currently on-call
- Add StakeholdersLive: HostBill client search + service view + comms panel
- Wire ONCALL_URL / ONCALL_API_TOKEN env vars in config and runtime.exs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-10 22:54:33 +02:00

30 lines
1.3 KiB
Elixir

import Config
# Runtime secrets — each release only requires its own secret key
if config_env() == :prod do
config :centralcloud_my, CentralcloudMy.Endpoint,
secret_key_base: System.get_env("MY_SECRET_KEY_BASE") || System.fetch_env!("MY_SECRET_KEY_BASE")
# OPS_SECRET_KEY_BASE only required when running the centralcloud_ops release
if ops_key = System.get_env("OPS_SECRET_KEY_BASE") do
config :centralcloud_ops, CentralcloudOps.Endpoint, secret_key_base: ops_key
end
end
config :centralcloud_core, :hostbill,
base_url: System.get_env("HOSTBILL_URL", "https://portal.centralcloud.com"),
api_id: System.get_env("HOSTBILL_API_ID"),
api_key: System.get_env("HOSTBILL_API_KEY")
config :centralcloud_core, :dr_portal,
base_url: System.get_env("DR_PORTAL_URL", "https://dr.centralcloud.com"),
api_key: System.get_env("DR_PORTAL_API_KEY")
config :centralcloud_core, :oncall,
base_url: System.get_env("ONCALL_URL", "https://oncall.centralcloud.com"),
token: System.get_env("ONCALL_API_TOKEN")
config :centralcloud_core, :oidc,
issuer: System.get_env("AUTHENTIK_ISSUER", "https://sso.centralcloud.com/application/o/centralcloud/"),
client_id: System.get_env("OIDC_CLIENT_ID"),
client_secret: System.get_env("OIDC_CLIENT_SECRET")