Skip to content

role_shadows: refuse to allowlist LIVE findings - #2831

Merged
berendt merged 1 commit into
mainfrom
role-shadows-live-guard
Oct 17, 2026
Merged

berendt merged 1 commit into
mainfrom
role-shadows-live-guard

Conversation

@ideaship

Copy link
Copy Markdown
Contributor

role_shadows no longer lets an allowlist entry silence a LIVE finding, meaning one where the role default is what actually deploys. Every role_shadows finding is for an image that base.yml pins, so a silenced LIVE finding leaves the release stating a version that never deploys. A matching entry is now reported on the finding, which stays actionable. The finding names the two real fixes: carry the tag in container-image-osism-ansible's versions.yml.j2, or remove the base.yml pin and allowlist the image under role_unpinned. DORMANT findings can still be allowlisted.

Against current sources the guard reports two findings. Both are allowlisted in src/drift-allowlist.yml today (since 07b5f78):

  • homer: v25.11.1 deployed, v26.4.2 pinned
  • nexus: 3.82.0 deployed, 3.96.2 pinned

The image drift check exits 1 until they are resolved. The fix (carry homer_tag/nexus_tag in container-image-osism-ansible's versions.yml.j2, then drop the two allowlist entries) will follow in a separate PR.

🤖 Generated with Claude Code

A LIVE role_shadows finding means no release transport overrides the
role default, so the role default is what deploys. Every role_shadows
finding is for an image that base.yml pins, so allowlisting a LIVE one
leaves the release stating a version that never reaches a deployment,
and the drift check stays green about it.

role_shadows now applies the allowlist to DORMANT findings only. A LIVE
finding that matches an entry stays actionable and is reported in its
own block: the entry cannot apply. The fix is either to carry the tag
in container-image-osism-ansible's versions.yml.j2, or, for an image
that is role-managed by design, to remove its base.yml pin and
allowlist it under role_unpinned. Because the entry still matches its
finding, it is reported there rather than as a stale entry.

Two driver tests allowlisted the fixture's LIVE findings to get an
advisory-only run. They now pass a --base-dir overlay whose
versions.yml.j2 carries those two aliases, which turns them DORMANT.

Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship
ideaship marked this pull request as ready for review October 14, 2026 04:53
@ideaship ideaship self-assigned this Oct 14, 2026
@ideaship
ideaship requested a review from berendt October 14, 2026 04:53
@ideaship ideaship moved this from New to In review in Human Board Oct 14, 2026
@berendt
berendt merged commit 558f9be into main Oct 17, 2026
3 checks passed
@berendt
berendt deleted the role-shadows-live-guard branch October 17, 2026 15:29
@github-project-automation github-project-automation Bot moved this from In review to Done in Human Board Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants