Koder service ports
Koder Service Port Registry
Living document. *ingle source of truth for the well-known ports Koder services bind to.*Consumed today by Koder Jet's
cross-container-driftdoctor probe (jet#135); future tools should read from this file rather than hard-coding.
This registry maps *ort → owning container + service*for every Koder service that runs as part of the Koder Stack on s.khost1 (postcutover topology, 202605-05).
Why this exists
The kjet doctor cross-container-drift probe (shipped in v1.40.0) needs to answer "if a vhost in jet's sites.toml proxies to localhost:PORT, which container should it actually be pointing at?".
That question requires a porttocontainer map. The first version hard-coded the map inline in infra/net/jet/internal/doctor/probes/cross_container_drift.go. This document promotes that map to a single source of truth so:
- Future doctor enhancements (and other tools) can read it
programmatically.
- The koder-jet binary doesn't need a release just because a new
service comes online.
- Operators can grep one file to answer "what runs on port N?".
Schema
# Source format (TOML, machine-readable):
[port.<NUMBER>]
container = "<container-name>"
service = "<short description>"
protocol = "tcp" | "udp" # default tcp
[container.<NAME>]
ip = "10.0.1.X"
description = "<what this container is for>"The koder-jet drift detector currently reads its own static fallback when the file is absent or unparseable. A future jet release will read this file directly when present (TODO: jet#136 follow-up).
Active port assignments (s.khost1, 20260505)
| Port | Protocol | Container | Service |
|---|---|---|---|
| 80 | tcp | jet | HTTP redirect → HTTPS |
| 443 | tcp+udp | jet | TLS termination + HTTP/3 |
| 3000 | tcp | flow | koder |
| 3080 | tcp | kortex | koder-kortex |
| 5432 | tcp | kdb | PostgreSQL 18.3 (17 DBs) |
| 7700 | tcp | kortex | koder-kortex / console |
| 7779 | tcp | aivoice | koder |
| 7781 | tcp | wired | koder-wired admin |
| 7800 | tcp | aigateway | ai-gateway `/v1 |