Skip to main content
Kaeyros Analytics maintient deux registres de conteneurs Docker. Le registre principal héberge toutes les images de production et est consommé par ArgoCD et le cluster Kubernetes. Le registre secondaire sert aux usages internes et résiduels sur la plateforme d’outillage.

Registre principal : GitHub Container Registry

Le registre ghcr.io est la source de vérité pour toutes les images déployées en production.

Se connecter à ghcr.io

Pour pousser ou tirer des images depuis votre poste de développement, utilisez un Personal Access Token (PAT) GitHub avec le scope write:packages :
Utilisez un PAT dédié avec le minimum de permissions nécessaires. Ne partagez jamais votre PAT personnel. Pour les pipelines CI, préférez le secret GHCR_PAT configuré au niveau de l’organisation.

Images typiques hébergées

Registre secondaire : GitLab interne

Le serveur d’outillage héberge un registre Docker GitLab accessible en interne.
Ce registre est utilisé dans les cas suivants :
  • Images d’outillage interne (SonarQube scanners, runners CI custom)
  • Projets migrés avant la standardisation sur ghcr.io
  • Backups temporaires lors de migrations

Se connecter au registre GitLab

Le registre GitLab interne est en mode maintenance progressive. Privilégiez systématiquement ghcr.io pour tout nouveau projet ou service.

Pull-secret Kubernetes : argo-pull

Pour que le cluster Kubernetes puisse tirer les images privées depuis ghcr.io, un docker-registry secret nommé argo-pull est configuré dans chaque namespace applicatif.

Structure du secret

argo-pull-secret.yaml

Créer ou mettre à jour le secret

Référence dans les manifests

Les charts Helm internes référencent automatiquement ce secret via les values.yaml :
values.yaml

Gestion des accès

Développeurs

Accès en lecture seule sur ghcr.io via PAT personnel. Pas de push manuel : la CI GitHub Actions pousse automatiquement les images.

CI/CD (GitHub Actions)

Accès en écriture via le secret GHCR_PAT au niveau organisation. Utilisé par les workflows pour pousser les images après build.

Cluster Kubernetes

Accès en lecture via le secret argo-pull. Le compte bot associé a uniquement les permissions read:packages.

argocd-image-updater

Accès en lecture via le même secret argo-pull. Détecte les nouveaux tags et met à jour les Applications ArgoCD.

Rotation des credentials

1

Générer un nouveau PAT

Dans GitHub Settings > Developer settings > Personal access tokens, créez un nouveau token avec le scope read:packages (ou write:packages pour la CI).
2

Mettre à jour le secret Kubernetes

Recréez le secret argo-pull dans tous les namespaces concernés avec la nouvelle valeur.
3

Mettre à jour GitHub Secrets

Remplacez la valeur de GHCR_PAT dans les secrets de l’organisation GitHub.
4

Valider le pull

Déclenchez un déploiement de test et vérifiez que les pods démarrent correctement avec la nouvelle image.
5

Révoquer l'ancien PAT

Supprimez l’ancien token GitHub une fois la validation terminée.
La rotation des credentials du registre est une opération sensible. Prévenez l’équipe DevOps à devops@kaeyros-analytics.com avant toute modification du secret argo-pull dans les namespaces de production.