# 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

---
# 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}}