Produkcja
Uruchamianie PentAGI dla zespołu — hardening, izolacja, Podman i wiele instancji.
Lista kontrolna
- Ustaw wszystkie dane uwierzytelniające, w tym
COOKIE_, przed pierwszym uruchomieniem — zobacz Bezpieczeństwo. Instalator generuje sól i hasła usług, ale nie hasła administratora Langfuse i Grafana: ustawSIGNING_ SALT LANGFUSE_,INIT_ USER_ PASSWORD passwordw szablonie, zanim Langfuse zostanie uruchomiony po raz pierwszy, a domyślneadmin/adminGrafany zmień po jej pierwszym uruchomieniu. Na działającej instalacji zmień hasła PostgreSQL i Neo4j wewnątrz baz danych, zanim zmienisz je w.env. - Użyj prawdziwego certyfikatu i stabilnego
PUBLIC_.URL - Za reverse proxy ustaw
TRUSTED_na adres lub CIDR proxy. W przeciwnym razie wszyscy użytkownicy współdzielą adres proxy, a 30 nieudanych prób logowania w ciągu 5 minut zablokuje dostęp wszystkim na 15 minut.PROXIES - Przenieś wykonywanie tooltool — narzędzieTo, za pomocą czego działa agent: wbudowana funkcja, taka jak terminal, izolowana przeglądarka lub wyszukiwanie w sieci, albo program w sandboxie, np. nmap, metasploit lub sqlmap. na dedykowany worker node.
- Włącz obserwowalność, aby móc śledzić koszty i błędy.
- Trzymaj knowledge graphknowledge graph — graf wiedzyGraf hostów, usług, luk i dostępu między nimi, który PentAGI buduje podczas testu, gdy ta opcjonalna funkcja jest włączona. Pokazuje, jak ustalenia są ze sobą powiązane. i Langfuse w sieci prywatnej.
Podman
PentAGI działa zarówno na Podman, jak i na Docker. W trybie rootless usługa scraper wymaga dodatkowej konfiguracji, ponieważ kontenery rootless nie mogą wiązać portów uprzywilejowanych; README repozytorium opisuje konfiguracje rootless i rootful.
Wiele instancji (TENANT_ ID)
Pozostaw TENANT_ puste dla pojedynczej instalacji i nie zmieniaj tej wartości w istniejącej: późniejsze ustawienie przenosi instancję do nowego, pustego schematu, który zaczyna się od domyślnego konta [email protected], a jej flowflowJeden flow PentAGI: cel, zadania utworzone na podstawie Twoich wiadomości oraz wszystko, co agenci zrobili po drodze., użytkownicy i ustawienia przestają być widoczne. Ustaw tę wartość w dodawanych instancjach, gdy kilka instancji PentAGI współdzieli zasoby zewnętrzne, takie jak jeden serwer PostgreSQL, jeden worker nodeworker node — węzeł roboczyOddzielny serwer uruchamiający kontenery narzędzi agentów, dzięki czemu wykonywane przez nie polecenia nigdy nie mają bezpośredniego dostępu do głównego hosta PentAGI., jedna instancja Neo4j lub jedno Langfuse:
| Obszar | Wpływ TENANT_ |
|---|---|
| PostgreSQL | Działa w schemacie acme zamiast public |
| Kontenery robocze | Nazwane acme-pentagi-terminal-<flow> |
| Knowledge graph | Identyfikatory grup stają się acme-flow-<id> |
| Uwierzytelnianie | Klucze ciasteczek i tokenów zawierają identyfikator tenanttenantJedna instalacja PentAGI. Gdy kilka instalacji współdzieli zasoby zewnętrzne, takie jak jedna baza danych PostgreSQL, każda dodawana otrzymuje własny TENANT_ID; istniejąca instalacja pozostawia go pusty. |
| Telemetria | Dane Langfuse i OpenTelemetry są oznaczone identyfikatorem tenant |
Wartość musi być zgodna z ^[a-z][a-z0-9_. Zasoby hosta nie są odizolowane przestrzennie. Instancje na jednym serwerze potrzebują własnych DATA_ i publikowanych portów. Instancje, których sandboxessandboxIzolowany kontener Docker, w którym agenci uruchamiają swoje narzędzia. Interfejs pokazuje go jako Terminal. działają na tym samym hoście Docker, na jednym serwerze lub współdzielonym worker node, potrzebują własnego DOCKER_ oraz, jeśli jest ustawiony, własnego DOCKER_; w przeciwnym razie ich sandboxes zajmą te same porty i flow nie uruchomią się. Każda baza rozpoczyna zakres 2000 portów, domyślnie 28000, więc użyj na przykład 28000 i 30000.
Ostatnia aktualizacja