===DEPLOYMENT_PIPELINE_CONFIG===
META:
  TYPE::TOOL_CONFIG
  VERSION::"1.0"
  STATUS::ACTIVE
  DESCRIPTION::"Deployment pipeline tool configuration for multi-stage CI/CD workflows"
PIPELINE:
  NAME::octave-deploy
  TRIGGER::[
    push_to_main,
    manual_dispatch,
    tag_release
  ]
  STRATEGY::BLUE_GREEN
STAGES:
  BUILD:
    TOOL::docker
    IMAGE::"node:20-alpine"
    STEPS::[
      install_deps,
      lint,
      typecheck,
      test,
      build_artifact
    ]
    CACHE::[node_modules,dist]
  TEST:
    TOOL::"jest+playwright"
    COVERAGE_THRESHOLD::90
    GATES::[
      unit,
      integration,
      e2e
    ]
    FAIL_FAST::true
  DEPLOY:
    TOOL::kubectl
    CLUSTER::prod-k8s
    NAMESPACE::octave-prod
    ROLLOUT_STRATEGY::ROLLING
    MAX_UNAVAILABLE::0
    MAX_SURGE::1
    HEALTH_CHECK::"/health"
    TIMEOUT::"300s"
ENVIRONMENTS:
  DEV:
    AUTO_DEPLOY::true
    APPROVAL_REQUIRED::false
    REPLICAS::1
  STAGING:
    AUTO_DEPLOY::true
    APPROVAL_REQUIRED::false
    REPLICAS::2
  PROD:
    AUTO_DEPLOY::false
    APPROVAL_REQUIRED::true
    APPROVERS::[lead_engineer,ops_team]
    REPLICAS::3
NOTIFICATIONS:
  ON_SUCCESS::slack_channel_deploys
  ON_FAILURE::[slack_channel_alerts,pagerduty]
  ON_ROLLBACK::[pagerduty,email_ops]
===END===
