TaskGoblin은 클라우드 에이전트입니다. 즉, 가장 중요한 질문 — 내 코드는 어디에서 실행되는가? — 에 대한 답은 하나뿐입니다: 격리된 클라우드 샌드박스 안에서, 결코 누군가의 노트북 위에서가 아닙니다. 이 페이지는 그 샌드박스가 무엇인지, 왜 격리되어 있는지, 그리고 팀이 커져도 어떻게 그 상태를 유지하는지 설명합니다.
샌드박스란
샌드박스는 여러분의 리포지토리를 체크아웃해 둔, 클라우드의 격리된 컨테이너입니다. 작업을 넘기면 에이전트는 그 컨테이너 안에서 실행됩니다 — 거기서 파일을 읽고 수정하고, 명령을 실행하고, 리포지토리를 살펴봅니다. 여러분의 컴퓨터에는 접근하지 않으며, 그것이 켜져 있는지 여부에도 의존하지 않습니다.
샌드박스가 클라우드에 있기 때문에 작업은 본질적으로 비동기적입니다: 작업을 맡기고 자리를 떠나도, 여러분이 보고 있든 아니든 에이전트는 계속 일합니다.
격리: 조직마다 하나의 경계
각 조직의 작업은 자기 자신의 샌드박스 안에서 실행됩니다. 그 경계가 TaskGoblin 데이터 격리의 핵심입니다 — 한 조직이 다른 조직의 코드, 리포지토리, 실행 기록을 읽거나 쓰는 일은 결코 없습니다. 에이전트는 여러분이 명시적으로 연결한 워크스페이스, 리포지토리, 프로젝트만 볼 수 있으며, 연결을 해제하면 즉시 접근 권한을 잃습니다.
지속성: 작업뿐 아니라 환경도 기억합니다
샌드박스는 지속적이며 한 스레드의 여러 메시지에 걸쳐 재사용됩니다. 같은 이슈에 대한 후속 요청은 이미 리포지토리가 클론되어 있고 이전 실행의 상태가 남아 있는 환경에 도착합니다 — 그래서 에이전트는 매번 빈 상자에서 시작하는 대신 빠르게 이어서 진행합니다. 하나의 작업을 반복해서 다듬는 일이 되풀이가 아니라 연속처럼 느껴지는 이유가 이것입니다. (그 연속성이 실행 사이에 결정을 어떻게 이어가는지는 에이전트의 작동 방식의 스레드와 인수인계 메모리 부분을 참고하세요.)
비밀 정보는 에이전트 밖에 머뭅니다
에이전트는 여러분의 자격 증명을 결코 보지 못합니다. 샌드박스 안의 git 접근 권한은 실행 시점에 조직별로 발급되며 — GitLab OAuth 토큰이거나 새로 발급된 GitHub 설치 토큰입니다 — 에이전트에게 읽으라고 건네지는 대신 에이전트 주변의 환경에 주입됩니다. 에이전트는 클론과 푸시에 필요한 접근 권한을 사용할 수 있지만, 여러분의 비밀 정보가 그 기록이나 컨텍스트에 들어가는 일은 없습니다.
이것은 부작용이 아니라 의도적으로 그은 경계입니다: 자격 증명은 샌드박스의 git 도구가 쓸 수 있지만, 에이전트가 읽거나 추론하는 자료의 일부가 되는 일은 결코 없습니다.
맞춤형 샌드박스
팀 요금제에서는 맞춤형 샌드박스를 가져올 수 있습니다 — 프로젝트를 빌드하고 테스트하는 데 필요한 툴체인, 시스템 패키지, 서비스가 미리 담긴 컨테이너 이미지입니다. 에이전트의 작업이 단순 체크아웃 이상(특정 런타임, 데이터베이스, 사내 빌드 도구)에 의존한다면, 맞춤형 샌드박스는 작업이 시작되는 순간 환경이 준비되어 있다는 뜻이며, 에이전트의 변경을 현실적인 구성에서 검증할 수 있게 해줍니다.
자체 호스팅 샌드박스
규정 준수나 데이터 소재지 요구가 있는 팀은 자체 인프라에서 샌드박스를 운영할 수 있습니다. 컨트롤 플레인은 여전히 작업을 예약하고 이끌지만, 여러분의 코드가 체크아웃되고 실행되는 컨테이너는 여러분의 환경 안에 있습니다 — 따라서 소스, 빌드 산출물, 실행 상태가 여러분이 통제하는 경계를 벗어나는 일이 없습니다. "클라우드에서"가 반드시 여러분의 클라우드를 뜻해야 할 때 선택할 옵션입니다.
다음으로 볼 문서
- 에이전트의 작동 방식 — 트리거부터 머지 리퀘스트까지의 전체 흐름, 스레드, 인수인계 메모리.
- 에이전트에게 작업 할당하기 — 실행을 시작하는 모든 방법과, 병렬 작업이 작업마다 샌드박스 하나를 쓰는 방식.
- Loops — 같은 샌드박스 모델을 일정 주기로 사용하는 반복 실행.