MentatLab docs
Kubernetes Manifests
Deployment
MentatLab is deployed through GitOps (Flux CD) to K3s.
Kubernetes Manifests
Located in k8s/:
namespace.yaml- namespacegateway.yaml- API gatewayorchestrator.yaml- orchestration serviceorchestrator-rbac.yaml- RBAC permissions for orchestratorfrontend.yaml- web UIredis.yaml- Redis backendminio.yaml- object storage + bootstrap bucket Jobechoagent.yaml- sample agentingress.yaml- ingress routes
MinIO Stability Guardrails
k8s/minio.yaml includes operational safety defaults for single-replica object
storage in this cluster:
strategy: Recreateto avoid RWO PVC multi-attach races during updates- explicit
nodeSelector(amd64) to avoid cross-arch scheduling failures - non-trivial CPU/memory/ephemeral-storage requests and limits
- bucket bootstrap Job retries MinIO readiness before creating
mentatlab-artifacts - MinIO and
mcimages are pulled through Harbor's Docker Hub cache (registry.harbor.lan/dockerhub-cache/minio/*)
Container Images
registry.harbor.lan/library/mentatlab-gateway-goregistry.harbor.lan/library/mentatlab-orchestrator-goregistry.harbor.lan/library/mentatlab-frontend
Build and Push
./build-and-push.sh
Build without push:
./build-and-push.sh --skip-push
Deploy
./k8s/deploy.sh --namespace mentatlab
Runtime Configuration
Important environment variables:
REDIS_URLORCHESTRATOR_BASE_URLORCH_RUNSTORE(memory,redis, ork8s)PORT
Operational Checks
- Verify pods are
Runninginmentatlabnamespace - Verify gateway/orchestrator health endpoints
- Validate run execution with a known flow
- Confirm event stream delivery from orchestrator through gateway