Skip to content

ci(security): run the image verifier liveness check daily - #3782

Merged
devantler merged 2 commits into
mainfrom
claude/ci-image-verifier-liveness-schedule-3336
Sep 13, 2026
Merged

devantler merged 2 commits into
mainfrom
claude/ci-image-verifier-liveness-schedule-3336

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The check that node image signature enforcement is still working only ran when someone started it by hand. The refusal probe has now shown a real node refusing an unsigned image while pulling a signed one, so a daily run gives a meaningful regression signal instead of noise.

What

Runs the liveness check and the signature inventory every day at 04:43 UTC, the quietest hour for production deploys. They can still be started by hand. A new test in the required CI job fails if the daily run is removed, made less frequent, or skipped by a job condition.

Operational note: the issue stays open until the first scheduled run after merge is green.

Part of #3336

🤖 Generated with Claude Code

The refusal probe observed a matched unsigned image being refused at the node
pull layer while a signed control pulled (run 34777101451), so the liveness
and signature-inventory checks now have a meaningful verdict. Restore their
daily schedule at 04:43 UTC, the quietest hour for merge-queue deploys, and
keep workflow_dispatch.

Add an ablated trigger-set test, wired into the required validate job, that
fails if the schedule is dropped or made non-daily, workflow_dispatch is
removed, another trigger is added, a job gains a condition that would skip the
scheduled run, or a job loses environment: prod.

Part of #3336

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Talos image verification patch still said a refused pull had never been
observed, and the liveness workflow header still framed the signature
inventory as deciding whether activation is safe. The probe in #3336 observed
the refusal on a production node on 2026-09-13, so both comments now describe
the current state. Comments only; no rule or value changes.

Part of #3336

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

@devantler I will perform a complete review of pull request #3782.

⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 5 minutes.

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 5 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 95dba650-fe98-4bff-80cb-cb84d3df280f

📥 Commits

Reviewing files that changed from the base of the PR and between f08d6da and fcf9ad9.

📒 Files selected for processing (4)
  • .github/workflows/ci.yaml
  • .github/workflows/validate-image-verifier-liveness.yaml
  • scripts/tests/test-validate-image-verifier-liveness-workflow.sh
  • talos/cluster/verify-first-party-images.yaml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-13T19:50:57.256585Z fcf9ad9 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: fcf9ad9eac

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness at fcf9ad9eac36a520710ead06cabd8c41da0f8ee1

  • Programmatically tested: CI is green at this head (24 passing, 6 skipped), including the Talos machine-config validation. The new test runs in the required CI job and fails if the daily run is removed, made less frequent, or skipped by a job condition.
  • Reviewed: CodeRabbit refused this head with a rate limit (reply 5655659675). Codex then reviewed commit fcf9ad9eac and found no major issues (comment 5655689565). There are no unresolved threads.
  • Tried and evaluated as a user: a schedule can't be exercised before merge, because GitHub only fires scheduled workflows from the default branch. As the user of this check, I confirmed the manual trigger stays in place, so it can still be run by hand. The first scheduled run at 04:43 UTC is the real observation, and Prove an unsigned image is refused at pull, then activate the liveness check #3336 stays open until that run is green.

@devantler
devantler marked this pull request as ready for review September 13, 2026 19:53
@devantler
devantler added this pull request to the merge queue Sep 13, 2026
Merged via the queue into main with commit 065ef33 Sep 13, 2026
30 checks passed
@devantler
devantler deleted the claude/ci-image-verifier-liveness-schedule-3336 branch September 13, 2026 20:07
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Sep 13, 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.

1 participant