Le sandbox cloud

Où votre code s'exécute. Chaque tâche TaskGoblin s'exécute dans un sandbox cloud isolé et persistant — jamais sur un ordinateur portable — avec vos identifiants injectés autour de l'agent, et non remis entre ses mains.

TaskGoblin est un agent cloud, ce qui veut dire que la question la plus importante de toutes — où mon code s'exécute-t-il ? — n'a qu'une seule réponse : dans un sandbox cloud isolé, jamais sur l'ordinateur portable de qui que ce soit. Cette page explique ce qu'est ce sandbox, pourquoi il est isolé, et comment il le reste à mesure que votre équipe grandit.

Ce qu'est le sandbox

Un sandbox est un conteneur isolé dans le cloud, contenant une copie de votre dépôt. Quand vous confiez une tâche, l'agent s'exécute à l'intérieur de ce conteneur — il y lit et modifie des fichiers, exécute des commandes et inspecte le dépôt, sans accès à votre machine et sans dépendre du fait qu'elle soit allumée.

Parce que le sandbox vit dans le cloud, le travail est asynchrone par nature : vous assignez une tâche et vous partez, et l'agent continue à travailler que vous regardiez ou non.

Isolation : une frontière par organisation

Le travail de chaque organisation s'exécute dans son propre sandbox. Cette frontière est le cœur de l'isolation des données de TaskGoblin — une organisation ne peut jamais lire ni écrire le code, les dépôts ou l'historique d'exécution d'une autre. L'agent ne voit jamais que les espaces de travail, dépôts et projets que vous connectez explicitement ; déconnectez une intégration et il perd l'accès sur-le-champ.

Persistance : il retient l'environnement, pas seulement la tâche

Le sandbox est persistant et réutilisé d'un message à l'autre au sein d'un même fil. Une relance sur le même issue atterrit dans un environnement où le dépôt est déjà cloné et où l'état de l'exécution précédente est en place — l'agent reprend donc rapidement au lieu de repartir d'une boîte vide à chaque fois. C'est ce qui rend l'itération sur une tâche continue plutôt que répétitive. (Pour savoir comment cette continuité transporte les décisions d'une exécution à l'autre, voir Comment fonctionne l'agent, section fils et mémoire de passation.)

Les secrets restent hors de l'agent

L'agent ne voit jamais vos identifiants. L'accès git à l'intérieur du sandbox est provisionné par organisation au moment de l'exécution — un jeton OAuth GitLab ou un jeton d'installation GitHub fraîchement émis — et injecté dans l'environnement autour de l'agent plutôt que remis entre ses mains comme quelque chose à lire. L'agent peut utiliser l'accès dont il a besoin pour cloner et pousser, sans que vos secrets entrent jamais dans sa transcription ou son contexte.

C'est une frontière délibérée, pas un effet de bord : l'identifiant est disponible pour l'outillage git du sandbox, mais il ne fait jamais partie du matériau que l'agent lit ou sur lequel il raisonne.

Sandboxes personnalisés

Sur les forfaits d'équipe, vous pouvez apporter un sandbox personnalisé — une image de conteneur préchargée avec la chaîne d'outils, les paquets système et les services dont votre projet a besoin pour compiler et tester. Quand le travail de l'agent dépend de plus qu'un simple checkout (un runtime précis, une base de données, un outillage de build privé), un sandbox personnalisé signifie que l'environnement est prêt dès le démarrage de la tâche, et que les changements de l'agent peuvent être vérifiés dans un montage réaliste.

Sandboxes auto-hébergés

Les équipes soumises à des exigences de conformité ou de résidence des données peuvent exécuter des sandboxes sur leur propre infrastructure. Le plan de contrôle continue de planifier et de piloter le travail, mais le conteneur où votre code est récupéré et exécuté vit dans votre environnement — le code source, les artefacts de build et l'état d'exécution ne quittent donc jamais une frontière que vous contrôlez. C'est l'option à choisir quand « dans le cloud » doit vouloir dire votre cloud.

Où aller ensuite

  • Comment fonctionne l'agent — le parcours complet du déclencheur à la merge request, les fils et la mémoire de passation.
  • Assignez du travail à l'agent — toutes les façons de lancer une exécution, et comment le travail parallèle utilise un sandbox par tâche.
  • Loops — des exécutions récurrentes qui utilisent le même modèle de sandbox à intervalles réguliers.