Overview

Every manifest example in the repo, organized from simplest to most production-grade.

These pages walk through every example in the examples/ directory of the repo. Each example is a real, working HCL file you can copy, adjust, and apply.

The order goes from one file, one resource (a single web app) to per-service multi-file production stacks (the fsw-esl telephony example). Pick the page that matches the shape you're building.

Find your shape

You want to...Start here
Deploy a single web service with TLSHello world
Route multiple paths or hosts to different servicesIngress routing
Build images on the server instead of pulling from a registryBuild modes
Pull from a private registry (GHCR, ECR, GitLab)Private registry
Mount config files / certs / templates into containersAssets
Gate ingress traffic on real readiness checksHealth checks
Run migrations or warmup before the main container bootsInit containers
Scale replicas based on CPU usageAutoscale
Notify Slack / PagerDuty / Datadog after deploysOn-deploy webhooks
Run postgres or redis with per-pod volumesStateful services
Deploy the same HCL to staging and prodMulti-environment
Multiple repos applying into one logical scopeShared scope
Translate a docker-compose stack into voodu (real-world)Production stack

Complexity gradient

       basic                                                fullstack
       ─────                                                ─────────
single-file   ────► ────► ────► ────► ────►              multi-file

hello-world ─► ingress ─► build ─► registry ─► assets         │

                          ┌── health-checks                   │
                          ├── init-containers                 │
                          ├── autoscale                       │
                          └── on-deploy                       │

                          stateful-services                   │

                          multi-environment  ─►  shared-scope  ─►  production-stack

How to use these examples

Every page shows the relevant HCL inline. To run them:

# Clone the repo (if you haven't)
git clone https://github.com/thadeu/clowk-voodu
cd clowk-voodu/examples/<dir>

# Apply (default remote)
voodu apply -f .

# Or pick a specific remote
voodu apply -f . -r prod

Each example is self-contained — no cross-dependencies, no setup scripts. Adjust the image, host, and resource limits to your environment.

Manifest reference vs examples

These pages are scenario-driven: "I want to do X, what does that look like?" For the full surface of each kind (every field, every default, every validation rule), see the manifest reference.

On this page