Skip to content

Conversation

@shanduur
Copy link
Member

@shanduur shanduur commented Oct 3, 2025

talosctl includes two new subcommands talosctl image registry create and talosctlimage registry serve.

  • talosctl image registry create allows creating a local OCI image registry containing Talos images for speeding up installations, upgrades, and deployments in air-gapped environments.

  • talosctl image registry serve allows serving the created OCI image registry over HTTP. It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the create command.

Fixes #11928
Fixes #11929

Signed-off-by: Mateusz Urbanek [email protected]

@github-project-automation github-project-automation bot moved this to To Do in Planning Oct 3, 2025
@shanduur shanduur changed the title feat tegistry feat: add static registry to talosctl Oct 3, 2025
@shanduur shanduur force-pushed the feat-tegistry branch 5 times, most recently from acc75fd to 0769412 Compare October 6, 2025 10:37
@shanduur shanduur marked this pull request as ready for review October 6, 2025 10:59
@talos-bot talos-bot moved this from To Do to In Review in Planning Oct 6, 2025
@shanduur shanduur force-pushed the feat-tegistry branch 2 times, most recently from 120de1a to 67fdcd1 Compare October 6, 2025 13:16
@shanduur shanduur requested a review from frezbo October 7, 2025 08:15
@shanduur shanduur force-pushed the feat-tegistry branch 2 times, most recently from f4fecc3 to 17e3d88 Compare October 7, 2025 12:57

var err error

digest, err = crane.Digest(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should find a signature for the exactly same digest as we mirror, to close the gap between resolving a tag and fetching a signature

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I've fixed it to what you've meant.

@smira
Copy link
Member

smira commented Oct 8, 2025

As another question more higher level:

  • we already have image pull process for image cache
  • we already have registryd which can serve such image cache as a registry

Do we need to pull another/incompatible way with olareg? Can we unify both paths?

With image cache e.g. we already solved the problem of running on non-Linux and being able to handle paths with something like foo.bar:5000

@shanduur
Copy link
Member Author

shanduur commented Oct 8, 2025

registryd is not OCI compatible and I'm not sure how to test it (even manually) - I can't just crane pull from it - we need a custom client for tests. This might cause friction for users in the future. Additionally registryd is not able to handle multi-arch manifests as of now, which are required for image factory (unless we don't want to distribute image factory using the cache). Olareg is just compliant plug-and-play option.

@shanduur
Copy link
Member Author

Alternative approach using image cache and registryd: #12014

@smira
Copy link
Member

smira commented Oct 13, 2025

registryd is not OCI compatible and I'm not sure how to test it (even manually) - I can't just crane pull from it - we need a custom client for tests. This might cause friction for users in the future. Additionally registryd is not able to handle multi-arch manifests as of now, which are required for image factory (unless we don't want to distribute image factory using the cache). Olareg is just compliant plug-and-play option.

I think registryd is dumb enough that it doesn't care what it serves :) So it should serve multi-arch as long as the directory contains multi-arch.

If crane fails to pull from it, we could try to fix it?

But my point is not to have two implementations, but rather just one (if we can).

@shanduur shanduur marked this pull request as draft October 14, 2025 11:38
@shanduur shanduur closed this Oct 15, 2025
@github-project-automation github-project-automation bot moved this from In Review to Done in Planning Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Serve a static read-only image registry Create a repository of images from the list

4 participants