Skip to content

Add registry mirror option to kaniko configuration#56

Open
marob wants to merge 1 commit intocloud-pi-native:mainfrom
marob:patch-1
Open

Add registry mirror option to kaniko configuration#56
marob wants to merge 1 commit intocloud-pi-native:mainfrom
marob:patch-1

Conversation

@marob
Copy link
Copy Markdown
Contributor

@marob marob commented Feb 23, 2026

Pour utiliser le proxy Harbor et éviter le rate limit dockerhub.

Issues liées

Issues numéro:


Quel est le comportement actuel ?

Le build Kaniko utilise le registry par défaut (dockerhub) ce qui amène à des problèmes de rate limit dockerhub.

Quel est le nouveau comportement ?

Le build Kaniko utilise automatiquement le projet "dockerhub" qui en est un mirroir.

Cette PR introduit-elle un breaking change ?

Non, si ce n'est peut-être lorsqu'un .gitlab-ci spécifie un autre --registry-mirror (dans les EXTRA_BUILD_ARGS), mais en principe, plusieurs --registry-mirror sont autorisés, donc ça ne devrait pas avoir d'impact.

Autres informations

Ci-dessous, une capture qui montre que la configuration --registry-mirror=harbor.external.cpin.numerique-interieur.com/dockerhub fonctionne (vs. une mauvaise configuration qui ne fonctionne pas)
image

In order to use Harbor proxy and prevent dockerhub rate limit
--build-arg no_proxy=$no_proxy
--context="$CI_PROJECT_DIR"
--dockerfile="$CI_PROJECT_DIR/$WORKING_DIR/$DOCKERFILE"
--registry-mirror="${REGISTRY_HOST}/dockerhub"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je ne sais pas dire si c'est toujours configuré côté plateforme (ça dépend de la plateforme utilisée d'ailleurs) mais auparavant cette variable était automatiquement configurée pour l'ensemble des projets (variable de groupe) via la variable EXTRA_KANIKO_ARGS. Cette variable était peuplée lors de l'installation de la plateforme en fonction de la configuration d'installation.

Cependant, peut-être qu'une évolution de la gestion de registry mirror est souhaitable / que de la documentation pourrait aider les utilisateurs à mieux appréhender le soucis des rate limits.

Copy link
Copy Markdown
Contributor Author

@marob marob Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La variable REGISTRY_HOST devrait systématiquement être définie via .vault/read_secret :

REGISTRY_HOST=`vault kv get $EXTRA_VAULT_ARGS -field=HOST ${VAULT_KV}/${CI_PROJECT_NAMESPACE}/REGISTRY/rw-robot`

Je suis actuellement obligé de configurer EXTRA_BUILD_ARGS: --registry-mirror=${REGISTRY_HOST}/dockerhub pour bénéficier du proxy et éviter le rate limit dockerhub. Il faudrait que les utilisateurs n'aient pas à effectuer de configuration particulière et que ce soit automatique. S'il y a une autre solution équivalente, je n'ai rien contre, mais de mon point de vue, ça doit être transparent pour les utilisateurs.

Je note par ailleurs que les runners GitLab CI ne semblent pas être configurés pour pull les images via le proxy, ce qui fait que le build peut échouer lors de la préparation de l'environnement (pour récupérer l'image de sonar-scanner-cli par exemple). Et cette configuration ne peut pas être réalisée dans un .gitlab-ci mais doit être au niveau du runner. Où peut-on créer une issue pour ce problème ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui il y a un sujet autour de la gestion des registry Docker. Je remonte le point côté Socle CPiN 👍

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

Successfully merging this pull request may close these issues.

3 participants