Gradual Feature Flag Rollout

System ↔ System
6 nodes · 6 edgesproduct
systemapicli
Visual
Enable for 1%system
sequentialMonitor Error Rate (15min)
Monitor Error Rate (15min)api
conditionalExpand to 10%
conditionalEmergency Rollback
Expand to 10%system
sequentialMonitor Error Rate (30min)
Monitor Error Rate (30min)api
conditionalFull Rollout (100%)
fallbackEmergency Rollback
Full Rollout (100%)system
Emergency Rollbackcli
uc-feature-rollout.osop.yaml
osop_version: "1.0"
id: "feature-rollout"
name: "Gradual Feature Flag Rollout"

nodes:
  - id: "enable_1pct"
    type: "system"
    name: "Enable for 1%"
  - id: "monitor_1pct"
    type: "api"
    name: "Monitor Error Rate (15min)"
    timeout_sec: 900
  - id: "enable_10pct"
    type: "system"
    name: "Expand to 10%"
  - id: "monitor_10pct"
    type: "api"
    name: "Monitor Error Rate (30min)"
    timeout_sec: 1800
  - id: "enable_100pct"
    type: "system"
    name: "Full Rollout (100%)"
  - id: "rollback"
    type: "cli"
    name: "Emergency Rollback"
    security:
      risk_level: "high"

edges:
  - from: "enable_1pct"
    to: "monitor_1pct"
    mode: "sequential"
  - from: "monitor_1pct"
    to: "enable_10pct"
    mode: "conditional"
    when: "error_rate < 0.01"
  - from: "monitor_1pct"
    to: "rollback"
    mode: "conditional"
    when: "error_rate >= 0.01"
  - from: "enable_10pct"
    to: "monitor_10pct"
    mode: "sequential"
  - from: "monitor_10pct"
    to: "enable_100pct"
    mode: "conditional"
    when: "error_rate < 0.005"
  - from: "monitor_10pct"
    to: "rollback"
    mode: "fallback"