Create an analysis
UpgradeAnalysis is cluster-scoped — it has no namespace. Only targetVersion is required, and it must be higher than the cluster's version.
Upgrade analysis is off by default. With it off, an UpgradeAnalysis stays on Analyzing and never finishes. Turn it on in the Helm release:
helm upgrade mirops oci://ghcr.io/miropshq/charts/mirops --namespace mirops \
--reuse-values --set upgrade.enabled=true
An analysis is about what depends on the target version — add-on compatibility, removed APIs, what would stall a node drain — plus the readiness score and the verdict. For the cluster's current state, look at the ClusterMirror.
The simplest form
apiVersion: mirops.mirops.io/v1
kind: UpgradeAnalysis
metadata:
name: to-1-35
spec:
targetVersion: "1.35"
kubectl apply -f analysis.yaml
kubectl describe upgradeanalysis to-1-35 # decision, score, reason, blockers
A fuller example
apiVersion: mirops.mirops.io/v1
kind: UpgradeAnalysis
metadata:
name: to-1-35
spec:
targetVersion: "1.35"
scoringProfile: production # production (strict) | non-production (lenient)
scope:
mode: application # all (default) | application (skip system namespaces)
excludeNamespaces: [monitoring]
source:
type: file # file | s3 | blob | pvc
resync:
interval: "30m" # re-run automatically; empty = run once
See the full field list in the CRD reference.
Re-running an analysis
-
Change the spec — any edit triggers a fresh analysis.
-
Refresh in place — bump the
mirops.io/refreshannotation (this is what the Web UI's Re-analyze button does):kubectl annotate upgradeanalysis to-1-35 mirops.io/refresh="$(date +%s)" --overwrite -
On a schedule — set
resync.interval. The operator re-analyzes each interval and skips the AI call when the cluster snapshot hasn't changed.
Choose a report destination
The default file destination is served over HTTP in-cluster, as <name>.mirops. For durable, shareable reports, use a remote destination (S3/Blob/PVC) — the same source block a ClusterMirror uses.
Next
- Read the report from the CLI or a remote store.
- Gate CI on the verdict.