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.