Skip to content

Run a Move in the Release Gate and record it in ClusterState #336

Closed as not planned

Description

@ExtraToast

Parent

#324

What

Teach the Release Gate to run a Move and record it (chapter 55). This is work in the gate's own repository (JorisJonkers-dev/delivery) and in the Collector's:

  • start the step Jobs in order and hold on any failure; on a failure or an expired delivery.move.timeout after the fence, unfence the source, flip any Stable Address back and hold the release;
  • after the flip, watch every Application with a required edge to the provider and raise an urgent report for one whose readiness does not return within its gate deadline;
  • record the Move's phase and flippedAt in the gate's record; the Collector reads them into ClusterState's instances.

Related: #240 (naming a release's steps in the releaseGate element, so the gate infers none).

Blocked by

#341, the map whose rewrite plan replaces the closed placement ticket #328 (see #350), and #335 (the Jobs the gate starts).

Activity

  1. added
    type: featureNew user-facing or operator-facing capability.
    area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.
    component: deployDeployment pipeline, manifests, or release rollout.
    priority: P2Medium; normal planned work.
    on Oct 9, 2026
  2. added
    status: blockedCannot move forward until an external dependency is resolved.
    on Oct 9, 2026
  3. ExtraToast commented on Oct 27, 2026

    @ExtraToast
    ContributorAuthor

    A contract for this ticket from #334 (PR #650), recorded in chapter 55. The Release Gate keeps target and flippedAt on an Instance's ClusterState record after the source retires, until the old Project stops declaring the Application.

    Composition reads that record to tell a leftover declaration, which renders nothing, from a new Move. If the gate drops those fields at retirement, an old Project that still declares the Application looks like a fresh two-Project declaration again.

  4. ExtraToast commented on Nov 2, 2026

    @ExtraToast
    ContributorAuthor

    Closing as not planned: the maintainer decided (2026-11-02) to remove the Move from the model now that every Project is on the estate path. The Move existed only to carry data across the migration off the previous delivery path. The removal is tracked in #807.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.component: deployDeployment pipeline, manifests, or release rollout.priority: P2Medium; normal planned work.status: blockedCannot move forward until an external dependency is resolved.type: featureNew user-facing or operator-facing capability.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions