createDockerSandboxProvider
Rôle et comportement
Section intitulée « Rôle et comportement »Crée le provider Docker, utilisé quand sandboxProvider est omis. Par défaut, le worktree et ses métadonnées Git sont montés dans /workspace ; repositoryMode isolated envoie l’historique à la place. Chaque acquire crée un conteneur, que release supprime.
Exemple complet et règles détaillées.
Paramètres et propriétés
Section intitulée « Paramètres et propriétés »optionsOptionnelContainerOptions | undefinedImage de conteneur, mode de dépôt, montages, environnement, réseau et limites de ressources.options.egressOptionnelEgressPolicy | undefineddeny-all uniquement, appliqué par le réseau none. Une allowlist, ou des networks autres que none, échoue avec le code configuration dès la création.options.repositoryModeOptionnel"mounted" | "isolated" | undefinedmounted (par défaut) monte le worktree dans /workspace avec ses métadonnées Git. isolated rend le provider distant : l’historique est envoyé dans /tmp/outpost/workspace, les volumes ne peuvent pas exposer le dépôt hôte et la reprise de spéculation durable n’est pas disponible.options.cachesOptionnelreadonly DependencyCache[] | undefinedVolumes nommés du moteur, montés dans /outpost/cache/<name>, qui survivent à la sandbox. Le volume dépend du dépôt, de l’image, de l’utilisateur, du nom et de la clé ; les volumes explicites ne doivent pas recouvrir /outpost/cache.options.imageOptionnelstring | undefinedImage à exécuter, outpost:<nom du répertoire du dépôt> par défaut. Quand user est absent et que l’image déclare un autre utilisateur numérique que le vôtre, l’acquisition échoue avec le code provider.options.userOptionnel{ readonly uid: number; readonly gid: number; } | undefinedUID et GID des commandes dans le conteneur, vos UID et GID hôtes par défaut (1000:1000 s’ils sont indisponibles).options.volumesOptionnelreadonly Volume[] | undefinedMontages hôtes supplémentaires dans le conteneur.options.variablesOptionnelReadonly<Record<string, string>> | undefinedVariables d’environnement définies pour chaque commande de la sandbox, en valeurs littérales. Une clé aussi déclarée par l’agent échoue avec le code configuration.options.networksOptionnelstring | readonly string[] | undefinedRéseau ou réseaux du moteur à attacher, passés par —network.options.groupsOptionnelreadonly (string | number)[] | undefinedGroupes supplémentaires de l’utilisateur du conteneur, passés par —group-add.options.devicesOptionnelreadonly string[] | undefinedPériphériques hôtes exposés au conteneur, passés par —device.options.cpusOptionnelnumber | undefinedLimite CPU passée par —cpus ; doit être positive.options.memoryMbOptionnelnumber | undefinedLimite mémoire en mégaoctets, un entier d’au moins 64.options.labelOptionnelfalse | "z" | "Z" | undefinedRéétiquetage SELinux des montages sous Linux : z partagé (par défaut), Z privé, false montages simples.options.retainOptionnelnumber | undefinedOctets de fin de sortie conservés par flux, 65536 par défaut.options.usernsOptionnelfalse | "keep-id" | undefinedEspace de noms utilisateur Podman : keep-id conserve votre utilisateur et s’applique par défaut quand Outpost ne tourne pas en root ; false le désactive. Docker l’ignore.