Skip to content
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

Make ROCK base image registry configurable. #655

Open
aznashwan opened this issue Jul 29, 2024 · 1 comment
Open

Make ROCK base image registry configurable. #655

aznashwan opened this issue Jul 29, 2024 · 1 comment

Comments

@aznashwan
Copy link
Contributor

What needs to get done

rockcraft.oci.Image class needs extending to add configurable registry URL during the skopeo copy of the base image to allow from pulling from non-ECR registries.

Will probably need adding a top-level rockcraft argument and transparently propagating it down to the actual image URL composed here which later gets passed to the skopeo copy command.

Why it needs to get done

Although ECR is considerably more lenient than DockeHub in terms of data pull limits for unverified requests, it still has them, leading to errors like these:

024-07-29 11:06:56.991 Execute process: ['/snap/rockcraft/1783/bin/skopeo', '--insecure-policy', '--override-arch', 'amd64', 'copy', '--retry-times', '5', 'docker://public.ecr.aws/ubuntu/ubuntu:22.04', 'oci:/root/images/ubuntu:22.04'], kwargs={}
2024-07-29 11:10:30.466 Failed to copy image: Command '['/snap/rockcraft/1783/bin/skopeo', '--insecure-policy', '--override-arch', 'amd64', 'copy', '--retry-times', '5', 'docker://public.ecr.aws/ubuntu/ubuntu:22.04', 'oci:/root/images/ubuntu:22.04']' returned non-zero exit status 1. (time="2024-07-29T11:07:28Z" level=warning msg="Failed, retrying in 1s ... (1/5). Error: initializing source docker://public.ecr.aws/ubuntu/ubuntu:22.04: reading manifest 22.04 in public.ecr.aws/ubuntu/ubuntu: toomanyrequests: Data limit exceeded"

Depending on the project being rock'd, these limits can be quite the nuisance.

The canonical/harbor-rocks repo for example defines rocks for 10 components x 3 versions x 2 architectures = 60 whole images, and it's virtually guaranteed that 2-3 of the build workflows will fail.

It would be nice to be able to use a local registry mirror when rockcraft build/pack-ing.

@aznashwan
Copy link
Contributor Author

Related in cause to #654 but functionally independent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant