Skip to main content
Version: 0.2.0

Ports and egress

Same as Network and connectivity, reproduced here for better visibility.

One canonical source. If this table and the install page ever disagree, that is a bug in our publishing, not a judgement call for you. Report it.

Outbound​

All TCP, all TLS, all outbound. Nothing needs an inbound rule from the internet.

DestinationPortNeeded byPurposeRequired
api.gen0sec.com443Cluster pods, the relay onlyThreat intelligence, GeoIP, ML models, IDS rulesAlways
releases.gen0sec.com443WorkstationDownload the install kit and its signatureAlways
registry.gen0sec.com443WorkstationPull charts and imagesAlways
registry.gen0sec.com443Cluster nodesImage pulls at install timeRegistry install only
fulcio.sigstore.dev443WorkstationSignature certificate verificationAlways
rekor.sigstore.dev443WorkstationTransparency log verificationAlways
tuf-repo-cdn.sigstore.dev443WorkstationSignature trust root refreshAlways
Your own registry443 or 80Cluster nodes, and the host that loads the bundleImage pulls at install timeOffline bundle only
helm.gen0sec.com443Cluster pods, the dashboard onlyLatest agent version, shown on the Clients and Components pagesNo. Always attempted. Blocking it only hides the latest version
releases.gen0sec.com443Cluster pods, the dashboard onlyLatest component versionsNo. Only if an administrator turns on Check for updates online
Your SMTP server587 or 465Cluster pods, the dashboard onlyInvitation and password-reset emailNo. Only if you configure SMTP

Only one row is required by the running cluster: api.gen0sec.com:443, and only the relay pod uses it. The dashboard rows are optional: blocking them hides version information, or leaves invitations and password resets without email. Everything else is install-time, and most of it is your workstation rather than your cluster.

Inbound​

SourceDestinationPortPurpose
Your agentsYour published address443Telemetry, events, configuration, artifact download
Your usersYour published address443Dashboard

One address serves both, routed by path prefix. See Publish the endpoints.

In-cluster​

No NetworkPolicy is required, and none ships. If you enforce default-deny, these are the flows to allow.

FromToPort
gen0sec servicescore-pooler.gen0sec-system (Postgres pooler)5432
Migration jobcore.gen0sec-system (Postgres primary)5432
gen0sec servicescore-kafka-bootstrap.gen0sec-system9092
gen0sec servicesrustfs-svc.gen0sec-system (object store)9000
gen0sec servicesdragonfly.gen0sec-system (cache)6379
Ingress controllergen0sec servicesService ports
gen0sec servicesgen0sec servicesService ports
Dashboard (ui) podsThe Kubernetes API server443 or 6443

The dashboard reads two ConfigMaps from the API server for the Components tab. Find its address with kubectl get endpoints kubernetes -n default. Without that flow only the Components tab degrades.

See Hardening for what we recommend beyond that.

Notes that save time​

The Sigstore hosts are the ones people forget. Signature verification is the first command of the install, and it fails without them. They are needed on the workstation, not on the cluster.

A proxy does not help for the cluster's one destination. Explicit forward proxies are not honoured in-cluster. See Known limitations.

The offline bundle removes registry egress, not all egress. The runtime connection stays. See What this rules out.