Guider
Nettverk i sandkassen
Hva agenten når på nettet i cplt, og hvordan du åpner for det den trenger.
brew update brew upgrade navikt/tap/nav-pilot navikt/tap/cplt copilot update # Copilot CLI opencode upgrade # hvis du bruker opencode
Slik er nettverket satt opp
cplt setter proxyvariablene for agenten og alt den starter. Med standardoppsettet gjelder dette:
- Trafikk gjennom proxyen når alle hoster, bortsett fra en innebygd liste med kjente steder å lekke data til.
- Bare port 443 er åpen.
- Proxyen stenger hoster som peker til en privat IP-adresse. Det gjelder mange interne tjenester hos Nav.
- macOS: localhost er stengt, se connect EPERM 127.0.0.1.
Proxyen er ikke tvungen. Et program som ignorerer proxyvariablene, kan koble seg direkte til port 443, og da gjelder ikke reglene for hoster. strict tvinger all trafikk gjennom proxyen.
Endringer med cplt config set gjelder fra neste økt.
Se hva som blir stoppet
cplt check net registry.npmjs.org # ALLOWED eller BLOCKED, med grunn cplt config set proxy.log_level blocked # vis blokkerte kall mens agenten jobber
cplt check net sier hvorfor en host er stoppet og hva som løser det.
Interne tjenester
Tillat domenet ved navn. Underdomener blir med, og du skriver det uten *:
cplt config set proxy.allow_private_domains intern.nav.no
Har du en tillatelsesliste, må domenet stå der også. Adresser skrevet som IP kan ikke åpnes. Bruk DNS-navnet.
Andre porter enn 443
cplt config set allow.ports 8443
Med tvungen proxy, som i strict, går trafikken på porten gjennom proxyen. Verktøy som ikke bruker HTTP-proxy, virker ikke da.
Tillatelsesliste
Med en tillatelsesliste når agenten bare hostene på lista. Slå den på med nav-pilot, så kommer Nav-hostene med. Hvordan, står i Sandkassen. Agentens egne hoster er alltid med. Se dem slik:
cplt config hosts --agent copilot
Legg til en host. Underdomener blir med:
cplt config set allow.domains cloud.nais.io cplt config set allow.domains cloud.nais.io --unset # fjern igjen
allow.domains utvider en liste som allerede er på. Den slår ikke på en liste. Peker du proxy.allowed_domains til en egen fil, må fila ligge utenfor prosjektet, for eksempel i ~/.config/cplt/. Ellers starter ikke cplt, fordi agenten kunne endret lista selv.
Finn hostene bygget bruker
Kjør bygget eller testene én gang uten tillatelsesliste, og la cplt skrive ut hostene det kontaktet:
cplt --observe-domains exec -- ./gradlew build
Denne kjøringen håndhever ingen tillatelsesliste. Blokkeringslista, porter og private adresser gjelder fortsatt.