Aller au contenu

Décommissionnement#

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 :

  1. suppression du mot de passe dans Vault infra
  2. suppression des données dans NGOT-Zones
  3. réinstallation du composant Cloudeye-Exporter-Client et de ses Prometheus-Rules avec Trackbone

Suppression du cloudeye-exporter#

Danger

Si l'opération consiste à supprimer toutes les instances Cloudeye-Exporter 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 Cloudeye-Exporter.

CLIENT="<client>"           # exemple : CLIENT="pf"
cd ~/git/caascad/terraform/envs-ng/contexts/ngot
trackbone destroy -z "svc-monitoring-stack-client-${CLIENT}" -c cloudeye-exporter-client

Suppression du mot de passe 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 mot de passe dans Vault infra#

  1. Afficher les commandes à lancer :

    CLIENT="<client>"           # exemple : CLIENT="pf"
    DOMAIN_NAME="<domain_name>" # exemple : DOMAIN_NAME="OCB0001234"
    
    # Affichage des commandes possibles
    printf "vault delete secret/zones/fe/svc-monitoring-stack-client-${CLIENT}/cloudeye-exporter-client/%s-%s\n" $(sd get zones | jq -r --arg z "svc-monitoring-stack-client-${CLIENT}" '.[$z].parameters."monitoring-stack".prometheus.exporters.cloudeyeExporter[] | [.domain_name, .project_name] | @sh') | grep -i "${DOMAIN_NAME}"
    
  2. Lancer les commandes vault delete ... affichées ci-dessus (faire un copier/coller).

Danger

Si le client spécifie plusieurs domain_names ou demande à supprimer l'intégralité de ses exporters Cloudeye, il est possible d'afficher toutes les commandes vault delete en supprimant le grep -i "${DOMAIN_NAME}" ci-dessous.

ATTENTION : ces commandes sont dangereuses et il ne faut lancer que celles demandées par le client.

Suppression des données dans NGOT-Zones#

Modification du fichier envs-ng/zones/ngot_zones/values.cue#

Création une branche dans le repository envs-ng.

Suppression des données dans la clé .svc-monitoring-stack-client-${CLIENT}.parameters.monitoring-stack.prometheus.exporters.cloudeyeExporter (où ${CLIENT} est le nom du client, par exemple pf).

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 Cloudeye-Exporter-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 cloudeye-exporter-client

Note

Un déploiement consiste à déployer tous les cloudeye-exporters déclarés. En ayant supprimé la déclaration d'un cloudeye-exporter, la réinstallation aura pour effet de supprimer ce cloudeye-exporter devenu non déclaré.

Si toutes les instances de Cloudeye-Exporter ont été supprimées, le redéploiement trackbone apply -c cloude-exporter-client doit terminer en échec.

  • Cela est normal.
  • Cela prouve que la suppression a bien été prise en compte.