Network egress
This page lists every destination that the Helm deployment and its host connect to. Use it to build a firewall allowlist. Network policy lists the connections inside the cluster.
Sandboxes have no internet access. Review and conversation sandboxes reach only the sandbox gateway of the server. The threat model gives the controls that limit the destinations below.
Host
The host connects to these destinations during installation, upgrades, and each run of pull-based deployment.
| Destination | Purpose |
|---|---|
ghcr.io and docker.io | Pull the release images by digest. Registry authentication and download redirects use more hosts of these registries, so an allowlist of the two names alone is not sufficient. |
github.com, api.github.com, and the GitHub release-asset download hosts | Download the signed release lock and its assets. |
fulcio.sigstore.dev, rekor.sigstore.dev, and tuf-repo-cdn.sigstore.dev | Verify the keyless signatures of the release lock. |
registry.k8s.io and the hosts that it redirects to | Pull the agent-sandbox controller image by digest, on a cluster that runs practice reviews. |
One host on k3s
A one-host install on k3s also needs these destinations:
| Destination | Purpose |
|---|---|
github.com, raw.githubusercontent.com, and the GitHub release-asset download hosts | Download the k3s installer, k3s, and the release assets. |
charts.jetstack.io | Download the cert-manager chart. |
storage.googleapis.com | Download the pinned gVisor release, which runs the sandboxes. |
traefik.github.io | Download the Traefik chart. |
quay.io | Pull the cert-manager images by digest. |
docker.io | Pull the Traefik image by digest, and the images that k3s ships. |
The Let's Encrypt ACME API | Issue and renew the Gateway certificate through cert-manager. |
A model endpoint that this host's own Gateway serves needs networkPolicy.modelGatewayPorts, as Reach a model endpoint on the cluster's own ingress describes.
Containers
| Destination | Purpose | Container | When |
|---|---|---|---|
The Let's Encrypt ACME API | Issue and renew the TLS certificate. | cert-manager | When cert-manager issues or renews an ACME certificate. |
| The API of your DNS provider | Answer the DNS-01 challenge. | cert-manager | When the selected ClusterIssuer uses DNS-01. |
github.com and api.github.com | Sign-in, repository sync, feedback delivery, and Git fetches. | application-server | When GitHub sign-in or a GitHub workspace is configured. |
The GitLab instance (config.gitlab.oauthBaseUrl) | Sign-in, sync, group hook registration, feedback delivery, and Git fetches. | application-server | When GitLab is configured. A private address also needs config.scmPrivateHosts (Connect to services on a private network). |
slack.com, the Slack API base | Slack API calls and Slack account linking. | application-server | When config.slack.enabled is true. |
The Outline origins in config.outline.allowedOrigins | Document sync and Outline account linking. | application-server | When config.outline.enabled is true. |
| The base URL of each AI provider connection | Model calls of practice reviews and conversations, through the LLM proxy of the server. The server also tests a connection when an admin selects Test and fetch models. | application-server | When an admin registers a provider connection (Connect an AI provider). A private address also needs config.llmPrivateHosts (Connect to services on a private network). |
api.github.com | The update check. | application-server | By default, on a release. A commit channel or a local build is never checked. config.releaseCheckEnabled: false turns it off. |
www.ecb.europa.eu | Daily currency rates for the second display currency. | application-server | Only when config.llmDisplayCurrency is set. |
Your SMTP relay (config.email.host) | Email. | application-server | Only when config.email.host is set. |
Your OTLP endpoint (config.tracing.otlpEndpoint) | Traces. | application-server | Only when config.tracing.otlpEnabled is true (Set up monitoring). |
| Your log store's OTLP endpoint | Logs. | The optional log collector on each node | Only when you run it (Collecting logs). |
The pgBackRest repository: your S3 endpoint (postgresql.backup.s3.endpoint) | Off-host backups, WAL archiving, and restore. | PostgreSQL and the backup and restore Jobs of the chart | When chart backup or restore is enabled (Backup & restore). |