Deployment
Choose plain docker compose, Docker Swarm, or Kubernetes — then follow that path's complete page for PgDog, probes, graceful shutdown, and TLS.
OKE apps are process-stateless when shared drivers back Store, Clock, Journal, and Gate. Pick an orchestrator (or none) first; each path page below is self-contained after you choose.
The one rule
Decide the deploy shape here, then open one path page and follow it end to end. Do not mix recipes across pages — Docker proxy compose ≠ Kubernetes Ingress.
Which path?
| Path | Best for | Trade-off |
|---|---|---|
| Docker (compose) | Simplest — single or few instances | You run scale / restart / TLS yourself (or opt in) |
| Docker Swarm | Built-in orchestration, lower learning curve | Smaller ecosystem than Kubernetes; mesh ≠ certs |
| Kubernetes | Full orchestration, largest ecosystem | Highest operational surface (Ingress, probes, RBAC…) |
Consequence: start with plain compose until you need Swarm's service mesh / rolling updates or Kubernetes' cluster ecosystem. Same multi-instance contract on every path — shared Postgres/Redis/S3, not sticky pod identity.
Capabilities (every path)
These already ship. Each path page explains them in full in that page's words:
| Capability | What it guarantees | Deep dive |
|---|---|---|
| PgDog pooling | docker/prod SQL goes through transaction pooler (DATABASE_URL → :6432) when pinned | Path pages · Store |
| Graceful SIGTERM | installGracefulShutdown releases Clock + Journal leases, then drains | Path pages |
| Readiness vs liveness | GET /_/ready (kernel) vs app GET /health | Path pages |
| Horizontal proof | Two-process integration test against live Postgres + Redis | Changelog / CI (OKE_TEST_POSTGRES_URL + Redis) |
| Reverse proxy (compose/Swarm) | Opt-in Caddy or Traefik (images.proxy) | Reverse proxy |
| Ingress (Kubernetes) | Cluster-native Ingress / Gateway API | Kubernetes |
Honesty notes (Signal consume / Channel suppression still process-local) live on each path page — not papered over here.
Pick a path
Docker
Plain compose — simplest single or few-instance deploy.
Docker Swarm
stack deploy on the generated compose layers.
Kubernetes
Deployment, probes, shared drivers, Ingress.
Reverse proxy
Caddy vs Traefik — TLS, domains, socket-proxy why.
Learn more
- Installation — scaffold and
oke dev --docker - CLI —
oke docker --prod,oke start - Configuration —
imagesand drivers - Store — PgDog and facets