Skip to main content

NoETL Command Reference

Complete reference for all NoETL automation playbooks and CLI commands.

Quick Start

# Complete environment setup
noetl run automation/setup/bootstrap.yaml

# Destroy environment
noetl run automation/setup/destroy.yaml

# Build Docker image
noetl build

# Deploy to Kubernetes
noetl k8s deploy

Setup Commands

Bootstrap Environment

noetl run automation/setup/bootstrap.yaml

Performs complete K8s environment setup:

  1. Verify dependencies (Docker, kubectl, kind)
  2. Check ports availability (54321, 3000, 9428, 8082)
  3. Build noetlctl Rust CLI
  4. Build NoETL Docker image
  5. Create kind Kubernetes cluster
  6. Load image into kind
  7. Deploy PostgreSQL
  8. Deploy observability stack (ClickHouse, Qdrant, NATS)
  9. Deploy monitoring stack (VictoriaMetrics, Grafana)
  10. Deploy NoETL server and workers

Options:

# Force rebuild Rust CLI
noetl run automation/setup/bootstrap.yaml --set build_rust_cli=true

# Skip Gateway deployment
noetl run automation/setup/bootstrap.yaml --set deploy_gateway=false

# Use minimal kind config
noetl run automation/setup/bootstrap.yaml --set kind_config=ci/kind/config-minimal.yaml

Destroy Environment

noetl run automation/setup/destroy.yaml

Cleans up all resources:

  1. Delete kind cluster
  2. Clean Docker resources
  3. Clear cache directories
  4. Clear NoETL data and logs

Infrastructure Commands

Kind Cluster

ActionCommand
Create clusternoetl run automation/infrastructure/kind.yaml --set action=create
Delete clusternoetl run automation/infrastructure/kind.yaml --set action=delete
List clustersnoetl run automation/infrastructure/kind.yaml --set action=list
Check statusnoetl run automation/infrastructure/kind.yaml --set action=status
Load imagenoetl run automation/infrastructure/kind.yaml --set action=image-load
List imagesnoetl run automation/infrastructure/kind.yaml --set action=images-list
Set contextnoetl run automation/infrastructure/kind.yaml --set action=context-set

PostgreSQL

ActionCommand
Deploynoetl run automation/infrastructure/postgres.yaml --set action=deploy
Removenoetl run automation/infrastructure/postgres.yaml --set action=remove
Statusnoetl run automation/infrastructure/postgres.yaml --set action=status
Logsnoetl run automation/infrastructure/postgres.yaml --set action=logs
Schema resetnoetl run automation/infrastructure/postgres.yaml --set action=schema-reset
Clear cachenoetl run automation/infrastructure/postgres.yaml --set action=clear-cache
Port forwardnoetl run automation/infrastructure/postgres.yaml --set action=port-forward

ClickHouse

ActionCommand
Deploynoetl run automation/infrastructure/clickhouse.yaml --set action=deploy
Removenoetl run automation/infrastructure/clickhouse.yaml --set action=undeploy
Statusnoetl run automation/infrastructure/clickhouse.yaml --set action=status
Healthnoetl run automation/infrastructure/clickhouse.yaml --set action=health
Connect CLInoetl run automation/infrastructure/clickhouse.yaml --set action=connect
Logsnoetl run automation/infrastructure/clickhouse.yaml --set action=logs
Querynoetl run automation/infrastructure/clickhouse.yaml --set action=query
Port forwardnoetl run automation/infrastructure/clickhouse.yaml --set action=port-forward
Deploy schemanoetl run automation/infrastructure/clickhouse.yaml --set action=deploy-schema
Clean datanoetl run automation/infrastructure/clickhouse.yaml --set action=clean-data
Optimizenoetl run automation/infrastructure/clickhouse.yaml --set action=optimize

Qdrant

ActionCommand
Deploynoetl run automation/infrastructure/qdrant.yaml --set action=deploy
Removenoetl run automation/infrastructure/qdrant.yaml --set action=undeploy
Statusnoetl run automation/infrastructure/qdrant.yaml --set action=status
Healthnoetl run automation/infrastructure/qdrant.yaml --set action=health
Logsnoetl run automation/infrastructure/qdrant.yaml --set action=logs
Collectionsnoetl run automation/infrastructure/qdrant.yaml --set action=collections
Testnoetl run automation/infrastructure/qdrant.yaml --set action=test
Restartnoetl run automation/infrastructure/qdrant.yaml --set action=restart
Port forwardnoetl run automation/infrastructure/qdrant.yaml --set action=port-forward

NATS JetStream

ActionCommand
Deploynoetl run automation/infrastructure/nats.yaml --set action=deploy
Removenoetl run automation/infrastructure/nats.yaml --set action=undeploy
Statusnoetl run automation/infrastructure/nats.yaml --set action=status
Healthnoetl run automation/infrastructure/nats.yaml --set action=health
Logsnoetl run automation/infrastructure/nats.yaml --set action=logs
Streamsnoetl run automation/infrastructure/nats.yaml --set action=streams
Monitoringnoetl run automation/infrastructure/nats.yaml --set action=monitoring
Connectnoetl run automation/infrastructure/nats.yaml --set action=connect
Testnoetl run automation/infrastructure/nats.yaml --set action=test
Restartnoetl run automation/infrastructure/nats.yaml --set action=restart
Port forwardnoetl run automation/infrastructure/nats.yaml --set action=port-forward

Observability (Aggregate)

Control all observability services (ClickHouse, Qdrant, NATS) together:

ActionCommand
Deploy allnoetl run automation/infrastructure/observability.yaml --set action=deploy
Remove allnoetl run automation/infrastructure/observability.yaml --set action=remove
Status allnoetl run automation/infrastructure/observability.yaml --set action=status
Health allnoetl run automation/infrastructure/observability.yaml --set action=health
Restart allnoetl run automation/infrastructure/observability.yaml --set action=restart

Monitoring (VictoriaMetrics)

ActionCommand
Deploynoetl run automation/infrastructure/monitoring.yaml --set action=deploy
Removenoetl run automation/infrastructure/monitoring.yaml --set action=undeploy
Statusnoetl run automation/infrastructure/monitoring.yaml --set action=status
Grafana credsnoetl run automation/infrastructure/monitoring.yaml --set action=grafana-creds
Deploy dashboardsnoetl run automation/infrastructure/monitoring.yaml --set action=deploy-dashboards
Deploy exporternoetl run automation/infrastructure/monitoring.yaml --set action=deploy-exporter
Deploy NoETL scrapenoetl run automation/infrastructure/monitoring.yaml --set action=deploy-noetl-scrape
Deploy Vectornoetl run automation/infrastructure/monitoring.yaml --set action=deploy-vector
Deploy VictoriaLogsnoetl run automation/infrastructure/monitoring.yaml --set action=deploy-vmlogs

JupyterLab

ActionCommand
Full deploynoetl run automation/infrastructure/jupyterlab.yaml --set action=full
Deploynoetl run automation/infrastructure/jupyterlab.yaml --set action=deploy
Removenoetl run automation/infrastructure/jupyterlab.yaml --set action=undeploy
Statusnoetl run automation/infrastructure/jupyterlab.yaml --set action=status
Logsnoetl run automation/infrastructure/jupyterlab.yaml --set action=logs
Port forwardnoetl run automation/infrastructure/jupyterlab.yaml --set action=port-forward
Update notebooknoetl run automation/infrastructure/jupyterlab.yaml --set action=update-notebook
Restartnoetl run automation/infrastructure/jupyterlab.yaml --set action=restart
Shellnoetl run automation/infrastructure/jupyterlab.yaml --set action=shell

Gateway API

ActionCommand
Deploy allnoetl run automation/infrastructure/gateway.yaml --set action=deploy-all
Build imagenoetl run automation/infrastructure/gateway.yaml --set action=build-image
Deploynoetl run automation/infrastructure/gateway.yaml --set action=deploy
Removenoetl run automation/infrastructure/gateway.yaml --set action=remove
Statusnoetl run automation/infrastructure/gateway.yaml --set action=status
Logsnoetl run automation/infrastructure/gateway.yaml --set action=logs
Testnoetl run automation/infrastructure/gateway.yaml --set action=test
Redeploynoetl run automation/infrastructure/gateway.yaml --set action=redeploy
Restartnoetl run automation/infrastructure/gateway.yaml --set action=restart

Deployment Commands

NoETL Stack

ActionCommand
Deploynoetl run automation/deployment/noetl-stack.yaml --set action=deploy
Removenoetl run automation/deployment/noetl-stack.yaml --set action=remove
Statusnoetl run automation/deployment/noetl-stack.yaml --set action=status
Logsnoetl run automation/deployment/noetl-stack.yaml --set action=logs

Development Commands

Docker

ActionCommand
Build imagenoetl run automation/development/docker.yaml --set action=build
Statusnoetl run automation/development/docker.yaml --set action=status
Cleanup allnoetl run automation/development/docker.yaml --set action=cleanup-all
Clear imagesnoetl run automation/development/docker.yaml --set action=images-clear

NoETL Development

ActionCommand
Deploynoetl run automation/development/noetl.yaml --set action=deploy
Redeploynoetl run automation/development/noetl.yaml --set action=redeploy

Dev Tools Setup

OS-Aware (auto-detects macOS vs Linux):

ActionCommand
Detect OSnoetl run automation/development/setup_tooling.yaml --set action=detect
Install dev toolsnoetl run automation/development/setup_tooling.yaml --set action=install-devtools
Validate toolsnoetl run automation/development/setup_tooling.yaml --set action=validate-install

macOS (Homebrew):

ActionCommand
Install basenoetl run automation/development/tooling_macos.yaml --set action=install-base
Install dev toolsnoetl run automation/development/tooling_macos.yaml --set action=install-devtools
Install Homebrewnoetl run automation/development/tooling_macos.yaml --set action=install-homebrew

Linux/WSL2 (apt-get):

ActionCommand
Install basenoetl run automation/development/tooling_linux.yaml --set action=install-base
Install dev toolsnoetl run automation/development/tooling_linux.yaml --set action=install-devtools
Fix Docker permsnoetl run automation/development/tooling_linux.yaml --set action=fix-docker-perms

Test Commands

Pagination Test Server

ActionCommand
Full workflownoetl run automation/test/pagination-server.yaml --set action=full
Buildnoetl run automation/test/pagination-server.yaml --set action=build
Loadnoetl run automation/test/pagination-server.yaml --set action=load
Deploynoetl run automation/test/pagination-server.yaml --set action=deploy
Statusnoetl run automation/test/pagination-server.yaml --set action=status
Testnoetl run automation/test/pagination-server.yaml --set action=test
Logsnoetl run automation/test/pagination-server.yaml --set action=logs
Removenoetl run automation/test/pagination-server.yaml --set action=undeploy

Regression Tests

noetl run tests/fixtures/playbooks/regression_test/regression_test.yaml

GCP Infrastructure as Playbook (IAP)

NoETL provides Infrastructure as Playbook capabilities for GCP resources.

GKE Autopilot Cluster

ActionCommand
Create clusternoetl run automation/iap/gcp/gke_autopilot.yaml --set action=create --set project_id=<project>
Deploy stacknoetl run automation/iap/gcp/gke_autopilot.yaml --set action=deploy --set project_id=<project>
Destroy clusternoetl run automation/iap/gcp/gke_autopilot.yaml --set action=destroy --set project_id=<project>
Show plannoetl run automation/iap/gcp/gke_autopilot.yaml --set action=plan --set project_id=<project>

Full GKE Stack Deployment

Deploy complete NoETL stack to GKE (PostgreSQL, NATS, ClickHouse, NoETL, Gateway):

ActionCommand
Deploy allnoetl run automation/iap/gcp/deploy_gke_stack.yaml --set project_id=<project>
Destroy allnoetl run automation/iap/gcp/deploy_gke_stack.yaml --set action=destroy --set project_id=<project>
Check statusnoetl run automation/iap/gcp/deploy_gke_stack.yaml --set action=status --set project_id=<project>

Example - Deploy to noetl-demo-19700101:

noetl run automation/iap/gcp/deploy_gke_stack.yaml \
--set project_id=noetl-demo-19700101 \
--set region=us-central1

Artifact Registry

ActionCommand
Create repositorynoetl run automation/iap/gcp/artifact_registry.yaml --set action=create --set project_id=<project>
Delete repositorynoetl run automation/iap/gcp/artifact_registry.yaml --set action=destroy --set project_id=<project>

GCS State Bucket

ActionCommand
Initialize bucketnoetl run automation/iap/gcp/init_state_bucket.yaml --set project_id=<project>

Rust CLI Commands

The noetl Rust CLI provides direct commands:

Build Commands

CommandDescription
noetl buildBuild Docker image
noetl build --no-cacheBuild without cache

Kubernetes Commands

CommandDescription
noetl k8s deployDeploy to kind cluster
noetl k8s removeRemove from cluster
noetl k8s redeployRebuild and redeploy
noetl k8s resetFull reset (schema + redeploy + test setup)

Server/Worker Commands

CommandDescription
noetl server startStart FastAPI server
noetl server stopStop server
noetl worker startStart worker
noetl worker stopStop worker

Database Commands

CommandDescription
noetl db initInitialize database schema
noetl db validateValidate database schema

Playbook Commands

CommandDescription
noetl run <path>Execute playbook
noetl run <path> --set key=valueExecute with variables
noetl run <path> -vExecute with verbose output
noetl playbook register <path>Register playbook to catalog
noetl execution create <path>Create execution

Service Ports

After deployment, services are available at:

ServicePortURL
NoETL API8082http://localhost:8082
PostgreSQL54321localhost:54321
Grafana3000http://localhost:3000
VictoriaLogs9428http://localhost:9428
ClickHouse HTTP30123http://localhost:30123
ClickHouse Native30900localhost:30900
Qdrant HTTP30633http://localhost:30633
Qdrant gRPC30634localhost:30634
NATS Client30422localhost:30422
NATS Monitoring30822http://localhost:30822
Test Server30555http://localhost:30555

Playbook Directory Structure

automation/
├── main.yaml # Main router
├── setup/
│ ├── bootstrap.yaml # Complete K8s environment setup
│ └── destroy.yaml # Environment teardown
├── infrastructure/
│ ├── kind.yaml # Kind cluster management
│ ├── postgres.yaml # PostgreSQL operations
│ ├── clickhouse.yaml # ClickHouse operations
│ ├── qdrant.yaml # Qdrant operations
│ ├── nats.yaml # NATS operations
│ ├── observability.yaml # Unified observability control
│ ├── monitoring.yaml # VictoriaMetrics stack
│ ├── jupyterlab.yaml # JupyterLab deployment
│ └── gateway.yaml # Gateway API service
├── iap/
│ └── gcp/
│ ├── gke_autopilot.yaml # GKE Autopilot cluster management
│ ├── deploy_gke_stack.yaml # Full GKE stack deployment
│ ├── artifact_registry.yaml # Artifact Registry management
│ ├── init_state_bucket.yaml # GCS state bucket initialization
│ ├── state_sync.yaml # State synchronization
│ └── state_inspect.yaml # State inspection
├── deployment/
│ └── noetl-stack.yaml # NoETL service deployment
├── development/
│ ├── docker.yaml # Docker operations
│ ├── noetl.yaml # NoETL development workflow
│ ├── setup_tooling.yaml # OS-aware tooling setup
│ ├── tooling_macos.yaml # macOS tools (Homebrew)
│ └── tooling_linux.yaml # Linux tools (apt-get)
├── helm/
│ ├── noetl/ # NoETL Helm chart
│ └── gateway/ # Gateway Helm chart
└── test/
└── pagination-server.yaml # Pagination test server

See Also