Skip to content

Wire blue-green rollout strategy into deployment update flow #498

@temma02

Description

@temma02

Description

BlueGreenSwitcher and RolloutEngine are fully tested in apps/backend/tests/deployment/rollout-strategy.test.ts but are not used in the live update flow. Deployments currently do a hard cutover, which causes brief downtime on updates.

Requirements and context

  • Must be secure, tested, and documented where applicable
  • Should stay reviewable and fit the current monorepo structure
  • Relevant files: apps/backend/tests/deployment/rollout-strategy.test.ts, apps/backend/src/services/deployment-update.service.ts, apps/backend/src/services/vercel.service.ts

Suggested execution

  • Create branch: issue-024-wire-blue-green-rollout-strategy
  • Keep changes scoped to the issue and reference the task IDs in the PR

Implement changes

  • Integrate RolloutEngine into DeploymentUpdateService.executeUpdatePipeline
  • Use BlueGreenSwitcher to manage standby/active Vercel project aliases during promotion
  • Expose a canaryPercent field in the update record so operators can monitor traffic split

Test and commit

  • Add update service tests for: successful promotion, auto-rollback on error rate spike, manual rollback
  • Include a sequence diagram in the PR description showing the traffic shift
  • Edge case: Vercel alias update fails mid-switch — revert to previous alias automatically

Example commit message

feat(deployments): integrate blue-green rollout into update pipeline

Guidelines

  • Prefer small, reviewable PRs
  • Keep naming and data contracts consistent with the spec docs

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave program

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions