# Remplacement Config envs-ng # Quay robot secret #### Démo Point de Synchro du 18/02/22 --- # Objectif - trackbonifié la gestion des secrets dans les zones - supprimer l'adhérence Vault pour le bootstrap de zone --- # Etat actuel - Mode Bootstrap - Relance du script après la création de Vault - Ajout d'un namespace nécessitant le ou les secrets ... - Complexifie la tache d'internalisation des images Docker - L'utilisation de kubed (config-sync) crée un leak de secret **merci rancher !!!** --- # Etat désiré - Automatisation sans bootstrap & au plus tôt du process de création d'une zone - Gérer automatiquement tous les namespaces et éviter que des secrets se déploient dans des namespaces non-souhaités --- # Comment - Mise à jour `OPA`: Mutation automatique de namespace - ajout automatique d'un label: `config-sync.caascad.com/secret="true"` - Utilisation de `Config-sync` pour synchroniser les secrets - Grâce à ce label --- # Démo ![magic](https://media.giphy.com/media/3o84U6421OOWegpQhq/giphy.gif) --- # STG - Done --- # Prod - Mercredi 23/02 10h - Impact client 0 - Impact Caascad : 1 --- # Eviter les diff: HELM > Eviter de créer les NS avec: kubectl create .... > > sinon rien à faire --- # Eviter les diff: Terraform sur les NS ```json lifecycle { ignore_changes = [ metadata.0.labels["config-sync.caascad.com/secret"], metadata.0.labels } ``` --- # Eviter les diff: Terraform sur les secrets ```json lifecycle { ignore_changes = [ metadata.0.labels["kubed.appscode.com/origin.cluster"], metadata.0.labels["kubed.appscode.com/origin.name"], metadata.0.labels["kubed.appscode.com/origin.namespace"], metadata.0.labels } ``` --- # Conclusion ++ automatisation bootstrap zone cloud / client ++ Granularité forte de la gestion des secrets -- Multiplication des outils/conf OPA + config-Sync + Lib + script Python -- Un peu lourd pour les zones clients ... -- /!\ un petit incident sur les pipeliens concourses utilisant les secrets mise à jours <style type="text/css"> p { font-size: smaller; } .reveal ul ul li { font-size: smaller; } .reveal section { text-align: left; } } .reveal h3 { color: orange; text-align: center; border-bottom: 1px solid orange; } .reveal h1 { color: orange; text-align: center; border-bottom: 1px solid orange; margin-bottom: 0.4em; } .reveal code { color: aquamarine; font-size: smaller; } </style>
{"type":"slide","slideOptions":{"transition":"slide","center":true}}