local infrastructure for development

Your local stack in a single command.

Pyahu CLI provisions PostgreSQL, ZITADEL, RabbitMQ, Kafka, Kafka Connect, Debezium and Kafka UI on a k3d cluster, with local TLS and predictable endpoints. Without turning your setup into a side project.

$ curl -fsSL https://cli.pyahu.io/install.sh | sh

macOS and Linux · requires Docker or Podman + k3d

what runs

Six services, ready to build and test.

Everything runs locally on k3d. The endpoints match what apps already expect: convention over configuration, with nothing to reconfigure.

PostgreSQL

Primary relational database, with optional read replicas.

localhost:5432

ZITADEL

Identity and OIDC over local HTTPS, no public CA.

zitadel.localhost

RabbitMQ

AMQP messaging with a built-in management console.

localhost:5672

Kafka

Event streaming broker in KRaft mode.

localhost:9092

Kafka Connect + Debezium

Declarative Postgres CDC straight from pyahu.yaml.

localhost:8083

Kafka UI

Visual inspection of topics, connectors and consumers.

kafka-ui.localhost

pyahu platform

Real Kubernetes, not an abstraction.

Pyahu CLI is the local on-ramp to the Pyahu Platform: a faithful subset of the real experience, running on your machine. It is real k3d/k3s, with Traefik, PersistentVolumes, ConfigMaps and Secrets. The CLI does not hide Kubernetes from the developer. It just makes provisioning and operation easier, and the cluster stays yours to inspect whenever you want.

Explore the local stack →
$ export KUBECONFIG="$(pyahu kubeconfig)"
$ kubectl get ingress,pvc,cm,secret -n pyahu-local-dev
ingress/zitadel         zitadel.localhost
ingress/kafka-ui        kafka-ui.localhost
pvc/postgres-data       Bound
configmap/rabbitmq-config
secret/pyahu-local-tls  kubernetes.io/tls

quick start

From zero to a running cluster in three steps.

01

Generate the stack

A preset writes a readable pyahu.yaml with the local services, ports and credentials.

$ pyahu init --preset platform
02

Bring up the cluster

The CLI validates dependencies, creates k3d and reconciles the Kubernetes resources idempotently.

$ pyahu up
03

Connect your apps

Predictable endpoints on localhost and connection env vars ready to paste.

$ eval "$(pyahu env)"

installation

Choose how to install the CLI.

A single binary, no runtime. Signed releases on GitHub for macOS, Linux and Windows.

# macOS and Linux · installs to /usr/local/bin
$ curl -fsSL https://cli.pyahu.io/install.sh | sh
$ pyahu --version

Details, verification and shell completion in Installation.

localhost with TLS

Real local HTTPS, no public CA.

The CLI generates a local CA, issues the certificate for localhost and *.localhost (which covers zitadel.localhost, kafka-ui.localhost…), stores the TLS Secret in Kubernetes and makes host trust explicit, in one command.

How certificates work →
$ pyahu certs status
CA status:   valid until 2036-06-19
host trust:  not trusted

$ pyahu certs trust
trusted local CA

$ curl https://zitadel.localhost/debug/healthz
ok

change data capture

Debezium declared in YAML, applied on up.

Declare the connector in pyahu.yaml. The CLI renders the Connect JSON, stores it in a Secret and applies it via the REST API, idempotent on every pyahu up.

Kafka Connect guide →
services:
  kafkaConnect:
    enabled: true
    connectors:
      - name: app-cdc
        type: source
        kind: debezium.postgres
        tables:
          include:
            - public.orders

why pyahu

Simple by design, from boot to teardown.

Complete local stack

k3d + manifests generated by the CLI. No kubectl or helm in the normal flow.

Auth over local HTTPS

ZITADEL on zitadel.localhost with its own CA and explicit host trust.

CDC without ceremony

Debezium for Postgres declared in YAML. The CLI renders and applies the connector.

Backups, direct

Real Postgres dumps to the host disk; restore from a local file or S3.

Minimal configuration

One pyahu.yaml defines services, ports and credentials. The rest lives in the commands.

reference

One verb for each step of the local cycle.

Lifecycle

  • pyahu init
  • pyahu up
  • pyahu down
  • pyahu doctor

Inspection

  • pyahu status
  • pyahu services
  • pyahu describe
  • pyahu logs

Connection & data

  • pyahu env
  • pyahu kubeconfig
  • pyahu backup
  • pyahu restore

Local TLS

  • pyahu certs status
  • pyahu certs trust
  • pyahu certs rotate
Full command reference

ready to start

The local infrastructure is ready. The team focuses on the product.