Skip to main content

Mirops

What is Mirops

Mirops = mirror + ops (operations).

See what breaks before it does. Mirops keeps a live logical mirror of your Kubernetes cluster — every workload, service, volume and add-on, and what depends on what — so when something fails, or before you change something, you already know its blast radius.

Instead of discovering dependencies during an incident, you reason and decide against the mirror: a model of the cluster that is stable, inspectable, and safe to analyze. What you do with it is operations — see where risk sits, trace what a failure takes down, check a change before it lands.

Why this matters

Most teams learn what depends on what in the middle of an outage. Mirops keeps that map live, so the blast radius is never a surprise. See Why Mirops.

This static illustration provides a quick visual summary of the same flow:

A static overview of Mirops products and the ways teams use the ClusterMirror.

The logo tells the same story as the name. On the left is the live environment — what's running in production, solid and dense. On the right is its mirror — lighter and clearer, the logical model you reason over. And in the middle stands the DevOps engineer, between the two worlds. Together the three strokes form an M — for Mirops.

The Mirops logo: live environment on the left, mirror on the right, the DevOps engineer between them, forming an M

Why mirror first​

A live cluster is a moving target: pods restart, nodes drain, versions drift. Deciding against it directly means deciding against noise. The mirror gives you:

  • A stable snapshot — one consistent picture to reason over.
  • Relationships, not just objects — which workloads depend on which node, add-on, or volume.
  • Propagated risk — a failing component raises the risk of everything that depends on it.
  • Determinism — the same mirror always yields the same answer.

The core: the ClusterMirror​

Mirops rebuilds the mirror continuously and publishes the cluster's current state:

  • What is at risk — components down, pending or lost.
  • The blast radius — everything that depends on each of them.
  • Where risk sits — per namespace, worst first.

You read it every day — in the Web UI, from kubectl, or from a pipeline.

Operations on the mirror​

  • Deploy impact — the manifests or Terraform plan you're about to apply, checked against the mirror in the impact stage of your pipeline. With --enforce the CLI blocks the deploy only when the change would break something running.
  • Upgrade analysis (opt-in) — when an upgrade is coming, turn it on and Mirops reads the same mirror against the next Kubernetes version: add-on compatibility, removed APIs, drain blockers, a 0–100 health score, and a deterministic SAFE, WARNING or CRITICAL verdict with every blocker listed. See readiness and decision.

The pieces​

Mirops ships as a small ecosystem — one engine, several ways to consume it:

PieceWhat it is
OperatorA Kubernetes operator that keeps the mirror up to date — and computes the upgrade verdict when upgrade analysis is on. The engine.
Helm chartInstalls the operator into a cluster.
Web UIA Headlamp plugin that shows the Cluster Mirror — namespace risk, at-risk components, the dependency graph — and the upgrade analyses.
CLIReads the mirror in a pipeline — checks the impact of a deploy, shows a namespace's state, and gates the upgrade on its verdict.
ReportsJSON .mirops files — the mirror's and each upgrade analysis's — written to a file, S3, Azure Blob, or a PVC.
Compatibility matrixA vendor-verified add-on ↔ Kubernetes compatibility source, used by upgrade analysis.

Where to go next​