feat(plugins): canary tier filter for /admin/plugin-updates/:id/apply #115
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Plugin updates today fan out as the operator runs install commands per-workspace. When a queued update from #4 is approved (#2), we need a structured rollout: canary tier first, soak time, then production tier — not a 'paste this curl loop and YOLO' shape.
Proposed approach
POST /admin/plugin-updates/:id/apply(from #4) accepts a tier filter:tier: "canary"— applies to workspaces taggedcanaryin the workspaces table (a newupdate_tiercolumn added in the same migration as #4).tier: "production"— applies to all production-tagged workspaces.tier: "all"— applies to everything (for emergency fixes only).Default workspace tier on creation:
production(so existing customers default-safe). Synthetic staging workspaces getcanarytier explicitly.Operator workflow:
POST /admin/plugin-updates/:id/apply -d '{"tier":"canary"}'POST /admin/plugin-updates/:id/apply -d '{"tier":"production"}'Acceptance criteria
update_tiercolumn toworkspaces(default"production")/admin/plugin-updates/:id/applyacceptstierfield; rejects invalid valuesforce: trueallOut of scope
Refs