Skip to content

roll a single component back independently #294

Description

@joshua-temple

Problem / why

Rollback uses a global Previous ring and a global rollback ref namespace
(internal/rollback/rollback.go). For a multi-component manifest, rolling back one component
must not affect siblings.

Scope (firm intent, to be refined after P1)

  • Per-component Previous ring under state.components[comp][env].
  • Segment the rollback ref namespace per component: RollbackRefPrefix becomes
    rollback/<comp>/<env>.
  • Port the rollback Apply overlay to component-major.

Files / areas touched

  • internal/rollback/rollback.go.

Tests and coverage required

  • e2e: rolling back A leaves B's state and refs untouched.
  • A single-component regression test that rollback is unchanged.

Acceptance criteria

  • A per-component rollback touches only that component's ring, refs, and state subtree.
  • Single-component rollback is unchanged.

Dependencies

Blocked by the independent promotion milestone. Can land alongside R1.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions