Worker node
Run agent containers on a dedicated, hardened server away from the main PentAGI host.
In production, keep untrusted tooltoolWhat an agent acts through: a built-in capability such as the terminal, the isolated browser or web search, or a program in the sandbox such as nmap, metasploit or sqlmap. execution off the machine that runs PentAGI. A worker nodeworker nodeA separate server that runs the agents' tool containers, so the commands they run never touch the main PentAGI host. hosts the agentsagentAn AI agent of PentAGI: a model with its own prompt, settings and tools that does one kind of work in a flow, such as testing, writing code or searching the web.' containers behind TLS-protected Docker endpoints, so commands an agent runs never touch the main host.
Why a worker node
- Isolation. Tool containers run on dedicated hardware with their own network boundary.
- Controlled Docker access. Agents that need Docker talk to a hardened Docker-in-Docker daemon through an authorization policy instead of the host daemon.
- Out-of-band testing. A dedicated port range on the worker supports OOB callbacks.
Connection modes
- Standard (recommended) — PentAGI connects to the worker's host Docker over TLS to create worker containers; workers reach Docker-in-Docker over its TLS endpoint. Set
DOCKER_together withINSIDE=true DOCKER_,INSIDE_ HOST DOCKER_andINSIDE_ TLS_ VERIFY DOCKER_, and leaveINSIDE_ CERT_ PATH DOCKER_empty: theSOCKET .envtemplate's/would also mount the worker node's host Docker socket into every sandboxsandboxThe isolated Docker container in which agents run their tools. The interface shows it as Terminal.. Withoutvar/ run/ docker.sock DOCKER_, agents get no Docker access.INSIDE_ HOST - Direct — PentAGI talks to Docker-in-Docker directly; host bind-mounts are then denied by policy, so Docker access for agents must be disabled.
Set it up
The complete procedure — TLS certificates for both daemons, the hardened Docker-in-Docker configuration, policy updates and verification — is in the worker node guide in the repository.
Last updated on