You are in early access. A sureops field engineer is available to help with any step. Click Need help? in the onboarding wizard, or message the support channel — response time during business hours is under one hour.
Before you start
Have these ready before beginning:The five steps
1
Create your environment
The onboarding wizard starts here. An environment is the scope for everything sureops does — telemetry connections, incident history, agent configuration, and alert routing are all tied to one environment.
- Go to Settings → Environments → New environment
- Give it a name that matches your deployment context (e.g.,
production,staging) - Click Create
staging or a non-production cluster before connecting production.2
Connect your observability stack
sureops needs access to your observability data to discover services, understand topology, and diagnose incidents.Option A — Prometheus (direct)
- Go to Settings → Integrations → Prometheus → Connect
- Paste your Prometheus URL and bearer token
- Click Verify — sureops runs a test query to confirm connectivity
- Once verified, click Sync landscape to run the initial service discovery
- Go to Settings → Integrations → Grafana → Connect
- Paste your Grafana URL and a service account token with
querypermissions - Click Verify, then Sync landscape
401 Unauthorized— check that your token has the right scopeConnection timed out— your Prometheus may not be internet-reachable; switch to the Grafana proxy option0 services discovered— enable thekube-state-metricspod-label allowlist (kubeStateMetrics.metricLabelsAllowlist: [pods=[*]]in yourkube-prometheus-stackvalues) and re-sync
3
Connect Slack
sureops creates a dedicated Slack channel for every incident, posts agent updates there, and routes approval requests to your on-call team.
- Go to Settings → Integrations → Slack → Connect with Slack
- Authorize the sureops Slack app on your workspace
- Choose a default channel prefix — sureops creates channels named
#incident-{id}by default - Optionally configure which Slack user groups to notify for P1 vs. P2 incidents
4
Connect GitHub
GitHub integration enables two things: sureops reads your
.sureops/ service contract from your repos, and the resolution agent opens draft fix PRs against your services.- Go to Settings → Integrations → GitHub → Connect with GitHub
- Install the sureops GitHub App on your org — select the repositories you want sureops to have access to
- Tag any repo you want sureops to actively watch with the GitHub topic
sureops-managed
Installation not found— you approved the app install on the wrong org. Re-run the install and select the correct org.No repos with sureops-managed topic— add the topic to at least one repository and run Re-sync in Settings.
5
Add your .sureops/ service contract
The service contract is a YAML file that tells sureops what you know about your services that telemetry alone cannot infer: who owns each service, what tier it is, and where its runbook lives. Agents read this contract before every incident to understand blast radius and who to involve.Auto-generate (recommended for getting started):What “done” looks like: At least one service in Settings → Environment → Landscape shows provenance
- Go to Settings → Environment → Landscape → Generate starter contract
- sureops reads your observed services, deployments, and GitHub CODEOWNERS, then opens a draft PR against your repo with a pre-filled
.sureops/services.yaml - Review the PR — check owners, tiers, and runbook paths — and merge
.sureops/services.yaml in the root of your primary repo. The minimal schema per service is:Customer contract.After you connect
Once all five steps are complete:- Route your alerts to sureops — add a webhook receiver in your Alertmanager pointing at the endpoint shown in Settings → Integrations → Alertmanager. When an alert fires, sureops opens an incident automatically.
- Trigger a test incident — scale a non-production service to zero replicas and watch the full lifecycle run.
- Review routing and escalation — configure who receives P1 HITL approval requests in Settings → Routing.
Trust and data principles
Your raw observability data — logs, traces, and metrics — never leaves your cluster. sureops stores only derived structure: service names, dependency edges, and ownership. Agents pull raw telemetry on demand during an incident and discard it afterward. Your authored service contract always overrides anything sureops infers from telemetry. If you declaretier: 1 for a service, that wins over any automatic classification.
Getting help
If you get stuck:- Click Need help? in the onboarding wizard — this opens a support thread pre-populated with your environment context
- Message the shared Slack support channel with your org name, which step you are on, and what you are seeing
- A sureops field engineer will respond within one business hour during business hours