Skip to content

Image registries#17680

Draft
nmezhenskyi wants to merge 75 commits intocanonical:mainfrom
nmezhenskyi:image-registries
Draft

Image registries#17680
nmezhenskyi wants to merge 75 commits intocanonical:mainfrom
nmezhenskyi:image-registries

Conversation

@nmezhenskyi
Copy link
Copy Markdown
Contributor

@nmezhenskyi nmezhenskyi commented Feb 18, 2026

This PR introduces LXD image registries feature.

This includes the following new API endpoints:

  • GET /1.0/image-registries
  • GET /1.0/image-registries/<name>
  • GET /1.0/image-registries/<name>/images
  • POST /1.0/image-registries
  • POST /1.0/image-registries/<name>
  • PUT /1.0/image-registries/<name>
  • PATCH /1.0/image-registries/<name>
  • DELETE /1.0/image-registries/<name>

It also adds two new project-level configuration keys:

  • restricted.registries - Comma separated list of allowed image registries for use in a project.
  • restricted.images.publish - Option to restrict or allow creating public images in a project.

Depends on the Cluster links PR #17554.

@github-actions github-actions bot added Documentation Documentation needs updating API Changes to the REST API labels Feb 18, 2026
@nmezhenskyi nmezhenskyi force-pushed the image-registries branch 18 times, most recently from 8c6ea26 to 00e7731 Compare February 25, 2026 01:48
@nmezhenskyi nmezhenskyi force-pushed the image-registries branch 6 times, most recently from b7e8386 to 1cb86b7 Compare February 26, 2026 17:12
tomponline added a commit that referenced this pull request Feb 26, 2026
While working on the Image registries
#17680 I've noticed that we don't
close the HTTP response body in the `shared.GetRemoteCertificate()`
function. This PR fixes this.
@nmezhenskyi nmezhenskyi force-pushed the image-registries branch 2 times, most recently from 1648a77 to e25fb65 Compare March 3, 2026 22:16
This ensures that built-in image registries are created during LXD initialization.

Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
This change contains a database migration patch to
update the schema and populate the tables with built-in
image registries.

Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
…r image registry permissions

Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
ConnectImageRegistry is a convenience function that connects to the image registry's
underlying image server based on its protocol and authentication requirements.
It returns an initialized `client.ImageServer` instance ready for use.

Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Signed-off-by: Nikita Mezhenskyi <nikita.mezhenskyi@canonical.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API Changes to the REST API Documentation Documentation needs updating

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants