Aller au contenu principal

Mise à niveau Helm

danger

Ne procédez pas à un rollback ou un downgrade sans consulter d'abord notre équipe de support. Certains scénarios peuvent nécessiter de restaurer la base de données depuis une sauvegarde pré-mise à niveau en raison de la complexité de l'inversion de certaines migrations de base de données.

attention

Avant de procéder à la mise à niveau, assurez-vous de sauvegarder votre base de données PostgreSQL. Pour des instructions détaillées, consultez la page Backup.

Mise à niveau vers 2025.10

Si vous utilisez un déploiement air gap : cette release utilise désormais un chart et une image Docker non-Bitnami pour le sous-chart MinIO (qui prend en charge la fonctionnalité de log collector). Ce changement implique des modifications mineures à votre fichier values.yaml :

Modifiez votre fichier de values Helm :

  • Mettez à jour loki-minio.image.repository de gitguardian/wolfi/minio-bitnami vers gitguardian/wolfi/minio.
  • Mettez à jour loki-minio.image.tag de 0.20250723 vers 0.20250907.
  • Renommez le paramètre loki-minio.image.pullPolicy en loki-minio.image.imagePullPolicy.

Mise à niveau vers 2025.8

Si vous utilisez un déploiement air gap : cette release introduit un nouveau paramètre image.registry dans les values Helm pour prendre en charge le système Log Collector. Ce paramètre spécifie l'emplacement des images GitGuardian pour les composants du Log Collector (Loki, MinIO, Fluent Bit) et est distinct du paramètre principal imageRegistry.

Ajoutez image.registry à votre fichier de values Helm :

global:
imageRegistry: docker.internal/example/path # Location of the GitGuardian images
image:
registry: docker.internal/example/path # Location of the GitGuardian images (same as imageRegistry)

Trouvez tous les noms d'images et de tags sur la page d'installation Air Gap.

Mise à niveau vers 2025.7

Le moteur Machine Learning est désormais activé par défaut. Assurez-vous que votre infrastructure répond aux prérequis ML.

Mise à niveau vers 2025.6

GitGuardian 2025.6 nécessite désormais Kubernetes 1.28 comme version minimale supportée. Cependant, Kubernetes 1.28 ne reçoit plus de support actif ou de maintenance du projet Kubernetes (le support a pris fin en octobre 2024).

Nous recommandons fortement de passer à Kubernetes 1.32 pour une sécurité et une stabilité optimales. Kubernetes 1.32 est activement supporté jusqu'en décembre 2025 et recevra un support de maintenance jusqu'en février 2026.

Pour plus d'informations :

Mise à niveau vers 2025.5

Déploiement air gap ? Nous avons renommé des images dans cette release. Voir ci-dessous et trouvez tous les noms d'images et de tags sur la page d'installation Air Gap.

Ce changement implique le renommage des images suivantes :

  • gitguardian/prm-static-chainguard-fips en gitguardian/prm-static-chainguard
  • gitguardian/prm-app-fips en gitguardian/prm-app-chainguard

Mise à niveau vers 2025.4

Veuillez installer l'extension PostgreSQL pgvector pour activer la recherche par similarité vectorielle. Cela est essentiel pour les fonctionnalités à venir s'appuyant sur notre moteur de machine learning interne. Suivez les instructions d'installation pour assurer la compatibilité.

Déploiement air gap ? Nous avons ajouté de nouvelles images dans cette release. Les nouvelles images concernent le système de collecte de logs, qui inclut :

  • Fluent Bit (collecteur de logs)
  • Loki (agrégation de logs)
  • MinIO (stockage objet pour les logs)

Trouvez tous les noms d'images et de tags sur la page d'installation Air Gap.

Mise à niveau vers 2025.3

La release 2025.3 introduit un breaking change dans la nomenclature de l'URL du registre, y compris le chemin et les noms d'images. Si vous téléchargez nos images dans un registre privé (consultez notre documentation air gap), assurez-vous de mettre à jour vos outils, ainsi que les noms et chemins d'images dans votre fichier de values Helm.

Changement d'URL de registre

  • Ancien : proxy.replicated.com/proxy/gitguardian/513715405986.dkr.ecr.us-west-2.amazonaws.com
  • Nouveau : proxy.replicated.com/proxy/gitguardian/docker.io

Changements de chemin et de nom d'image

  • /prm/static-chainguard/gitguardian/prm-static-chainguard-fips
  • /prm/app-chainguard/gitguardian/prm-app-chainguard-fips
  • /prm/helm-tooling/gitguardian/prm-helm-tooling
  • /services/nginx-unprivileged/nginxinc/nginx-unprivileged
  • /ml-detector/ml-secret-engine/app-chainguard/gitguardian/ml-secret-engine-app-chainguard-fips

Changement d'URL de registre

  • Ancien : registry.replicated.com
  • Nouveau : proxy.replicated.com/proxy/gitguardian/docker.io

Changements de chemin et de nom d'image

  • /gitguardian/replicated-sdk/replicated/replicated-sdk

Lancer les preflight checks 🚦

Prérequis

Les preflight checks sont essentielles pour une installation réussie. Les règles suivantes s'appliquent :

  • Échecs des preflight checks : si les preflight checks échouent, la mise à niveau ne doit pas continuer tant que l'environnement cible ne répond pas à toutes les exigences. Veuillez contacter notre équipe de support si nécessaire.
  • ⚠️ Avertissements des preflight checks : si les preflight checks renvoient des avertissements, l'installation peut continuer, mais il est recommandé de traiter ces avertissements pour respecter nos recommandations.

Nous vous conseillons fortement d'exécuter notre script preflight pour vérifier que votre cluster existant répond aux exigences de GitGuardian.

Récupérez le script depuis notre dépôt public ici

Spécifiez un namespace Kubernetes existant en utilisant l'option -n. S'il n'est pas spécifié, le script s'exécutera dans votre namespace par défaut. Remplacez <release-name> par votre nom de release helm existant.

./preflights.sh -r <release-name> -n <namespace> oci://registry.replicated.com/gitguardian/gitguardian -f local-values.yaml

Mise à niveau de l'application GitGuardian

Connectez-vous au registre avec la commande suivante :

helm registry login registry.replicated.com --username your.name@yourcompany.com

Mettez à niveau l'application GitGuardian vers la dernière version dans le cluster Kubernetes et le namespace où elle est installée :

helm upgrade <release-name> -n <namespace> oci://registry.replicated.com/gitguardian/gitguardian -f local-values.yaml

Remplacez <release-name> par le nom utilisé lors de l'installation initiale (utilisez helm ls pour le retrouver). Si nécessaire, spécifiez le namespace avec -n (le namespace par défaut est utilisé s'il n'est pas spécifié).

Cela mettra à niveau votre application vers la dernière version. Pour mettre à niveau vers une version spécifique, utilisez le flag --version :

helm upgrade <release-name> -n <namespace> oci://registry.replicated.com/gitguardian/gitguardian --version 2024.x.y -f local-values.yaml

Mise à niveau de l'application GitGuardian en air gap

Suivez ces étapes pour mettre à niveau une installation Helm dans un environnement air gap :

  1. Connectez-vous au registre Helm :

    helm registry login registry.replicated.com --username your.name@yourcompany.com
  2. Téléchargez le chart Helm localement (remplacez par la version souhaitée) :

    helm fetch oci://registry.replicated.com/gitguardian/gitguardian
    # this will download a file like gitguardian-<version>.tgz
  3. Authentifiez Docker auprès du proxy Replicated pour puller les images (remplacez <your_licenseID>) :

    LICENSE_ID="<your_licenseID>"; \
    echo "{\"auths\": {\"proxy.replicated.com\": {\"auth\": \"$(echo -n \"${LICENSE_ID}:${LICENSE_ID}\" | base64)\"}, \"registry.replicated.com\": {\"auth\": \"$(echo -n \"${LICENSE_ID}:${LICENSE_ID}\" | base64)\"}}}" > ~/.docker/config.json
  4. Pullez les images requises pour la release cible, puis téléchargez-les vers votre registre privé. Consultez la liste d'images sur la page d'installation Airgap. Vous pouvez utiliser docker ou skopeo pour transférer les images.

    Architecture des images

    Toutes les images GitGuardian sont multi-architecture. Vous n'avez pas besoin de passer --platform lors du pull ; la variante correcte est sélectionnée automatiquement selon l'architecture hôte.

  5. Lancez les preflight checks contre l'archive locale du chart :

    ./preflights.sh -r <release-name> -n <namespace> gitguardian-<version>.tgz -f local-values.yaml
  6. Mettez à niveau via l'archive locale du chart :

    helm upgrade <release-name> --timeout 30m -n <namespace> gitguardian-<version>.tgz -f local-values.yaml

Remplacez <release-name>, <namespace> et <version> en conséquence. Assurez-vous que votre local-values.yaml pointe vers votre registre d'images privé comme décrit dans la page d'installation Airgap.

Mise à jour de la configuration de l'application

Modifiez la configuration de l'application avec un fichier de values mis à jour via la commande helm upgrade. Restez sur la même version en utilisant le flag --version :

helm upgrade <release-name> -n <namespace> oci://registry.replicated.com/gitguardian/gitguardian --version 2024.x.y -f local-values.yaml

Remplacez <release-name> par le nom utilisé lors de l'installation initiale (utilisez helm ls pour le retrouver). Si nécessaire, spécifiez le namespace Kubernetes avec -n (le namespace par défaut est utilisé s'il n'est pas spécifié).

Notes additionnelles

  • Stratégie de mise à jour des pods

L'objectif est de trouver un équilibre entre continuité de service et ressources disponibles sur le cluster. Vous pouvez définir quelle stratégie de mise à jour utiliser durant une mise à niveau / mise à jour.

Cette configuration est possible pour celeryWorkers (celeryWorkers.worker.updateStrategy) et webapps (webapps.app.updateStrategy).

Si non définie, cette stratégie par défaut s'applique :

  • Si moins de 3 réplicas
type: RollingUpdate
rollingUpdate:
maxUnavailable: 50%
maxSurge: 50%
  • Sinon
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%