Cadman is a Linux-only, Podman-first, Caddy-first workflow tool for discovering workloads, registering apps, generating Caddy site files, and reconciling route state.
Cadman v0.1.0 does not support Docker, Traefik, Kubernetes, macOS, Windows, a public API, or a public Web UI.
Build the development binary:
cd workspace
cargo buildCheck the install environment:
cargo run -- --dry-run self install
cargo run -- self healthcheck
cargo run -- doctorCreate and register a project:
cargo run -- init
cargo run -- add
cargo run -- registry listDiscover project configs from configured or explicit roots:
cargo run -- config init
cargo run -- scan
cargo run -- scan --add /path/to/appsRun the reconcile loop:
cargo run -- --dry-run reconcile
cargo run -- reconcile
cargo run -- statusLabeled container workflow:
podman run -d \
--name cadman-demo \
-p 127.0.0.1:8080:80 \
--label cadman.enable=true \
--label cadman.host=demo.local,www.demo.local \
--label cadman.port=80 \
docker.io/library/nginx:alpine
cargo run -- reconcile
cargo run -- registry show cadman-demo
cargo run -- status cadman-demoReconcile discovers labeled running containers, registers them as label-sourced apps, writes deterministic Cadman-managed Caddy site files, validates Caddy before reload, reloads only when files changed, and records observed state.
See docs/CLI_CONTRACT.md for the frozen v0.1.0 command contract.