SLA Portal

PAID PLUGIN — SLA

Public-facing status page for your clients. Standalone Go + SQLite service, no login, shareable URL. Requires the SLA Plugin to be active in the main ITOps platform — the Portal pulls daily reports + uptime numbers from the Plugin via push webhook; without the Plugin the page would have nothing to display.

What it is

A separate tiny service (itops/sla-portal chart, ~20 MB image) that serves a single HTML page with your current uptime numbers, open incidents, and maintenance windows. Deploy it on its own subdomain (status.yourcompany.com) and share the link with clients — no dashboard login required.

Install

helm install sla-portal itops/sla-portal -n sla-portal --create-namespace \
  --set ingress.host=status.yourdomain.com \
  --set ingress.tls.secretName=status-tls

Declare SLA targets

Per-SLA-group uptime targets drive the error-budget calculation. Only groups with a declared target appear on the public page.

slaTargets:
  - slaGroup: "payment-system"
    displayName: "Payment Processing"
    uptimeTarget: 99.95
  - slaGroup: "web-frontend"
    displayName: "Website"
    uptimeTarget: 99.9

Everything else (real-time uptime, incident list, maintenance windows) is pushed by the main platform every 5 minutes via the operator-internal SLA_PORTAL_URL + API key settings.

Wire the main platform to push

On the main ITOps install:

env:
  ITOPS_SLA_PORTAL_URL: "http://sla-portal.sla-portal.svc.cluster.local"
secretEnv:
  ITOPS_SLA_PORTAL_API_KEY: "<matching sla-portal API key>"

The same key must be set on the portal's secretEnv.SLA_PORTAL_API_KEY. Wrong / missing key → portal rejects pushes with 401 and shows stale data.

What clients see

Branding

Override the logo + accent colour via Helm values:

branding:
  companyName: "Acme Corp"
  logoUrl: "https://acme.corp/logo.svg"
  accentColor: "#0066cc"

Data retention

The portal stores 90 days of 5-minute snapshots in its bundled SQLite. Older data is rolled up to hourly buckets and kept for 1 year. Tune with retention.rawDays and retention.aggregateDays.

Full values reference

helm show values itops/sla-portal