types.RolloutSpec
Auto-promote canary rollouts
Canary-specific settings
Percentage of canary nodes
health_check object
HealthCheck defines health check configuration (required for rolling/canary, ignored for immediate)
Deadline is the maximum time to wait for an execution to become healthy (required)
Possible values: [-9223372036854776000, 9223372036854776000, 1, 1000, 1000000, 1000000000, 60000000000, 3600000000000, 10000000000]
FailureThreshold is the number of consecutive unhealthy intervals before the execution is considered unhealthy (optional, default: 3)
Interval is the duration of each health evaluation window (optional, default: 10s) Error rate is calculated per interval, not lifetime.
Possible values: [-9223372036854776000, 9223372036854776000, 1, 1000, 1000000, 1000000000, 60000000000, 3600000000000, 10000000000]
MaxErrorRate is the maximum error rate allowed during health checks (optional, default: 0.10) Pointer because we need to distinguish nil (use default) from explicit 0.0
SuccessThreshold is the number of consecutive healthy intervals before the execution is considered healthy (optional, default: 2)
MaxFailedNodes is the maximum number of failed nodes before stopping (optional, default: 10)
MaxFailedNodesPercent is the maximum percentage of failed nodes before stopping (optional, default: 10.0)
MaxParallel is the maximum percentage of nodes to update in parallel (0-100) For immediate strategy: this value is ignored (all nodes updated simultaneously) For rolling/canary: controls wave size as percentage of total nodes (default: 10 if not specified) Examples: 10 = 10% of nodes per wave, 50 = 50% of nodes per wave, 100 = all nodes at once
NoAutoRollback disables automatic rollback on rollout failure (default: false = auto-rollback enabled)
Strategy: immediate|rolling|canary
Possible values: [immediate, rolling, canary]
{
"auto_promote": true,
"canary_count": 0,
"canary_percent": 0,
"health_check": {
"deadline": -9223372036854776000,
"failure_threshold": 0,
"interval": -9223372036854776000,
"max_error_rate": 0,
"success_threshold": 0
},
"max_failed_nodes": 0,
"max_failed_nodes_percent": 0,
"max_parallel": 0,
"no_auto_rollback": true,
"strategy": "immediate"
}