Overview
The Pyahu CLI is the local entry point for the Pyahu Platform: a faithful subset
of the real experience, running on your machine. It spins up a development stack on
k3d/k3s using Kubernetes resources generated by the CLI itself, without you having to write
manifests, kubectl, or helm.
It is real Kubernetes, with Traefik, PersistentVolumes, ConfigMaps, and Secrets. The CLI
does not hide k8s from the developer; it makes provisioning and operation easier, and the cluster stays
yours to inspect (pyahu kubeconfig) whenever you want.
Quick install
Section titled “Quick install”curl -fsSL https://cli.pyahu.io/install.sh | shOther methods (script, go install, manual download) and the prerequisites are in
Installation.
First cluster
Section titled “First cluster”pyahu init --preset platform # cria o pyahu.yamlpyahu doctor # valida Docker/Podman, k3d e portaspyahu up # cria o cluster e aplica os serviçosWhen it finishes, pyahu up prints the cluster, the namespace, the kubeconfig path, and the
connection variables ready to paste.
Services in the platform preset
Section titled “Services in the platform preset”| Service | Local endpoint |
|---|---|
| PostgreSQL | localhost:5432 |
| PostgreSQL (read replicas) | localhost:5433 when readReplicas > 0 |
| ZITADEL | https://zitadel.localhost |
| RabbitMQ | localhost:5672 |
| RabbitMQ Management | https://rabbitmq.localhost |
| Kafka | localhost:9092 |
| Kafka Connect | http://localhost:8083 |
| Debezium | configured via Kafka Connect |
| Kafka UI | https://kafka-ui.localhost |
The HTTP UIs (ZITADEL, RabbitMQ, Kafka UI) go through Traefik on 80/443 with
*.localhost hostnames and the local certificate. The TCP services (PostgreSQL,
Kafka, RabbitMQ AMQP) and the Kafka Connect REST endpoint keep dedicated ports.
The minimal preset spins up only PostgreSQL. See Configuration to
adjust services, ports, and credentials.
Connect your apps
Section titled “Connect your apps”# imprime as variáveis de conexão (shell, dotenv ou json)pyahu enveval "$(pyahu env)"To see everything that is running and its endpoints:
pyahu servicespyahu describe postgresThe full reference for each command is in Commands.
Local TLS
Section titled “Local TLS”When ZITADEL is enabled, the CLI issues a local certificate for *.localhost.
Trust the CA on the host once to use https://zitadel.localhost without warnings:
pyahu certs trustDetails in Local certificates.
Cleanup
Section titled “Cleanup”pyahu down # remove o cluster k3dpyahu down --keep-cluster # mantém o cluster, remove só o namespace da stackIf you change ports after the cluster already exists, recreate it. k3d pins the port mappings at creation time:
pyahu downpyahu up