Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 849863

Summary: app-containers/podman: example registries configuration seemingly broken/unsuitable for distribution
Product: Gentoo Linux Reporter: John Helmert III <ajak>
Component: Current packagesAssignee: Zac Medico <zmedico>
Status: RESOLVED FIXED    
Severity: normal Keywords: PullRequest
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/33030
Whiteboard:
Package list:
Runtime testing required: ---

Description John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2022-06-05 19:57:37 UTC
podman has postinst elog messages instructing users to copy the example configuration into /etc/containers/registries.conf:

    elog "You need to create the following config files:"
    elog "/etc/containers/registries.conf"
    elog "/etc/containers/policy.json"
    elog "To copy over default examples, use:"
    elog "cp /etc/containers/registries.conf{.example,}"
    elog "cp /etc/containers/policy.json{.example,}"

The installed example configuration comes from https://github.com/containers/podman/blob/main/test/registries.conf

Attempting to use this registries.conf seems to not work as expected:

# podman system reset -f && cp /etc/containers/registries.conf{.example,}
# podman pull registry
✔ docker.io/library/registry:latest
Trying to pull docker.io/library/registry:latest...
Error: initializing source docker://registry:latest: reading manifest latest in quay.io/libpod/registry: manifest unknown: manifest unknown

However, this is successful if each of the [[registry]] sections are commented out in /etc/containers/registries.conf, which seems to be roughly similar to Debian's default registries.conf. Further, I'm not sure a configuration from the 'tests' directory is suitable for distributions to ship as "default" configuration (as an example, this configuration references a local registry for testing purposes: https://github.com/containers/podman/blob/main/test/registries.conf#L21). Am I missing something here?
Comment 1 shaun 2023-07-28 11:33:08 UTC
After having an issue pulling an image with the default registry configuration on Gentoo I posted an issue on the upstream podman github (I will link it soon but my account is still new sorry!).

I was told this was not the default used in Fedora but rather it is used for testing in the upstream CI.  Therefore it makes sense that this isn't used for distributions and instead different defaults should be used.

Can the default registries.conf file be changed so no one has to go through this troubleshooting to be able to pull their containers?

I found the default Fedora registries.conf by searching for "Fedora registries.conf".

I believe the issue is because the defaults used in the upstream CI uses the google mirror mirror.gcr.io in order to avoid hitting the rate limits on docker hub.  Unfortunately the mirror is unsuitable for distribution as not everything is cached there.

Can we change the default registries.conf to the same as other distributions please?  Thank you!
Comment 2 shaun 2023-07-30 02:47:00 UTC
Added on to my last post https://github.com/containers/podman/issues/19409 is the issue i posted upstream.

Both debian and arch wiki pages on podman suggest adding a line as follows and creating the file manually

echo 'unqualified-search-registries=["docker.io", "quay.io"]' > $HOME/.config/containers/registries.conf

The default example is likely to confuse idiots like me otherwise when it doesn't always work.
Comment 3 Larry the Git Cow gentoo-dev 2023-09-25 03:45:22 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=275aeff423d63b6cdde5b508f59d5af5248f16c0

commit 275aeff423d63b6cdde5b508f59d5af5248f16c0
Author:     Rahil Bhimjiani <rahil3108@gmail.com>
AuthorDate: 2023-09-24 10:49:19 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2023-09-25 03:45:17 +0000

    app-containers/podman: add 4.5.0-r1
    
    few improvements to ebuild.
    1) use shell-completion.eclass replacing bash-completino-r1
    2) add app-containers/containers-common as dep & adjust other deps
    3) dont install seccomp.json,policy.json,registries.conf as it is
    installed by containers-common
    4) removed non-amd64 keywords as containers-common is only available on
    amd64 for now
    
    I'll soon be working on podman version bump with  live version too.
    
    Closes: https://github.com/gentoo/gentoo/pull/33030
    Closes: https://bugs.gentoo.org/902569
    Closes: https://bugs.gentoo.org/849863
    Closes: https://bugs.gentoo.org/914597
    
    Signed-off-by: Rahil Bhimjiani <rahil3108@gmail.com>
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 .../containers-common-0.56.0-r1.ebuild             |  68 ++++++++++
 app-containers/podman/podman-4.5.0-r1.ebuild       | 149 +++++++++++++++++++++
 2 files changed, 217 insertions(+)