Aller au contenu principal

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.

Prérequis

Avant de commencer l'installation, assurez-vous de consulter les exigences système et réseau.

Problème connu — Les Hook Jobs peuvent ne pas être redéclenchés lors d'une mise à niveau du chart

Affecte chaque mise à niveau du chart GitGuardian via Argo CD avec Server-Side Apply activé

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 :

  1. Configuration déclarative

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
  1. Argo CD CLI
Prérequis

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>
  1. Argo CD UI

Naviguez vers Settings/Repositories et ajoutez le dépôt Helm GitGuardian : UI - add repository

Prérequis

Assurez-vous d'activer OCI

UI - enable OCI

Une fois ajouté, vous devriez voir le dépôt Helm GitGuardian : UI - repository list

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.

Sauvegardez la clé

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.

astuce

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
Statut manquant sur le job bucket-init de MinIO

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

attention

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