-
Notifications
You must be signed in to change notification settings - Fork 545
error when merging multi-platform manifest(s) to custom tls config registry after successfully pushing for individual platforms #2476
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
So, updating the system ca trust got me further, i.e.: # runner startup tweaks
sudo ln -vs /etc/docker/certs.d/build.cache.svc/ca.crt /usr/local/share/ca-certificates/build-cache-svc.crt
sudo update-ca-certificates But then I see this in the access logs for build.cache.svc:
Progress! Now the issue is the client (buildx imagetools, I believe) is neglecting to send a client certificate when pushing to the private build cache registry. So, I tried these additional tweaks at runner startup: # match default expectations of https://github.com/docker/setup-buildx-action
# sans a DOCKER_CONFIG env override (which fails due to attempted writes on a read-only volumeMount)
ln -vs /etc/docker/certs.d ~/.docker/
# match the translated buildkitd.toml registry ca/keypair entries shipped to buildkitd backends
sudo mkdir -p /etc/buildkit
sudo ln -vs /etc/docker/certs.d /etc/buildkit/certs ... but still no joy. AFAIK I have correctly followed the mTLS setup for my build-cache registry, i.e.: runner@ip-10-10-11-198:~$ ls -alF /etc/docker/certs.d/build.cache.svc/
total 0
dr-xr-x--- 3 root docker 140 May 25 16:14 ./
drwxr-xr-x 7 root root 122 May 25 16:15 ../
drwxr-xr-x 2 root root 100 May 25 16:14 ..2024_05_25_16_14_57.1642649139/
lrwxrwxrwx 1 root root 32 May 25 16:14 ..data -> ..2024_05_25_16_14_57.1642649139/
lrwxrwxrwx 1 root root 13 May 25 16:14 ca.crt -> ..data/ca.crt
lrwxrwxrwx 1 root root 18 May 25 16:14 client.cert -> ..data/client.cert
lrwxrwxrwx 1 root root 17 May 25 16:14 client.key -> ..data/client.key |
hi @tonistiigi, i do not understand this edit: our |
was digging into this further yesterday (because i am unreasonably angry that the awesome buildx imagetools fails like this) and it looks like a problem with the containerd resolver that imagetools is relying on (i even tried an also, docker push to this mTLS secured registry works fine via the likely related issues: |
Contributing guidelines
I've found a bug and checked that ...
Description
It looks as if the
imagetools.Opt
passed to theitpull := imagetools.New(imageopt)
line is lacking the necessaryRegistryConfig
to connect to a private registry signed by a CA that isn't included in the system ca-certificates BUT that individual builders are able to push to without issue (meaning, they are configured properly ... the build pulls from the private build cache registry successfully, honoring the private registry cache importer).Expected behaviour
Can successfully merge multi-platform manifests for blobs that have already been pushed to a private registry.
Actual behaviour
Cannot successfully merge multi-platform manifests for blobs that have already been pushed to a private registry.
Buildx version
github.com/docker/buildx v0.13.1+dweomer.1 5decc6f
Docker info
Builders list
Configuration
Build logs
Additional info
This is driven via github actions on a private runner, leveraging:
See also:
The text was updated successfully, but these errors were encountered: