Productie
PentAGI draaien voor een team — hardening, isolatie, Podman en meerdere instanties.
Checklist
- Stel alle inloggegevens in, inclusief
COOKIE_, voordat je voor het eerst start — zie Beveiliging. De installer genereert de salt en de service-wachtwoorden, maar niet de Langfuse- en Grafana-admin-wachtwoorden: stelSIGNING_ SALT LANGFUSE_enINIT_ USER_ PASSWORD passwordin de template in, voordat Langfuse voor het eerst start, en wijzig Grafana's standaardadmin/adminna de eerste start. Op een draaiende installatie wijzig je de PostgreSQL- en Neo4j-wachtwoorden binnen de databases voordat je ze wijzigt in.env. - Gebruik een echt certificaat en een stabiele
PUBLIC_.URL - Achter een reverse proxy stel je
TRUSTED_in op het adres of CIDR van de proxy. Anders delen alle gebruikers het adres van de proxy, en 30 mislukte aanmeldingen binnen 5 minuten blokkeren iedereen voor 15 minuten.PROXIES - Verplaats de uitvoering van toolstoolWaarmee een agent handelt: een ingebouwde mogelijkheid zoals de terminal, de geïsoleerde browser of webzoeken, of een programma in de sandbox zoals nmap, metasploit of sqlmap. naar een speciale worker node.
- Schakel observeerbaarheid in zodat je kosten en storingen kunt volgen.
- Houd de knowledge graphknowledge graph — kennisgraafDe graaf van hosts, services, kwetsbaarheden en de toegang ertussen die PentAGI tijdens een test opbouwt wanneer deze optionele functie is ingeschakeld. Het laat zien hoe bevindingen met elkaar verbonden zijn. en Langfuse op een privénetwerk.
Podman
PentAGI draait zowel op Podman als op Docker. In rootless-modus heeft de scraper-service extra configuratie nodig omdat containers zonder root-rechten geen bevoorrechte poorten kunnen binden; de README van de repository beschrijft de configuraties voor zowel rootless als met root-rechten.
Meerdere instanties (TENANT_ ID)
Laat TENANT_ leeg voor een enkele installatie en houd het leeg bij een bestaande: als je het later instelt, verhuist de instantie naar een nieuw, leeg schema dat begint met de standaard [email protected] account, en zijn flowsflowEén run van PentAGI: een doel, de taken die uit je berichten zijn gemaakt, en alles wat de agents onderweg hebben gedaan., gebruikers en instellingen verschijnen niet meer. Stel het in op de instanties die je toevoegt wanneer meerdere PentAGI-instanties externe bronnen delen, zoals één PostgreSQL-server, één worker nodeworker nodeEen aparte server die de toolcontainers van de agents draait, zodat de opdrachten die ze uitvoeren nooit de hoofdhost van PentAGI raken., één Neo4j of één Langfuse:
| Gebied | Effect van TENANT_ |
|---|---|
| PostgreSQL | Werkt binnen schema acme in plaats van public |
| Worker-containers | Heten acme-pentagi-terminal-<flow> |
| Knowledge graph | Groeps-id's worden acme-flow-<id> |
| Authenticatie | Cookie- en tokensleutels bevatten de tenanttenantEén PentAGI-installatie. Wanneer meerdere installaties externe resources delen, zoals één PostgreSQL-database, krijgt elke toegevoegde installatie een eigen TENANT_ID; een bestaande installatie laat dit leeg. |
| Telemetrie | Langfuse- en OpenTelemetry-gegevens worden gelabeld met de tenant |
De waarde moet overeenkomen met ^[a-z][a-z0-9_. Hostbronnen zijn niet namespaced. Instanties op één server hebben hun eigen DATA_ en gepubliceerde poorten nodig. Instanties waarvan de sandboxessandboxDe geïsoleerde Docker-container waarin agents hun tools uitvoeren. De interface toont deze als Terminal. op dezelfde Docker-host draaien, op één server of een gedeelde worker node, hebben hun eigen DOCKER_ nodig en, als deze is ingesteld, hun eigen DOCKER_; anders claimen hun sandboxes dezelfde poorten en starten flows niet. Elke base start een venster van 2000 poorten, standaard 28000, gebruik dus bijvoorbeeld 28000 en 30000.
Laatst bijgewerkt op