Skip to content

security(supply-chain): generate the per-consumer approved-revision sets for the shared publish workflowsΒ #3550

Description

@devantler

πŸ€– Generated by the Agentic Engineer

Part of #3308 (first child).

Evidence

#3308 established the applied signing revision of all four per-consumer artifacts by observation (prod OCIRepository.status.artifact.revision β†’ signing certificate SAN, or the tag-exact publishing run's referenced_workflows), and that each consumer's uses: pin moves on every devantler-tech/actions bump. Nothing computes the per-consumer approved set from those two inputs; report-publish-workflow-signing-revisions.sh reports the pair but emits no consumable artifact.

Audience / impact

Whoever narrows the four OCIRepository cosign matchers (#3308) needs a generated, reviewable set to narrow to; without it the set is hand-written, which #3308 rules out.

Expected

A script derives, per consumer, {applied-signer-sha, consumer-main-pin-sha} and writes a committed data file (one row per consumer, both full 40-hex revisions, the applied tag and digest they were observed on, and the observation date). Inputs: the existing report for the pin, plus the applied-revision observation β€” the OCIRepository status where a kubeconfig is available, falling back to the tag-exact πŸš€ CD run's referenced_workflows for consumers whose package the credential cannot read. It fails closed on any consumer it cannot resolve (identity floor, as the report already does), and it changes no matcher.

Acceptance criteria

  • Generated file committed; regenerating on the same inputs is byte-identical.
  • Every consumer row carries both revisions; a set of one is refused with the consumer named.
  • A test proves a consumer the generator cannot resolve fails the run rather than being omitted.
  • No cosign subject changes in this PR.

Rough size: M.

Activity

  1. moved this to πŸ“₯ Backlog in 🌊 Project Boardon Sep 3, 2026
  2. coderabbitai commented on Sep 3, 2026

    @coderabbitai
    Contributor
    ⚠️ Possible Duplicate Issue(s)

    πŸ“ Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    πŸ§ͺ Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    πŸ’¬ Have feedback or questions? Drop into our discord!

  3. self-assigned this
    on Sep 3, 2026
  4. added a commit that references this issue on Sep 3, 2026
  5. moved this from πŸ“₯ Backlog to πŸ‘€ In Review in 🌊 Project Boardon Sep 3, 2026
  6. moved this from πŸ‘€ In Review to βœ… Done in 🌊 Project Boardon Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

No fields configured for Security.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions