Skip to main content

NoETL GKE Quick Start

Connect to Cluster

gcloud container clusters get-credentials noetl-cluster --region us-central1 --project <PROJECT_ID>

Run Post-Deployment Setup

noetl run automation/iap/gcp/post_deploy_setup.yaml --set action=setup

Access Services

ServiceCommand
Gateway (Public)curl http://$(kubectl get svc gateway -n gateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')/health
NoETL Server UIkubectl port-forward -n noetl svc/noetl 8082:8082http://localhost:8082/docs
PostgreSQLkubectl port-forward -n postgres svc/postgres 5432:5432psql -h localhost -U postgres -d noetl (pw: demo)
ClickHousekubectl port-forward -n clickhouse svc/clickhouse 8123:8123http://localhost:8123

Upload Playbooks & Credentials

# Register playbook
noetl register playbook --file path/to/playbook.yaml

# Register credential
noetl register credential --file path/to/credential.json

# Run playbook
noetl run playbook_name --set key=value

View Logs

kubectl logs -n noetl -l app=noetl-worker -f    # Worker logs
kubectl logs -n noetl -l app=noetl -f # Server logs
kubectl logs -n gateway -l app=gateway -f # Gateway logs

Sync Events to ClickHouse

kubectl exec -n postgres postgres-0 -- psql -U postgres -d noetl -t -A -c "
SELECT json_build_object('Timestamp', to_char(created_at, 'YYYY-MM-DD HH24:MI:SS'),
'EventId', event_id::text, 'ExecutionId', execution_id::text, 'EventType', event_type,
'Duration', COALESCE((duration * 1000)::bigint, 0))
FROM noetl.event WHERE created_at >= NOW() - INTERVAL '1 hour' LIMIT 1000;
" | kubectl exec -i -n clickhouse clickhouse-0 -- clickhouse-client \
--query="INSERT INTO observability.noetl_events FORMAT JSONEachRow"

Verify Setup

noetl run automation/iap/gcp/post_deploy_setup.yaml --set action=verify

See GKE User Guide for detailed documentation.