Getting Started
From zero to a working ITOps dashboard in under 10 minutes.
What you get
- One dashboard for every service, every cluster, every bare-metal host.
- Real uptime numbers, not guesses — calculated from 5-minute snapshots.
- Auto-incident detection, ticket creation, SLA reports.
- GitOps-managed: every service declared in one
it-ops.yamlConfigMap. - Self-hosted: your data never leaves your infrastructure.
Architecture (60 seconds)
your clusters platform (1 namespace) dashboards
+---------+ +------------------+ +---------+
|cluster 1| -- agent ------> | itops-core (API) | <-- UI -----> | admins |
|cluster 2| -- agent ------> | itops-ui | | |
|bare mtl | -- push --------> | postgres | <-- portal --| clients |
+---------+ +------------------+ +---------+
One central platform, one agent per cluster, HTTP push for anything non-K8s. Services land under a 5-level hierarchy (organization/platform/environment/cluster/service) so naming collisions between clusters are impossible.
Three steps to live
1. Install the platform
helm repo add itops https://charts.mlops.hu
helm repo update
helm install itops itops/itops -n itops --create-namespace
Deploys core API, UI, and bundled PostgreSQL. Default login: admin / Password123!. Expose externally by setting ingress.hosts[0].host and uiIngress.hosts[0].host. See Installation.
2. Connect a cluster (agent)
helm install itops-agent itops/itops-agent \
--set node.id="myorg/myplatform/prod/cluster1" \
--set itops.url="https://api.yourdomain.com" \
--set itops.apiKey.value="<OPERATOR_API_KEY>" \
-n itops --create-namespace
node.id is the 4-level prefix for everything this cluster owns. The agent watches every namespace listed in watch.namespaces (default: all). See Agent Deploy.
3. Declare a service
# Inside any of your app's Helm charts:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-app-itops
labels:
itops.io/config: "true" # REQUIRED — agent discovers by this label
data:
it-ops.yaml: |
path: "myorg/myplatform/prod/cluster1/my-app"
One line. The service appears in the Operations Catalog within 30 seconds. Add slaGroup, backup, health, etc. to unlock more features. See GitOps Schema for the full reference.
Non-Kubernetes services
Bare-metal hosts, external S3 buckets, RDS instances — skip the ConfigMap and push directly:
curl -X POST https://api.yourdomain.com/api/v1/health/report \
-H "X-API-Key: $OPERATOR_API_KEY" \
-d '{
"path": "myorg/infra/prod/baremetal/galera-node1",
"status": "OPERATIONAL",
"criticality": "critical",
"slaGroup": "database-cluster",
"tags": ["database","baremetal"]
}'
First push auto-creates the service and the hierarchy node. See Push Endpoints.
Where to look next
- GitOps Schema — the full
it-ops.yamlreference. - Agent Deploy — every agent Helm value explained.
- Push Endpoints — health / storage / backup webhooks.
- API — GraphQL schema + full REST catalog.
- Live demo — play with the UI before committing.