ibexharness
DocsBlogReleasesRoadmap
GitHub
ibexharness

Documentation

Docker Compose (dev)Kubernetes (production)Environment variables
Deployment›Kubernetes (production)
Deployment

Kubernetes (production)

Phase 1 has no shipped Helm charts or manifests — this page documents the gap honestly and previews the target production architecture.

Phase 1 status: Kubernetes deployment artifacts are not implemented. There is no Helm chart, Kustomize overlay, or official manifest set in this repository yet. Local development uses Docker Compose for dependencies only; auth and proxy run as host processes or ad-hoc containers you build yourself.

Not available in Phase 1

Do not point production traffic at IBEX Harness until Phase 5 production-hardening milestones ship charts, runbooks, and SLO-backed rollouts. Track progress on the roadmap.

What exists today

ArtifactPhase 1Notes
Helm / Kustomize manifestsNoPlanned Phase 5
Docker images for auth/proxyNo official publishBuild from services/*/Dockerfile when present
Compose dev stackYesData stores only — not a production topology
Health probe contractYesADR-0022 defines /health and /ready
mTLS between servicesDocumentedRequired in production; plaintext on local ibex_internal network only

Target architecture (preview)

The production layout below is design intent, not shipped configuration. It shows how Phase 1 services are expected to fit into a cluster once manifests land.

Mermaid diagram: graph TB
+--------------------------------------+                                                                        
|          Ingress / Gateway           |                                                                        
|                                      |                                                                        
|                                      |                                                                        
| +----------------------------------+ |                                                                        
| |                                  | |                                                                        
| |      API Gateway / Ingress       | |                                                                        
| |                                  | |                                                                        
| +----------------------------------+ |                                                                        
|                   |                  |                                                                        
+-------------------|------------------+                                                                        
                    |                                                                                           
                    |                                                                                           
                    |                                                                                           
+-------------------|------------------+                                                                        
|             Data plane               |                                                                        
|                   |                  |                                                                        
|                   v                  |                                                                        
| +----------------------------------+ |                                                                        
| |                                  | |                                                                        
| |                                  | |                                                                        
| |         Proxy Deployment         |-----+---+                                                                
| |              :8080               | |   |   |                                                                
| |                                  | |   |   |                                                                
| +----------------------------------+ |   +----------------------------+----------------------------+          
|                   |                  |       |                        |                            |          
|                   |                  |       |                        |                            |          
|   gRPC ValidateToken/ValidateAgent   |       |                        |                            |          
|                   |                  |       |                        |                            |          
|                   |                  |+-------------+                 |                            |          
|                   |                  ||      |      |                 |                            |          
|                   |                  ||      |      |+----------------|----------------------------|---------+
|                   |                  ||      |      ||                |    Observability           |         |
|                   |                  ||      |      ||                |                            |         |
|                   v                  ||      v      ||                v                            v         |
| +----------------------------------+ ||  .-------.  || +----------------------------+     +----------------+ |
| |                                  | ||  |       |  || |                            |     |                | |
| |                                  | ||  |       |  || |                            |     |                | |
| |         Auth Deployment          |--+  | Redis |  +->| Prometheus scrape /metrics |  +->| OTLP collector | |
| |      HTTP :8081 gRPC :9091       | ||  |       |   | |                            |  |  |                | |
| |                                  | ||  |       |   | |                            |  |  |                | |
| |                                  | ||  |       |   | |                            |  |  |                | |
| +----------------------------------+ ||  '-------'   | +----------------------------+  |  +----------------+ |
|                   |                  ||              |                                 |                     |
+-------------------|------------------+|              +---------------------------------|---------------------+
                    |                   +------------------------------------------------+                      
+-------------------|--------------------------------+                                                          
|               Managed dependencies                 |                                                          
|                   v                                |                                                          
| .----------------------------------.               |                                                          
| |                                  |               |                                                          
| |       Postgres + pgvector        |               |                                                          
| |                                  |               |                                                          
| |                                  |               |                                                          
| '----------------------------------'               |                                                          
|                                                    |                                                          
+----------------------------------------------------+                                                          

Planned probe configuration

When charts ship, operators should wire probes per ADR-0022:

1

Liveness → GET /health

Always 200 when the process responds. No external dependency checks. Restarts on hang/deadlock.

2

Readiness → GET /ready

503 when critical dependencies fail. Auth checks Postgres SELECT 1; proxy checks auth gRPC and Redis PING.

3

Metrics → GET /metrics

Prometheus text format from packages/metrics. Scrape both auth and proxy pods.

Critical readiness checks (Phase 1)

ServiceCritical checksFails /ready when
Authpostgres, grpcPostgres unreachable or gRPC listener down
Proxyauth_grpc, redisAuth unreachable or Redis PING fails

Per-check timeout: 500ms. Overall /ready budget: 750ms.

Environment injection (preview)

Production pods will receive the same variables documented in Environment variables, injected via Kubernetes Secrets and ConfigMaps:

YAML
# Illustrative only — not a committed manifest
apiVersion: v1
kind: Secret
metadata:
  name: ibex-auth
stringData:
  POSTGRES_DSN: postgres://…
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: ibex-proxy
data:
  IBEX_AUTH_GRPC_ADDR: auth.ibex.svc.cluster.local:9091
  IBEX_PORT: "8080"
  IBEX_AUTH_VALIDATE_TIMEOUT: 50ms

Multi-tenant security

org_id always comes from verified tokens — never from ingress path rewriting alone. Cross-tenant resource access returns 403, not 404. See Multi-tenant RLS.

Rollout expectations (future)

Phase 5 milestones will add:

  • Separate Deployments for proxy and auth with HPA on CPU and request latency
  • NetworkPolicy restricting gRPC to the internal mesh
  • PodDisruptionBudgets and coordinated shutdown via IBEX_SHUTDOWN_TIMEOUT
  • External Secrets Operator integration for POSTGRES_DSN and REDIS_URL

Until then, use Compose + host-run services for integration testing and refer to docs/OPS_GUIDE.md in the repository for operational runbooks as they mature.

Related

  • Proxy health — probe response schemas
  • Docker Compose — supported local path today

Was this page helpful?

Edit on GitHub

Last updated on

PreviousDocker Compose (dev)NextEnvironment variables

On this page

  • What exists today
  • Target architecture (preview)
  • Planned probe configuration
  • Critical readiness checks (Phase 1)
  • Environment injection (preview)
  • Rollout expectations (future)
  • Related
0%