Skip to content

Install and wire the containerd image verifier on every node #3335

Closed as not planned
Closed as not planned

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

Per #3101, bin_dir is configured nowhere and no verifier binary exists on any node, so containerd's documented fail-open applies and the ImageVerificationConfig rules are inert.

Expected outcome

The verifier binary is present and bin_dir is configured and non-empty on every node, delivered by the mechanism the Spike selects, through the repository's normal declarative path — never by hand on a node.

Acceptance criteria

  • Delivery uses the mechanism recorded on the Spike, applied declaratively; no node is configured imperatively.
  • bin_dir is configured and the directory is non-empty on every node, verified by reading the live nodes rather than inferred from the manifest.
  • scripts/validate-image-verifier-liveness.sh reports OK for the whole fleet.
  • The rollout is sequenced against the merge queue, since it requires a node rollout.

Blocked by

  • The Spike, which decides the delivery mechanism — building before it is answered would be unwound.
  • The sign-or-scope inventory, which is what keeps this rollout from converting latent violations into a fleet-wide ImagePullBackOff.

Part of #3101.

Activity

  1. moved this to 📥 Backlog in 🌊 Project Boardon Aug 23, 2026
  2. devantler commented on Aug 24, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Closing: there is no verifier to install, and this issue's acceptance criterion is unreachable

    The Spike this was blocked by — #3333 — is answered, and the answer removes this issue's subject
    rather than deciding its shape.

    Measured independently against admin@prod on 2026-08-24 (full evidence on #3333): image
    verification on Talos v1.13 is implemented by Talos itself, via
    security.ImageVerificationConfigController (which materialises the rules into phase: running
    resources on every node) and security.TUFTrustedRootController (which maintains a live Sigstore TUF
    trust root, version 6, refreshed 2026-08-22). The io.containerd.image-verifier.v1.bindir plugin is
    not the mechanism here: no bin_dir is configured in any file under /etc/cri/conf.d, yet the rules
    are demonstrably not inert.

    That makes this issue's central acceptance criterion —

    bin_dir is configured and the directory is non-empty on every node

    — not an unmet target but an unreachable one. It would stay false on a cluster that is verifying
    images perfectly, because nothing in the supported design ever populates it. Delivering this issue as
    written would mean building an external-binary delivery path (schematic or extension) that duplicates
    a subsystem Talos already runs, and then asserting a condition the platform does not produce.

    Nothing is lost by closing it. The two things this issue was really protecting are both still
    tracked:

    I have re-pointed #3336's dependency from this issue to #3108, so the chain stays intact.

    Closing as not planned — invalidated premise, not abandoned work.

  3. moved this from 📥 Backlog to ✅ Done in 🌊 Project Boardon Aug 24, 2026
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

    Fields

    No fields configured for Security.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions