Implementation:MaterializeInc Materialize CLI Orchestratord
| Knowledge Sources | |
|---|---|
| Domains | CLI, Kubernetes, Orchestration |
| Last Updated | 2026-02-08 00:00 GMT |
Overview
The CLI Orchestratord tool builds and runs Materialize environments within a local Kind (Kubernetes in Docker) cluster for development and testing.
Description
This module provides the bin/orchestratord CLI for managing Materialize deployments in a local Kubernetes cluster using Kind. It supports three subcommands: run (deploy orchestratord via Helm), reset (clean up existing deployments), and environment (create a Materialize environment with configurable environmentd version, PostgreSQL URL, S3/MinIO bucket, and license key). The tool handles Docker image building, Helm chart installation, kubectl port-forwarding, and environment CRD creation.
Usage
Use this tool when developing or testing Materialize's Kubernetes-based orchestration layer locally. It requires a pre-configured Kind cluster with PostgreSQL and MinIO services deployed.
Code Reference
Source Location
- Repository: MaterializeInc_Materialize
- File: misc/python/materialize/cli/orchestratord.py
Signature
DEV_IMAGE_TAG = "local-dev"
DEFAULT_POSTGRES = "postgres://materialize_user:materialize_pass@postgres.materialize.svc.cluster.local:5432/materialize_db?sslmode=disable"
DEFAULT_MINIO = "s3://minio:minio123@bucket/..."
def main() -> None: ...
# Subcommands: run, reset, environment
Import
from materialize.cli.orchestratord import main
I/O Contract
| Input | Type | Description |
|---|---|---|
| subcommand | str |
One of "run", "reset", or "environment" |
| --kind-cluster-name | str |
Kind cluster name (default: "kind") |
| --namespace | str |
Kubernetes namespace (default: "materialize") |
| --license-key-file | str |
Path to Materialize license key file |
| --environmentd-version | str |
Docker image tag for environmentd |
| Output | Type | Description |
|---|---|---|
| Kubernetes resources | side effects | Helm releases, pods, services, and environment CRDs created in Kind cluster |
Usage Examples
# Initial setup
kind delete cluster
kind create cluster --config misc/kind/cluster.yaml
kubectl create namespace materialize
kubectl apply -f misc/helm-charts/testing/postgres.yaml
kubectl apply -f misc/helm-charts/testing/minio.yaml
# Deploy orchestratord
bin/orchestratord run
# Create an environment
bin/orchestratord environment --license-key-file ~/license-key