Compose-style config with cardinal.toml
Declare multi-container stacks in a TOML file and drive them with cardinal up / down.
cardinal gains a declarative config format. Instead of long run commands, you
describe your whole stack in cardinal.toml:
[container.web]
image = "nginx:alpine"
ports = ["80:80"]
restart = "always"
[container.db]
image = "postgres:16"
env = { POSTGRES_PASSWORD = "secret", POSTGRES_DB = "myapp" }
volumes = ["pg_data:/var/lib/postgresql/data"]
Then start everything with a single command:
cardinal up # create / start all containers
cardinal up web # start only web
cardinal down # stop / remove all
cardinal down -a # remove ALL containers (ignore config)
This is the seed of what later grows into full Compose support with healthchecks,
depends_on, secrets, and configs.