Wire token exchange config for /auth/token and /auth/refresh endpoints.
clientSecret loaded from AUTH_CLIENT_SECRET env var (never from YAML).
Backward compatible — missing fields default to zero values.
3 new tests covering: full config, env-only secret, backward compat.
Closes homelab#12
Co-authored-by: poimen <[email protected]>
MinIO ClusterIP service listens on port 80 (targetPort 9000).
Config had port 9000 which caused 30s timeout then 502 — gateway
connected to service port 9000 which doesn't exist on the ClusterIP.
Changes:
- configmap.yaml: S3 upstream :9000 → :80
- gateway-config-secret.enc.yaml: same
- network-policy.yaml: add port 80 egress to storage namespace
Verified: S3 adapter now reaches MinIO (403 AccessDenied = auth issue,
not connectivity).
Per homelab/project-usage/jwt-auth-rollout.md, temporal-frontend (port 7233)
is gRPC-specific for workers/SDKs. External HTTP access is unresolved design.
Disabled until gRPC ingress is added. Keeps only: sqs, memory, s3, iam.
Adapters defined in config.yaml alongside routes and models.
Parsed by existing config loader, populated into registry at startup.
Removed: client-go deps, REST loader, informer, nginx proxy,
CiliumNetworkPolicy, apis/gateway/v1/ (duplicate types).
Kept: merged CI pipeline, imagePullPolicy Always, CA certs in Dockerfile.
Baseline for the Kong replacement on api.riotpiao.com. Brings the working
tree under version control for the first time: gateway source, the task
board that drives the agent runs, test fixtures, and K8s manifests.
Anchor the gateway ignore rule to the repo root. Unanchored, "gateway"
also matched the cmd/gateway/ source directory, so the program entrypoint
was excluded from every commit.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>