Skip to content

chore(security): approve a newer canonical manifest-publisher revision so the shared configuration can update #4713

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

The shared automation repository publishes its configuration release through its own manifest-publishing workflow, pinned to the release v7.2.10. Dependabot proposes moving that pin to v7.9.0 (devantler-tech/.github#562), and the update fails its publishing-contract check on purpose: the cluster accepts configuration releases from the canonical publisher only when they are signed at the one reviewed revision this repository approves, which is still the v7.2.10 commit (k8s/bases/apps/github-config/oci-repository.yaml). Merging the update first would publish releases the cluster rejects, with nothing failing in the publishing repository.

The earlier tracking issue (#4502) covered accepting the canonical publisher at all and is closed. Nothing tracks moving the approved canonical revision forward, and the generated approvals list (scripts/publish-workflow-approved-revisions.tsv) does not add it.

Problem

The shared automation repository cannot adopt eight minor releases of its own publishing workflow, and its update PR stays open and red, until this repository approves a newer canonical revision.

Hypothesis

Approving the newer reviewed revision alongside the current one, deploying that, and only then moving the pin lets the publisher update with no window in which the cluster rejects a release.

Acceptance criteria

  • The verifier for the shared configuration release accepts the newer reviewed canonical revision in addition to the current one; every existing approval is kept.
  • The change is deployed through the normal queue and the configuration source still reports ready.
  • chore(deps): bump devantler-tech/.github/.github/workflows/publish-manifests.yaml from 7.2.10 to 7.9.0 .github#562 (or its successor) then moves the pin and the pinned value in its publishing-contract test together, and the next configuration release is accepted by the cluster.
  • Decide whether later canonical revisions should be approved by the same generated list that handles the other publishers, so this does not need a hand-made change each time.

Depends on

A working production deploy path (the recovery in #4709 / #4710).

Activity

  1. added theissue type on Oct 10, 2026
  2. added 3 commits that reference this issue on Oct 11, 2026
  3. devantler commented on Oct 12, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Both halves are merged; one observation is left.

    Still to observe: that merge did not cut a new .github version (latest is still v7.9.3), so nothing has been published with the new signer yet. On the next .github version tag I read the github-config source back on production; Ready on the new version closes this issue. If it is rejected instead, the fallback is unchanged: the old revision is still accepted, so reverting the pin restores publishing.

  4. added a commit that references this issue on Oct 12, 2026
  5. devantler commented on Oct 12, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Observed on production (10:09 UTC, 2026-10-12): the new signer works. Closing.

    • .github v7.9.4 was released at 09:17 UTC, the first version published since the pin moved.
    • The github-config source on production is Ready on 7.9.4 (digest sha256:9f1b19de…), with its current settings observed.
    • The updater's own record (chore(security): regenerate the approved publish-workflow revisions #4791) resolves that release's signing identity to the shared publishing workflow at the new revision 63c59062, so the release was accepted through the newly approved revision, not the old one.
    • All five Flux kustomizations are Ready on one revision.

    Nothing further is owed here.

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

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions