Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Deployment

Gaius uses a hybrid deployment model: process-compose for the core platform (engine, databases, GPU workloads) and RKE2 Kubernetes for supporting services (Metaflow, infrastructure automation).

Local Platform (process-compose)

The core platform runs locally via devenv process-compose. This includes PostgreSQL, Qdrant, the gRPC engine (37 services), NiFi, Metabase, and the Aeron IPC transport.

devenv processes up    # Start all services
devenv processes down  # Stop all services
just restart-clean     # Clean restart (preferred — ~13s warm start)

Process startup scripts live in scripts/processes/*.sh — each follows a standard pattern with shared helpers for dependency waiting, banner display, and health checks. See Process Scripts for the architecture.

Kubernetes Services (RKE2)

Supporting services run in RKE2 Kubernetes:

ServiceNamespacePurposeAccess
Metaflow metadatadefaultFlow run trackingPort 8180 (forwarded from 8080)
Metaflow UIdefaultWeb dashboard for pipeline runsPort 8083

Kubernetes resources are managed via Tilt in infra/tilt/. The kubeconfig is copied from /etc/rancher/rke2/rke2.yaml to ~/.config/kube/rke2.yaml (the RKE2 original is root-owned).

Service Dependency Graph

PostgreSQL ← NiFi, Engine, Metabase, Metaflow DB
Aeron ← Engine, Worker
Engine ← Worker (background tasks)
Kubernetes ← Metaflow Bootstrap, Port Forwards, UI

Process-compose manages the dependency ordering. just restart-clean handles the full lifecycle: stop all services, clean state, restart in dependency order.

See Also