Transmettre des variables d’environnement
Déclarez les variables transmises à la sandbox, à l’agent et aux commandes.
Choisir où déclarer une variable
Section intitulée « Choisir où déclarer une variable »Déclarez chaque variable là où elle est utile : sur le fournisseur de sandbox, sur le harness d’un agent ou sur une commande. Outpost transmet les noms déclarés ; choisissez le périmètre qui couvre les processus ayant besoin de la valeur.
| Où | Atteint | Pour |
|---|---|---|
variables du fournisseur de sandbox | Toutes les commandes de la sandbox, agent compris | Réglages d’outils comme CI ou NODE_ENV |
variables du harness (agents CLI) | Les processus de l’agent uniquement | Clés d’API, réglages de l’agent, secrets MCP |
variables d’une commande | Cette seule commande | Une surcharge ponctuelle |
.outpost/.env dans le dépôt cible | Toutes les commandes de la sandbox, comme celles du fournisseur | Des valeurs gardées hors du code, propres à un dépôt |
Les valeurs sont des chaînes. Sélectionnez chaque nom dans process.env explicitement : recopier tout process.env enverrait chaque secret de l’hôte dans la sandbox. Les variables par commande sont présentées dans Sessions de sandbox.
Comprendre la priorité des valeurs
Section intitulée « Comprendre la priorité des valeurs »Quand un nom apparaît à plusieurs endroits, la source la plus spécifique l’emporte :
.outpost/.env → fournisseur de sandbox → harness → commande
Outpost définit aussi GIT_AUTHOR_* et GIT_COMMITTER_* d’après la configuration Git du dépôt ; toute source déclarée les remplace.
Garder des valeurs dans .outpost/.env
Section intitulée « Garder des valeurs dans .outpost/.env »Outpost lit .outpost/.env à la racine du dépôt cible quand il prépare une sandbox. Un fichier absent est ignoré.
Une valeur non vide est utilisée telle quelle. Une déclaration vide comme LINEAR_API_KEY= prend la valeur dans l’environnement du processus qui exécute Outpost. Les lignes acceptent export, les guillemets et les commentaires # en fin de ligne.
Charger un fichier dans votre script
Section intitulée « Charger un fichier dans votre script »Node.js peut charger un fichier d’environnement avant d’exécuter votre script :
Votre code choisit ensuite les valeurs à transmettre avec variables. Charger le fichier dans Node.js ne transmet pas automatiquement son contenu à la sandbox. Le chemin .env est relatif au dossier depuis lequel vous lancez la commande.
Secrets des serveurs MCP et du harness intégré
Section intitulée « Secrets des serveurs MCP et du harness intégré »Les serveurs MCP nomment leurs secrets ; Outpost n’écrit jamais les valeurs dans leur configuration.
- Agents CLIDéclarez le secret dans les
variablesdu harness, sur le fournisseur de sandbox ou dans.outpost/.env. - Harness intégré
createHarness()n’a pas devariables. Déclarez le secret sur le fournisseur de sandbox ou dans.outpost/.env. - Fournisseurs de modèleL’
apiKeyreste sur l’hôte, dans votre code. Ne la transmettez pas à la sandbox.
Un secret manquant échoue avant le démarrage du serveur, avec Missing NAME.
Hôte ou sandbox
Section intitulée « Hôte ou sandbox »Déclarez uniquement ce dont le code de la sandbox a besoin. Les clés d’allocation de sandbox et de stockage restent sur l’hôte avec leurs clients : voir Authentification.
- Avec l’exécution sur l’hôte, les commandes héritent aussi de tout l’environnement du processus Outpost.
- Un
process.env.NAME ?? ""non défini transmet une chaîne vide, pas une variable absente.
API : Variables · Command · createDockerSandboxProvider · createClaudeHarness · createHarness.