nestybox / nestybox/sysbox

Enhancement: docker pull rate limits - missing option to set registry mirror during cri-o install / sysbox-k8s-deploy

Open
#835 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Shell
Stars
3.9k
Forks
230
Avg merge
7h 48m
Merged PRs (30d)
3

Description

Because of the docker subscription changes: https://www.docker.com/pricing/november-2024-subscription-changes/

Can you please provide an option to set custom docker registry mirrors? This would significantly lower the amount of pull requests against hub.docker.com/docker.io: https://www.docker.com/increase-rate-limits/

Here is the interesting part:
https://github.com/nestybox/sysbox-pkgr/blob/72d84abd652983cf34b4b52f48ba9d027f9a1779/k8s/config/etc_containers_registries.conf#L69

This file gets copied to a k8s node when cri-o is initially installed: https://github.com/nestybox/sysbox-pkgr/blob/72d84abd652983cf34b4b52f48ba9d027f9a1779/k8s/scripts/crio-installer.sh#L134

By manually adding a custom registry mirror to /etc/containers/registries.conf and restarting cri-o service, images are pulled now from our custom registry mirror.

But we would like to automate this during sysbox k8s deploy: https://github.com/nestybox/sysbox/blob/master/docs/user-guide/install-k8s.md#installation-of-sysbox

Our idea/workaorund is to mount a custom registries.conf via ConfigMap into your sysbox-k8s-deploy daemonset to override the default one - but this only works for initial setups, as once deployed /etc/containers/registries.conf is left on the host during uninstall.

Are there plans on your side to add the missing functionality?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with k8s/config/etc_containers_registries.conf and k8s/scripts/crio-installer.sh, then read sysbox-k8s-manifests/sysbox-install.yaml and the Kubernetes installation guide. Trace how registries.conf is copied during installation and retained during uninstall. Done should provide an automated way to configure a custom registry mirror during deployment and account for the existing host configuration on uninstall.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, kubernetes, shell
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.