Comment la configuration atteint votre code
Chaque service lit ses réglages dans des variables d’environnement au démarrage. La plateforme construit cette liste à partir de trois sources, dans l’ordre : les groupes partagés, les valeurs définies sur le service et les valeurs liées à d’autres ressources comme les bases de données. Une valeur plus tardive remplace une valeur antérieure de même clé : un service peut donc surcharger un groupe sans le modifier pour tous.
Variables et secrets
Les deux sont stockés de la même façon, chiffrés au repos, et injectés de la même façon dans le service. La différence tient à qui peut les relire.
Variables simples
Utilisez des variables simples pour les réglages que toute l’équipe peut voir : niveaux de log, drapeaux de fonctionnalité, URL publiques. Leurs valeurs apparaissent dans le tableau de bord et dans la sortie de la CLI.
Secrets
Utilisez des secrets pour tout ce qui donne un accès : jetons d’API, clés de signature, mots de passe. Une fois enregistrée, la valeur d’un secret n’est plus jamais affichée. Vous pouvez la remplacer ou la supprimer, et chaque changement est inscrit dans le journal d’audit.
Groupes partagés
Un groupe est un ensemble nommé de variables utilisé par plusieurs services. Modifiez une valeur du groupe et chaque service lié la récupère à son prochain déploiement.
- Un groupe par sujet, comme
shared-configoupayments - Les groupes peuvent être limités à certains environnements
- Un service peut lier plusieurs groupes
Environnements et aperçus
Chaque environnement a ses propres valeurs. La production, la préproduction et les environnements d’aperçu ne partagent jamais de secrets, sauf si vous leur liez le même groupe. Les environnements d’aperçu copient par défaut les valeurs de préproduction : une pull request ne voit donc jamais les identifiants de production.
Faire tourner un secret
La rotation se fait en deux étapes, pour que rien ne casse entre les deux :
- Ajoutez la nouvelle valeur sous une seconde clé et déployez le code qui la lit.
- Supprimez l’ancienne clé quand plus rien ne l’utilise.
envVars:
- key: API_TOKEN_NEXT
sync: falseLimites
Un service peut contenir jusqu’à 500 variables, et une valeur peut atteindre 32 Ko. Pour les fichiers plus volumineux, comme les certificats, stockez-les en fichiers secrets et lisez-les depuis le disque.