Skip to content

feat(thar-be-registries): add configurable capabilities per registry mirror #903

@tim-mcdonald

Description

@tim-mcdonald

Summary

thar-be-registries currently hardcodes ["pull", "resolve"] capabilities for all registry mirror endpoints. This blocks tools like Spegel that require pull-only mirrors. containerd 2.1's transfer service fails when Spegel's DHT hasn't initialized if resolve is also requested.

See the upstream tracking issue: bottlerocket-os/bottlerocket#4710

Proposed change

Add an optional capabilities field to the Mirror settings type and a resolve_capabilities helper in thar-be-registries that maps the configured values to containerd's Capability enum, defaulting to ["pull", "resolve"] when unset for backward compatibility.

Depends on bottlerocket-os/bottlerocket-settings-sdk#134 which adds the capabilities field to RegistryMirrorV1.

I have a PR ready to submit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions