Skip to main content
sureops can be deployed to any Kubernetes cluster using the official Helm chart. This guide covers prerequisites, chart installation, values configuration, and secrets management.
Self-hosting is available on sureops Enterprise. Contact sales@sureops.ai for licensing details and image registry credentials before starting this guide.

Prerequisites

Before installing the chart, verify you have:
  • Kubernetes 1.25 or later
  • Helm 3.10 or later
  • A PostgreSQL 14+ database (external recommended for production; in-cluster available for development)
  • Image pull credentials for the sureops container registry (registry.sureops.ai)
  • A valid sureops Enterprise license key

Add the Helm repository

Verify the chart is available:

Image pull secret

sureops images are hosted in a private registry. Create an image pull secret in your target namespace before installing:
The chart expects this secret to be named sureops-registry by default (configurable via global.imagePullSecrets).

Create the sureops secret

The chart expects a Kubernetes secret named sureops-secret with the following keys:
If you manage secrets out-of-band (External Secrets Operator, Sealed Secrets, Vault), set secrets.externalManaged: true in your values file and create the sureops-secret through your preferred mechanism.

Minimal values file

Create a values.yaml for your deployment. Start with the minimum required overrides:
For production deployments, also set resource limits and replica counts appropriate for your cluster — see the Values reference below.

Install the chart

Verify all pods come up:
Expected pods: sureops-api-*, sureops-agent-worker-*, and optionally sureops-frontend-*.

Upgrade

To upgrade to a specific chart version:

Values reference

API server

Agent worker

PostgreSQL

Frontend

Set frontend.enabled: false if you serve the frontend from a CDN or external host.

Ingress

Secrets


Production checklist

Before running in production:
1

Use an external PostgreSQL database

Set postgresql.enabled: false and configure postgresql.external.*. An in-cluster database is not suitable for production — it has no HA and no managed backup.
2

Configure TLS

Set up TLS termination via your ingress controller and cert-manager, or a load balancer in front of the cluster. sureops must be served over HTTPS.
3

Tune resource limits

Adjust api.resources and agentWorker.resources based on your expected incident volume. Agent workers are CPU and memory intensive during active incident resolution.
4

Enable pod disruption budgets

For high-availability deployments, configure PodDisruptionBudgets to ensure at least one replica remains available during rolling updates.
5

Set up log aggregation

All sureops components log to stdout in JSON format. Route logs to your preferred aggregation stack (Loki, OpenSearch, or any log sink that accepts JSON over stdout).
6

Configure backups for PostgreSQL

Ensure your external PostgreSQL instance has point-in-time recovery or regular backups configured. sureops stores all incident data, agent checkpoints, and audit logs in the database.

Uninstall

This removes all Kubernetes resources created by the chart but does not delete the sureops namespace or the sureops-secret. Delete those manually if needed. Your external PostgreSQL database and data are not affected by uninstalling the chart.

  • Give feedback — report issues with the chart or request new configuration options