Installer avec Argo CD
Introduction
En utilisant le dépôt Helm GitGuardian, vous pouvez facilement installer GitGuardian sur votre cluster Kubernetes existant avec Argo CD.
Problème connu — Les Hook Jobs peuvent ne pas être redéclenchés lors d'une mise à niveau du chart
Nous avons observé un bug potentiel en amont d'Argo CD affectant les Hook Jobs Helm GitGuardian (pre-deploy pour les migrations de base de données, post-deploy, upgrade-path-check, data-access-deploy) lorsque l'Application Argo CD est configurée avec ServerSideApply=true. Lors d'une mise à niveau du chart, ces Jobs peuvent ne pas être mis à jour ou redéclenchés : Argo CD signale la synchronisation comme réussie, mais les Jobs précédents restent en place sur le cluster, de sorte que les migrations et les tâches post-deploy ne sont jamais exécutées pour la nouvelle version. Cela peut apparaître plus tard sous forme d'erreurs cryptiques de base de données (par exemple column ... does not exist).
Contournement : si vous suspectez que cela s'est produit après une mise à niveau, déclenchez une synchronisation manuelle de l'Application GitGuardian depuis l'UI ou le CLI d'Argo CD :
argocd app sync gitguardian
Une synchronisation manuelle recrée les ressources Job affectées et réexécute correctement les migrations et les étapes post-deploy pour la nouvelle version du chart.
Ajouter le dépôt Helm GitGuardian
Tout d'abord, vous devez ajouter le dépôt Helm GitGuardian à Argo CD en utilisant les paramètres suivants :
name: gitguardian
type: helm
enableOCI: 'true'
url: registry.replicated.com/gitguardian
username: <your.name@yourcompany.com>
password: <your.password>
L'équipe GitGuardian vous fournira le nom d'utilisateur et le mot de passe.
Vous pouvez suivre la documentation officielle et choisir parmi les méthodes suivantes :
Créez le secret de dépôt Argo CD suivant en utilisant kubectl :
Vous devez définir le nom d'utilisateur et le mot de passe au préalable.
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: replicated-repo
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repository
stringData:
name: replicated
type: helm
enableOCI: "true"
url: registry.replicated.com
username: <your.name@yourcompany.com>
password: <your.password>
EOF
Vous devez d'abord vous authentifier sur votre serveur Argo CD en utilisant la commande : argocd login <server_url>
Définissez votre nom d'utilisateur/mot de passe et exécutez cette commande :
argocd repo add registry.replicated.com \
--name replicated \
--type helm \
--enable-oci \
--username <your.name@yourcompany.com> \
--password <your.password>
Naviguez vers Settings/Repositories et ajoutez le dépôt Helm GitGuardian :

Assurez-vous d'activer OCI
Une fois ajouté, vous devriez voir le dépôt Helm GitGuardian :

Le statut de la connexion doit être successful.
Configurer l'application GitGuardian
Vous pouvez configurer l'application GitGuardian en fournissant des valeurs Helm personnalisées, suivez les instructions Helm pour procéder.
Nous recommandons vivement de gérer vos secrets par vous-même et de les référencer via les paramètres Helm existingSecret (Voir la page Helm Secrets Management). Nous suggérons également de consulter la page Argo CD Secret Management pour gérer efficacement vos secrets.
Créer le secret de chiffrement
Créez un secret Kubernetes dans le namespace cible avec DJANGO_SECRET_KEY. GitGuardian l'utilise pour chiffrer les données sensibles de l'application dans la base de données. Voir Mandatory secret pour les commandes et les valeurs.
Il est essentiel de sauvegarder votre clé dans un coffre-fort sécurisé. La perte de la clé entraîne une perte irréversible des données de votre instance GitGuardian.
Ce secret est géré en dehors d'Argo CD et persistera à travers les synchronisations et les mises à niveau.
Installer l'application GitGuardian
Après avoir créé le fichier de valeurs Helm values.yaml en suivant les instructions ci-dessus, vous pouvez créer l'application GitGuardian en utilisant le CLI Argo CD en exécutant la commande suivante :
argocd app create gitguardian \
--dest-server <cluster> \
--dest-namespace <namespace> \
--repo registry.replicated.com/gitguardian \
--helm-chart gitguardian \
--revision 2025.x.y \
--values-literal-file values.yaml \
--self-heal \
--auto-prune \
--sync-option PruneLast=true
Si autoscaling est activé, vous devez configurer l'application Argo pour ignorer les modifications apportées au nombre de réplicas pour tous les déploiements :
argocd app patch gitguardian \
--patch '{"spec": {"ignoreDifferences": [{"group": "apps", "kind": "Deployment", "jsonPointers": ["/spec/replicas"]}]}}' \
--type merge
Si le job bucket-init de MinIO apparaît avec un statut Missing dans Argo CD, ajoutez les annotations suivantes dans votre values.yaml pour permettre à Argo CD de suivre correctement le job :
loki-minio:
bucketInitJob:
annotations:
argocd.argoproj.io/hook: Sync
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
Mettre à niveau l'application GitGuardian
Avant la mise à niveau, assurez-vous de sauvegarder votre base de données PostgreSQL. Pour des instructions détaillées, consultez la page Backup.
Pour mettre à niveau GitGuardian, vous devez d'abord mettre à jour la version du chart Helm en utilisant le CLI Argo CD en exécutant la commande suivante :
argocd app patch gitguardian \
--patch '{"spec": { "source": { "targetRevision": "2024.x.y" } }}' \
--type merge
Synchronisez l'application GitGuardian :
argocd app sync gitguardian