A self-hosted IT operations platform for Kubernetes — and for everything running next to it. One Helm install, and uptime numbers your board can read, measured rather than estimated.
The public demo is offline while we ship the current release. The docs below describe the shipping version.
From service discovery to the SLA report your customer reads — one self-hosted platform, no stitching required.
Uptime is built from 5-minute snapshots and weighted by minutes, so a large service moves the headline number and a small one does not. Error budgets are projected forward: a group reads at risk during the month, not after it. Time the platform could not measure is reported as unknown — never as a silent 100%.
The agent finds your Kubernetes workloads from a labelled ConfigMap and reports their state every 30 seconds. Nothing is registered by hand, so the catalogue cannot drift away from what is in Git.
Incidents, service requests, problems and changes, kept apart so incident MTTR and request fulfilment stop blurring into one number. Priority is derived from impact × urgency, and the priority sets the SLA deadline. Putting a ticket on hold stops the clock automatically.
A standalone page for customers and management: uptime per SLA group, error budget left, incident history and maintenance windows. No login, just a link. When the data is thin, it says so instead of showing green.
Push-based health for virtual machines, bare metal, network appliances and third-party services. Anything that can send one HTTP request lands on the same dashboard as your clusters, with the same SLA maths applied.
Disk usage and backup outcomes arrive over a single webhook — any backup tool can call it — and the platform raises an alert when a backup is overdue. Outgoing webhooks push events to whatever you already run, with SSRF protection on every call.
Every service is identified by a single path: org/platform/env/cluster/service. That is the only required field. Everything else is optional and unlocks one more feature at a time.
# it-ops.yaml in a ConfigMap
path: "mlops-app/itops/prod/eu-west-1/payment-api"
The service appears in the Operations tree, and its Kubernetes workload health starts flowing on its own.
path: "mlops-app/itops/prod/eu-west-1/payment-api"
slaGroup: "payment-system"
SLA measurement switches on. Criticality is inherited from the group's tier, so one line puts the service under a target.
path: "mlops-app/itops/prod/eu-west-1/payment-api"
slaGroup: "payment-system"
dependencies:
requires:
- path: "mlops-app/itops/prod/eu-west-1/payment-db"
critical: true
Every reference is globally unique. This is what the CMDB view renders — in both directions, so “what breaks if this goes down” is a click rather than a guess.
“Start with one line. Grow the config only when you want another feature.”
From an empty namespace to a live SLA dashboard in under five minutes.
Add the chart repository and install into one namespace. The core API, the UI and PostgreSQL come up together — one command, no external dependencies.
Install the agent on each cluster. It reads your service ConfigMaps and pushes status every 30 seconds. Anything outside Kubernetes pushes to the same endpoint over HTTP.
Uptime and error budgets are calculated continuously, and the daily report is generated at 07:00 whether anyone remembers it or not. Share the dashboard internally, or point customers at the status page.
What is an SLA? A Service Level Agreement is a contractual promise about how much of the time your systems will be available. “We guarantee 99.9% uptime” stays abstract until you convert it: it allows at most 43 minutes of downtime per month.
“Your customers expect 99.9%. Can you prove you delivered it?”
Daily, weekly and monthly breakdowns, generated on schedule. No spreadsheet, no month-end scramble.
Kubernetes clusters, virtual machines and bare-metal hosts on a single screen — with the dependencies between them.
Calculating uptime by hand in a spreadsheet stops scaling somewhere around the tenth service. ITOps gives your team live state across every cluster, environment and host, and keeps the history that the state came from.
“Stop calculating uptime by hand in spreadsheets.”
Where ITOps sits next to the monitoring and on-call tools you have probably already priced.
| Feature | ITOps | Datadog | PagerDuty | Uptime Robot |
|---|---|---|---|---|
| Self-hosted | ✓ | ✗ | ✗ | ✗ |
| Kubernetes-native | ✓ | ✓ | ✗ | ✗ |
| SLA tracking & reporting | ✓ | Partial | ✗ | Basic |
| Ticketing built in | ✓ | ✗ | ✗ | ✗ |
| Service discovery | ✓ | ✓ | ✗ | ✗ |
| Bare-metal support | ✓ | ✓ | ✗ | ✗ |
| Public status page | ✓ | ✗ | ✓ | ✓ |
| Licensing model | Free core + paid plugins | Per host, subscription | Per user, subscription | Free tier + subscription |
| Setup time | 5 minutes | Hours | Hours | Minutes |
| Data ownership | 100% yours | Vendor cloud | Vendor cloud | Vendor cloud |
Self-hosted, so your data stays yours. No per-seat surprises.
For small teams getting started
Both plugins, unlimited services
Dedicated support, custom integrations
Deploy in under five minutes. No credit card, no sales call first.