Development Environment & Local Setup Guide
This guide covers local developer environment setup, KinD cluster creation, Helm deployment, cluster port-forwarding, REST API usage examples, and Web GUI portal features.
1. Quickstart & Local Cluster Deployment
1.1 Step 1: Create KinD Kubernetes Cluster
This script creates a local KinD cluster namedtuluat-cluster with custom ingress and container registry settings.
1.2 Step 2: Build Image & Deploy via Helm
# Build fat JAR & Docker image
./mvnw package -DskipTests
docker build -f Dockerfile.local -t tuluat-operator:latest .
kind load docker-image tuluat-operator:latest --name tuluat-cluster
# Deploy full stack via Helm
helm package helm/tuluat-operator -d dist
helm upgrade --install tuluat-operator dist/*.tgz \
--namespace tuluat-system \
--create-namespace \
--set wiremock.enabled=true \
--set samples.install=true \
--wait --timeout=5m
1.3 Alternative: Single-Script Build, Deploy & E2E
2. Cluster Service Ports & Port-Forwarding Guide
To access the Control Portal, REST API, and infrastructure dashboards from your host machine:
| Service | Protocol / Port | Port-Forward Command | Access URL / Credentials |
|---|---|---|---|
| Control Portal & REST API | HTTP 8080 | kubectl port-forward svc/tuluat-operator-service 8089:8080 -n tuluat-system |
http://localhost:8089/http://localhost:8089/actuator/health |
| Temporal Web UI | HTTP 8233 | kubectl port-forward svc/temporal-ui-service 8233:8233 -n tuluat-system |
http://localhost:8233 |
| MinIO S3 Object Storage | HTTP 9000/9001 | kubectl port-forward svc/minio-service 9000:9000 9001:9001 -n tuluat-system |
API: http://localhost:9000Console: http://localhost:9001(AccessKey: minioadmin / SecretKey: minioadmin) |
| Grafana Dashboard | HTTP 3000 | kubectl port-forward svc/grafana-service 3000:3000 -n tuluat-system |
http://localhost:3000(User: admin / Pass: admin) |
| Prometheus Metrics | HTTP 9090 | kubectl port-forward svc/prometheus-service 9090:9090 -n tuluat-system |
http://localhost:9090 |
| PostgreSQL + Pgvector DB | TCP 5432 | kubectl port-forward svc/postgres-service 5432:5432 -n tuluat-system |
localhost:5432(DB: ai_operator_db, User: postgres, Pass: postgres) |
3. Control Portal Web GUI (http://localhost:8089/)
The embedded single-page Web GUI includes:
- Dashboard & Cost Analytics: Real-time token usage, cost expenditure tracking, and active session metrics.
- Workflows & DAG Inspector: Visual view of active workflow graph templates and execution states.
- Agents & Execution Logs: Detailed prompt history, guardrail status, and step logs.
- Visual Canvas & CRD Builder: Drag-and-drop workflow canvas for visually creating and editing
AiWorkflowCRDs. - Approval Inbox: Dedicated review panel for human-in-the-loop nodes in
WAITING_APPROVALstatus.
4. REST API Curl Examples
4.1 Trigger Workflow Session
curl -X POST http://localhost:8089/api/v1/workflows/multi-agent-researcher/sessions \
-H "Content-Type: application/json" \
-d '{
"input": "Kubernetes CRD Operator Best Practices 2026",
"maxLoops": 5
}'