Backup & Restore
GitGuardian chiffre toutes les informations sensibles de la base de données à l'aide d'une clé de chiffrement des données (également appelée Django Secret Key). En cas de sinistre, cette clé sera essentielle pour restaurer vos données.
Quelle que soit la méthode d'installation (KOTS ou Helm), assurez-vous que la clé de chiffrement est stockée de manière sécurisée et accessible.
Utilisez la commande suivante pour afficher la clé :
kubectl get secrets gim-secrets --namespace=<namespace> -o jsonpath='{.data.DJANGO_SECRET_KEY}' | base64 -d
Sauvegarde
Pour sauvegarder entièrement l'application GitGuardian, vous devez :
- Sauvegarder la base de données PostgreSQL (⚠️ et la clé de chiffrement des données).
- Sauvegarder la configuration KOTS (pour les installations basées sur KOTS existing cluster).
- Sauvegarder le fichier de valeurs Helm (pour les installations basées sur Helm existing cluster).
Nous recommandons vivement d'utiliser des bases de données et des magasins de données gérés en externe, ainsi qu'une stratégie robuste de snapshots et de sauvegardes. Une installation embedded cluster avec une base de données PostgreSQL intégrée n'est pas recommandée pour les déploiements en production et est destinée uniquement à des fins de PoC/test. Pour plus d'informations, consultez la page Choisir votre méthode d'installation.
Installation basée sur Helm
Assurez-vous de sauvegarder le fichier de valeurs que vous avez créé lors de l'installation.
Installation basée sur KOTS
Pour sauvegarder les fichiers de configuration KOTS, utilisez :
kubectl kots get config \
--namespace gitguardian \
--decrypt \
--appslug gitguardian > config.yaml
La configuration de sauvegarde contient des secrets. Assurez-vous qu'elle est stockée de manière sécurisée et que l'accès est strictement contrôlé.
Si nécessaire, spécifiez le namespace Kubernetes avec --namespace (le namespace par défaut est utilisé s'il n'est pas spécifié).
KOTS propose un mécanisme pour simplifier les sauvegardes de votre application GitGuardian. Pour des informations détaillées sur la sauvegarde et la restauration, y compris la compatibilité des versions de Velero, veuillez consulter le site web de Replicated.
ClickHouse
Si votre installation utilise ClickHouse pour les fonctionnalités d'analytics, celui-ci dispose de son propre mécanisme de sauvegarde et de sa propre procédure de restauration : voir Sauvegarde et restauration de ClickHouse. Notez qu'un plan complet de reprise après sinistre pour les fonctionnalités reposant sur ClickHouse peut nécessiter de restaurer à la fois ClickHouse et PostgreSQL à un même point cohérent dans le temps.
Restauration
La restauration de l'instance GitGuardian dépend de la situation. Souhaitez-vous simplement revenir à une sauvegarde antérieure de la base de données ? Cherchez-vous à revenir à une version antérieure de l'application ? Avez-vous perdu votre base de données et/ou votre cluster Kubernetes et devez-vous restaurer l'application et la base de données à partir de zéro ?
Restauration de la base de données uniquement
Pour restaurer la base de données PostgreSQL, suivez ces étapes :
- Arrêtez l'application.
- Videz le cache Redis.
- Restaurez la base de données PostgreSQL.
- Redémarrez l'application.
Rollback de version de l'application
N'effectuez pas de rollback ou de downgrade sans consulter au préalable notre équipe de support. Certains scénarios peuvent nécessiter de restaurer la base de données à partir d'une sauvegarde antérieure à la mise à niveau, en raison de la complexité de l'annulation de certaines migrations de base de données.
Reprise après sinistre
Dans le cas où vous devez réinstaller l'application à partir de zéro pour une reprise après sinistre, suivez la procédure d'installation appropriée en fonction de votre configuration :
Installation basée sur Helm
- Utilisez votre fichier de valeurs précédemment sauvegardé.
- Assurez-vous de spécifier la clé de chiffrement, soit :
- En utilisant le paramètre inline
miscEncryption.djangoSecretKey, soit - En référençant un secret existant avec
miscEncryption.existingSecret.
- En utilisant le paramètre inline
Installation basée sur KOTS
- Suivez la procédure d'installation pour votre configuration KOTS.
- Configurez l'installation avec les paramètres essentiels.
- Une fois l'installation terminée, restaurez les fichiers de configuration KOTS à l'aide de la commande suivante :
kubectl kots install gitguardian \--namespace gitguardian \--use-minimal-rbac \--shared-password <set_new_password> \--license-file license.yaml \--config-values config.yaml
- Remplacez
<set_new_password>par le mot de passe de votre choix (utilisé pour accéder à la KOTS Admin Console). - Ajustez le
namespacesi nécessaire. - Assurez-vous d'utiliser le fichier
config.yamlissu de votre sauvegarde. - Cette commande doit être exécutée sur un namespace inexistant ou vide (c'est-à-dire sans installation KOTS préalable).
- Remplacez
- Dans la KOTS Admin Console, vérifiez que la configuration est correcte et déployez l'application.
