Démantèlement#
Note
Cette documentation ne s'applique qu'à NGOT à partir de la version Comet.
L'ensemble des actions suivantes doivent être tracées dans un CAASCHR.
L'opération s'effectue en trois étapes :
- suppression du secret dans Vault infra
- suppression des données dans NGOT-Zones
- réinstallation du composant Promitor-Client et de ses Prometheus-Rules avec Trackbone
Suppression du Promitor#
Danger
Si l'opération consiste à supprimer toutes les instances Promitor du client, il faut impérativement lancer trackbone destroy à cette étape de la procédure. Cela ne sera plus possible ultérieurement.
Ne faites pas cette opération s'il doit rester des instances Promitor.
CLIENT="<client>" # exemple : CLIENT="pf"
cd ~/git/caascad/terraform/envs-ng/contexts/ngot
trackbone destroy -z "svc-monitoring-stack-client-${CLIENT}" -c promitor-client
Suppression du secret dans Vault infra.#
Authentification au Vault infra#
INFRA_ZONE_NAME="" # infra-stg | infra-prd
export VAULT_ADDR="https://vault.${INFRA_ZONE_NAME}.caascad.com"
vault login -method oidc
Suppression du secret dans Vault infra#
PROMITOR_INSTANCE_NAME=$(sd get zones | jq -r ".\"svc-monitoring-stack-client-${CLIENT}\".parameters.\"monitoring-stack\".prometheus.exporters.promitor[].name")
# Vérification avant la suppression dans Vault
echo "secret/zones/fe/svc-monitoring-stack-client-${CLIENT}/promitor-client/${PROMITOR_INSTANCE_NAME}"
# Si les variables sont correctes
vault delete "secret/zones/fe/svc-monitoring-stack-client-${CLIENT}/promitor-client/${PROMITOR_INSTANCE_NAME}"
Suppression des données dans NGOT-Zones#
Modification du fichier envs-ng/zones/ngot_zones/promitor-$CLIENT.cue#
Création une branche dans le repository envs-ng.
Suppression du fichier ou supprimer l'instance du Promitor voulue.
Génération des fichiers de zones :
cd ~/git/caascad/terraform/envs-ng
nix-shell
generate-static-zones-files
git status
Créer un commit puis une MR, la faire valider et la merger dans le cadre du CAASCHR.
Réinstallation de Promitor-Client et des Prometheus-Rules#
cd ~/git/caascad/terraform/envs-ng/contexts/ngot
trackbone apply -z "svc-monitoring-stack-client-${CLIENT}" -c prometheus-rules
trackbone apply -z "svc-monitoring-stack-client-${CLIENT}" -c promitor-client
Note
Un déploiement consiste à déployer tous les Promitors déclarés. En ayant supprimé la déclaration d'un promitor, la réinstallation aura pour effet de supprimer ce promitor devenu non déclaré.
Si toutes les instances de Promitor ont été supprimées, le redéploiement trackbone apply -c promitor-client doit terminer en échec.
- Cela est normal.
- Cela prouve que la suppression a bien été prise en compte.