Replace your Deployment manifest with an `argo-rollouts` Rollout resource; set `spec.strategy.canary` with steps defining weight increments (e.g., 10%, 30%, 50%)
Define an AnalysisTemplate that queries a Prometheus metric (e.g., error rate or latency p99) and specifies success/failure thresholds
Reference the AnalysisTemplate in the Rollout via an `analysis` step so each weight increment triggers an automated measurement window
Update the container image to kick off a rollout; monitor progress with `kubectl argo rollouts get rollout <name> --watch`
If analysis passes all steps, the rollout promotes to 100% automatically; on failure it rolls back to the stable revision
Use `kubectl argo rollouts promote <name>` to manually advance a paused step during staged rollouts
Known gotchas
Argo Rollouts requires a supported traffic management integration (Nginx ingress, Istio, ALB, etc.) for fine-grained weight splitting; without it, weights are approximated by replica counts
AnalysisTemplate metric queries run from the controller — ensure the controller's ServiceAccount has network access to Prometheus and that the query returns a scalar
Converting an existing Deployment to a Rollout in-place requires deleting the Deployment (or patching it) because both resources manage the same ReplicaSets; plan a brief cutover
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp