1 Reply
Have created a Quadlet configuration which can act as a pull-through cache for images hosted in multiple registries (Quay, GHCR, Docker Hub etc)
Not checked if you can pull signed images through it yet, but I don't see why not
The config file is a bit wierd. It cannot live in
This is why there's a pre-start step which copies it to the home directory where user systemd services have sufficient permissions And the main config file which allows you to pull through the registries To add more registries, just add items to the YAML list And finally, to pull an image through Zot (even before it's loaded into Zot), you can run It will show no output at first, but it's first being loaded into Zot. Once it's fully loaded in Zot, you then start downloading it from the local registry All three files can be found in this repo https://github.com/rsturla/eternal-images/blob/main/lumina/files/usr/etc/containers/systemd/users/zot.container https://github.com/rsturla/eternal-images/blob/main/lumina/files/usr/etc/containers/systemd/users/zot.volume https://github.com/rsturla/eternal-images/blob/main/lumina/files/usr/etc/containers/systemd/users/_config/zot-config.yaml So when running an ostree-native container in a VM, I guess you'd replace localhost with your host's IP on the VM network and you're good to go
/etc
because Zot watches it for configuration changes, and that throws permission errors.This is why there's a pre-start step which copies it to the home directory where user systemd services have sufficient permissions And the main config file which allows you to pull through the registries To add more registries, just add items to the YAML list And finally, to pull an image through Zot (even before it's loaded into Zot), you can run It will show no output at first, but it's first being loaded into Zot. Once it's fully loaded in Zot, you then start downloading it from the local registry All three files can be found in this repo https://github.com/rsturla/eternal-images/blob/main/lumina/files/usr/etc/containers/systemd/users/zot.container https://github.com/rsturla/eternal-images/blob/main/lumina/files/usr/etc/containers/systemd/users/zot.volume https://github.com/rsturla/eternal-images/blob/main/lumina/files/usr/etc/containers/systemd/users/_config/zot-config.yaml So when running an ostree-native container in a VM, I guess you'd replace localhost with your host's IP on the VM network and you're good to go