SLA Portal

A standalone, lightweight status page that receives daily SLA reports from the ITOps platform. Designed for product teams and stakeholders who need SLA visibility without ITOps admin access.

Deploy

helm install sla-portal itops/sla-portal -n sla-portal --create-namespace \
  --set ingress.host=sla.yourdomain.com \
  --set apiKey=your-secret-api-key

Connect to ITOps

In the ITOps platform values, configure the portal URL so daily reports are automatically pushed:

env:
  ITOPS_SLA_PORTAL_URL: "https://sla.yourdomain.com"
  ITOPS_SLA_PORTAL_API_KEY: "your-secret-api-key"

Features: group-centric SLA view, daily/weekly/monthly uptime, error budgets, 90-day history, service detail drill-down. Backed by an embedded SQLite database (no external DB needed). The Portal is a read-only consumer — Core pushes the daily report as JSON once per day, Portal stores and renders it. Nothing flows back to Core.

Don't ship the API key as plaintext Helm value. For GitOps, keep the key in a K8s Secret (SealedSecret / External Secrets) and reference it from the chart instead of using --set apiKey=.... Pattern: pre-create the secret sla-portal-key and mount it via envFrom: [{ secretRef: { name: sla-portal-key } }] in the deployment.

SLA Targets (Error Budget Tracking)

Define SLO objectives per service group in the Helm values. The portal automatically calculates error budgets and projects when the budget will be exhausted.

# sla-portal values.yaml
slaTargets:
  payment-system:
    uptime: 99.99
    label: "Payment System SLA"
  test-stack:
    uptime: 99.5
    label: "Test Infrastructure"

With targets configured, the portal shows per group: