CI/CD / gate (push) Canceled after 0s
CI/CD / containment (push) Canceled after 0s
CI/CD / image (push) Canceled after 0s
CI/CD / rollout (push) Canceled after 0s
CI/CD / reach (push) Canceled after 0s
CI/CD / fanout (push) Canceled after 0s
CI/CD / receipt (push) Canceled after 0s
Removing CLOUD_ENABLE/--enable (ecafb31c) deleted the flag from the binary but
left three launchers passing it. Go's default flag.CommandLine is ExitOnError,
so this is not a warning:
$ ./bin/cloud --enable=iam
flag provided but not defined: -enable
`make run` and the documented compose quickstart both died before boot, and the
four README brand examples were copy-paste instructions to do the same. The
removal was deliberate and test-enforced (cmd/cloud/mount_test.go asserts the
flag's absence) — the launchers were simply never updated with it. My miss.
RUN_ENABLE is renamed RUN_PLUGINS because it never mounted anything: it is the
list of plugin BINARIES to build so local dev does not build all 106. The host
mounts what manifest.Apps lists and resolves each plugin as a file beside
itself; a lazy one with no binary never starts, a Required one fails loudly.
Keeping the name would have said the binary takes a mount list, which is the
thing that took devnet down twice.
compose.yml's HANZO_ENABLE goes with it. Its environment: block is inert
anyway — HANZO_BRAND/DOMAIN/DATA_DIR have no Go read sites and work only
because the same file passes the flags, which main.go forward() republishes as
CLOUD_*. That is a separate cleanup, not this one.
Co-authored-by: Hanzo Dev <dev@hanzo.ai>
Deploying hanzoai/cloud
Reference deployment manifests for the unified Hanzo Cloud binary (HIP-0106). Each manifest demonstrates a different deployment topology.
| Manifest | Topology | Use case |
|---|---|---|
compose.yml |
single-node Docker | VPS, dev, demo |
Coming soon: kustomize/ and helm/ for k8s deploys (see luxfi/operator
for the canonical CRD-driven shape).
Quick start (Docker Compose)
cp deploy/compose.env.example deploy/compose.env
# edit HANZO_BRAND / HANZO_DOMAIN / HANZO_IAM_ISSUER as needed
docker compose -f deploy/compose.yml --env-file deploy/compose.env up -d
curl http://localhost:8080/health
Environment
Required:
HANZO_IAM_ISSUER— OIDC issuer URL. Without it the IAM subsystem refuses to mount and the binary exits.
Optional (defaults shown):
HANZO_BRAND=hanzoHANZO_DOMAIN=api.hanzo.localHANZO_ENABLE=iam,base,kms,gateway,o11yHANZO_DATA_DIR=/var/lib/cloud
The full subsystem list is in manifest/apps.go. Per HIP-0106
payments and vault NEVER co-resident — leave them off this binary
unless you understand the PCI scope implications.