Prochain webinaire : La sécurité d'entreprise pour Claude Code | 21 avril · 11 h PST. Inscrivez-vous ici →

Gestion des variables d'environnement avec SecretsFoundry

Par TrueFoundry

Mis à jour : August 17, 2022

Résumez avec

J'ai écrit sur les différentes manières de gérer les variables d'environnement plus tôt dans mon poste ici. Pour nous faciliter la gestion de la configuration dans notre startup à Véritable fonderie, nous avons écrit un petit outil appelé SecretsFoundry qui a vraiment simplifié la gestion de leurs configurations dans Git par toutes les équipes chargées de l'application. Nous avons pensé que cela pourrait être utile pour d'autres équipes de développeurs et avons donc décidé de open source ça.

Avant d'entrer dans les détails, il serait bon de comprendre quel est le problème résolu par SecretsFoundry. Chaque application possède une variable de configuration sensible et non sensible qui doit être fournie à l'application lors de son exécution. Pour les variables non sensibles, les utilisateurs ont tendance à placer les variables dans un fichier, puis à les charger dans l'application à l'aide de bibliothèques telles que dotenv. Pour les variables non sensibles, les utilisateurs stockent les valeurs dans certains gestionnaires de secrets tels qu'AWS SecretManager, Hashicorp Vault, puis écrivent du code d'application pour extraire les secrets du magasin. L'autre approche consiste à faire en sorte qu'un système externe infuse les variables du magasin de secrets dans l'environnement de l'application. Dans ce cas, le domaine des variables d'environnement relève davantage de la responsabilité des DevOps et les développeurs en perdent le contrôle, ce qui entraîne davantage de bogues et un débogage plus difficile en cas de problème.

SecretsFoundry essaie de résoudre les problèmes ci-dessus en procédant comme suit :

Toutes les clés sensibles et non sensibles peuvent être stockées dans un seul fichier.

Pour les variables non sensibles, vous pouvez placer les variables directement. Pour les variables sensibles, nous plaçons le chemin dans le secretstore comme valeur de ces variables. De cette façon, nous indiquons à secretsfoundry comment récupérer ces valeurs. Voici un exemple d'un tel fichier :

fichier .env

NODE_ENV = développement
HÔTE = hôte local
DB_NAME = exemple_app_db
DB_USER = $ {aws-secret : /development/example_app/DB_User}
DB_PASSWORD = $ {aws-secret : /development/example_app/DB_password}

Dans l'exemple ci-dessus, les fichiers DB_USER et DB_PASSWORD réels sont stockés dans AWS Secrets Manager. Les développeurs peuvent mentionner le chemin dans le fichier .env et secretsfoundry le récupérera pour vous.

Aucun code spécifique à l'application pour récupérer les variables d'environnement

Secretsfoundry fonctionne en infusant les valeurs réelles dans l'environnement de l'application avant son démarrage plutôt que dans l'application. Cela présente deux avantages :

  1. Aucune dépendance dans l'application et nous n'avons pas besoin d'ajouter de bibliothèques dans la multitude de langues différentes.
  2. Si secretsfoundry n'est pas en mesure de trouver une certaine variable d'environnement, secretsfoundry lui-même génère des erreurs et envoie un signal précoce de mauvaise qualité à tous les systèmes de déploiement tels que Kubernetes. Sinon, c'est à l'application de procéder à la validation et de gérer les échecs.

Prise en charge de plusieurs gestionnaires de secrets

SecretsFoundry s'intègre à AWS Parameter Store, AWS S3, AWS SecretsManager et Hashicorp Vault pour la gestion des secrets. L'ajout d'un nouveau magasin secret est assez simple et nous prévoyons d'étendre la prise en charge de GCP et d'Azure Vault à l'avenir.

Utilisation de SecretsFoundry

La façon d'utiliser SecretsFoundry est la suivante :

secretsfoundry run -c « node start.js »

ou si votre script de démarrage contient plusieurs commandes :

secretsfoundry run -s « node run_migration_script && node start.js »

Quand nous le faisons Secrets Foundry Run, il recherche un fichier .env dans ce répertoire et imprime les valeurs des variables. S'il existe un argument -c ou -s, il les intègre dans l'environnement de cette application. Donc, si vous considérez le fichier .env que nous avons écrit plus tôt, l'exécution de secretsfoundry run dans ce répertoire produira

SecretsFoundry Run

NODE_ENV = développement
HÔTE = hôte local
DB_NAME = exemple_app_db
DB_USER = administrateur
DB_PASSWORD = mot de passe

Nous pouvons avoir un petit exemple d'application dans start.js qui ressemble à ceci :

secretsfoundry run -c « node start.js »

SecretsFoundry peut également charger n'importe quel autre fichier .env. <stage>fichier utilisant

secretsfoundry run — stage= <stage>

SecretsFoundry peut récupérer les fichiers de configuration d'un autre répertoire en utilisant

secretsfoundry run -p <Chemin vers le répertoire de configuration contenant les fichiers .env. >

Il peut également prendre le chemin d'entrée vers un fichier qui peut être au format .env/json/yaml et sortir les variables résolues dans un autre fichier. Nous l'utilisons pour intégrer différents systèmes Kubernetes, dont je parlerai dans un autre blog.

<Input file containing variables (.env/json/yaml) >secretsfoundry run -i -o <output_file>

SecretsFoundry a besoin d'informations d'identification pour obtenir les paramètres du SecretStore. Vous devrez donc fournir ces variables manuellement à votre environnement.

Installation et documentation

Vous pouvez télécharger secretsfoundry en utilisant npm ou yarn (https://www.npmjs.com/package/secretsfoundry)

npm install -g secretsfoundry

SecretsFoundry réside dans ce Dépôt Github et ses documents peuvent être consultés sur https://truefoundry.gitbook.io/secretsfoundry.

Essayez SecretsFoundry et faites-nous part de votre expérience. Nous l'utilisons assez largement en interne avec AWS Parameter Store, mais l'intégration de Hashicorp Vault n'a pas été bien testée. Essayez-le et dites-nous si vous trouvez des bugs ou si vous avez des demandes de fonctionnalités.

Publié à l'origine le Moyen

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

INSCRIVEZ-VOUS
Table des matières

Gouvernez, déployez et suivez l'IA dans votre propre infrastructure

Réservez un séjour de 30 minutes avec notre Expert en IA

Réservez une démo

Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA

Démo du livre

Découvrez-en plus

October 5, 2023
|
5 min de lecture

<Webinar>Vitrine GenAI pour les entreprises

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 min de lecture

Les 6 meilleurs outils de réglage pour la formation des modèles en 2026

May 25, 2023
|
5 min de lecture

LLMs open source : Embrace or Perish

August 27, 2025
|
5 min de lecture

Cartographie du marché de l'IA sur site : des puces aux plans de contrôle

 Best AI Gateways in 2026
April 22, 2026
|
5 min de lecture

5 meilleures passerelles IA en 2026

comparaison
April 22, 2026
|
5 min de lecture

Intégration de Cline avec TrueFoundry AI Gateway

Outils LLM
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 min de lecture

Qu'est-ce qu'AI Gateway ? Concepts de base et guide

Aucun article n'a été trouvé.
April 22, 2026
|
5 min de lecture

LLM Embeddings 101 : un guide complet 2024

Terminologie LLM
Aucun article n'a été trouvé.

Blogs récents

Faites un rapide tour d'horizon des produits
Commencer la visite guidée du produit
Visite guidée du produit