67 docs indexed

Endpoints & Ports

All three obleth listeners, Docker Compose host port mappings, Kubernetes service ports, and HAProxy frontend.

obleth listeners

ListenerBind addressPurpose
Data plane0.0.0.0:8080OpenAI-compatible proxy for client requests
Management API0.0.0.0:9180Admin REST API for all configuration
Prometheus metrics0.0.0.0:9091Prometheus scrape endpoint

Docker Compose host ports

ServiceContainer portHost portPurpose
obleth data plane80808088Access via HAProxy on port 80 (edge profile)
obleth admin9180127.0.0.1:9180Management API
obleth metrics9091127.0.0.1:9091Prometheus scrape
control-plane30003002Dashboard
postgres5432127.0.0.1:5432Database
redis6379127.0.0.1:6379Cache
clickhouse HTTP8123127.0.0.1:8123ClickHouse HTTP API
clickhouse native9000127.0.0.1:9000ClickHouse native protocol
benchmark-backend80818081Benchmark fixture backend (benchmark profile)
haproxy8080Edge proxy (edge profile)
prometheus9090127.0.0.1:9090Prometheus UI (observability profile)
grafana30003001Grafana UI (observability profile)
jaeger UI16686127.0.0.1:16686Jaeger trace UI (observability profile)
jaeger OTLP4317, 4318127.0.0.1:4317, 127.0.0.1:4318OTLP gRPC/HTTP collector (observability profile)
dex55565556Local OIDC provider (sso-dev profile)

The Management API, metrics, datastore, Prometheus, and Jaeger host ports are published on 127.0.0.1 only, so they are reachable from the host but not from the network. The data plane (8088), dashboard (3002), and HAProxy (80) bind all interfaces.

Container ports that are only exposed to the Compose network, with no host binding: HAProxy's 8404 (Prometheus exporter plus the /stats UI), the compression sidecar's 8080 (compressor profile), ClickHouse's 9363 exporter, and the postgres-exporter (9187) / redis-exporter (9121) that ship with the observability profile.

Kubernetes service ports (Helm)

ServicePortType
obleth data plane8080ClusterIP
obleth admin9180ClusterIP (internal only)
obleth metrics9091ClusterIP
control-plane3000ClusterIP (exposed via Ingress if enabled)

HAProxy frontend

When running the Docker Compose edge profile. The Helm chart does not deploy HAProxy; on Kubernetes the same role is filled by the obleth Service plus the chart's optional Ingress.

PortProtocolBackend
80HTTPobleth data plane (8080)
8404HTTPHAProxy's own /metrics and /stats (in-network only)

The shipped deploy/docker/haproxy.cfg binds plaintext :80 only and round-robins across the obleth backend servers. It is a reference topology that assumes TLS is terminated in front of it; to make HAProxy the TLS edge itself, add a bind *:443 ssl crt /etc/ssl/private/obleth.pem frontend and mount the certificate. See HAProxy.

Health check

# Management API health
curl http://localhost:9180/api/v1/health

# Data plane liveness (no auth required)
curl http://localhost/health          # via HAProxy (edge profile)
# curl http://localhost:8088/health   # direct host port in Docker Compose
# curl http://localhost:8080/health   # native cargo run (binds :8080 on the host)

# Metrics
curl http://localhost:9091/metrics | head -20

The data plane's /v1/models route requires a tenant API key. Use /health for a liveness probe instead.