# Worker node

> Uruchamiaj kontenery agentów na dedykowanym, zabezpieczonym serwerze, z dala od głównego hosta PentAGI.

W środowisku produkcyjnym nie uruchamiaj niezaufanych [tool](https://pentagi.com/pl/docs/glossary/#tool) na maszynie, na której działa PentAGI. [Worker node](https://pentagi.com/pl/docs/glossary/#worker-node) hostuje kontenery agentów za punktami końcowymi Dockera chronionymi przez TLS, dzięki czemu polecenia wykonywane przez agenta nigdy nie mają kontaktu z głównym hostem.

```mermaid
graph TB
  accTitle: Main node running PentAGI and a separate worker node running the tool containers
  subgraph Main node
    PA[PentAGI]
  end
  subgraph Worker node
    HD[Host Docker :2376 TLS]
    DIND[Docker-in-Docker :3376 TLS<br/>authorization policy + seccomp]
    W[Worker containers]
    N[Nested containers]
  end
  PA -->|TLS, creates workers| HD
  HD --> W
  W -->|TLS| DIND
  DIND --> N
```

## [Dlaczego worker node](https://pentagi.com/pl/docs/deployment/worker-node/#why-a-worker-node)

* **Izolacja.** Kontenery z tool działają na dedykowanym sprzęcie z własną granicą sieciową.
* **Kontrolowany dostęp do Dockera.** Agenci potrzebujący Dockera komunikują się z zabezpieczonym demonem Docker-in-Docker poprzez politykę autoryzacji, zamiast łączyć się z demonem hosta.
* **Testowanie out-of-band.** Dedykowany zakres portów na worker node obsługuje wywołania zwrotne OOB.

## [Tryby połączenia](https://pentagi.com/pl/docs/deployment/worker-node/#connection-modes)

* **Standardowy (zalecany)** — PentAGI łączy się z Dockerem hosta worker node przez TLS, aby utworzyć kontenery robocze; worker node łączą się z Docker-in-Docker przez jego punkt końcowy TLS. Ustaw `DOCKER_INSIDE=true` razem z `DOCKER_INSIDE_HOST`, `DOCKER_INSIDE_TLS_VERIFY` i `DOCKER_INSIDE_CERT_PATH`, a `DOCKER_SOCKET` pozostaw puste: `/var/run/docker.sock` szablonu `.env` montowałby również gniazdo Dockera hosta worker node w każdym [sandbox](https://pentagi.com/pl/docs/glossary/#sandbox). Bez `DOCKER_INSIDE_HOST` agenci nie mają dostępu do Dockera.
* **Bezpośredni** — PentAGI komunikuje się bezpośrednio z Docker-in-Docker; montowania katalogów hosta są wtedy blokowane przez politykę, więc dostęp do Dockera dla agentów musi być wyłączony.

## [Konfiguracja](https://pentagi.com/pl/docs/deployment/worker-node/#set-it-up)

Pełna procedura — certyfikaty TLS dla obu demonów, zabezpieczona konfiguracja Docker-in-Docker, aktualizacje polityk i weryfikacja — znajduje się w [przewodniku po worker node](https://github.com/vxcontrol/pentagi/blob/main/examples/guides/worker_node.md) w repozytorium.