Podmander
Topics: Podman
Podmander is a Podman-based orchestrator for declarative workloads supervised through systemd.
Lightweight container orchestration built on Podman. Declarative config, systemd-native supervision, no Kubernetes. Written in Ada.
What
A tool that takes a declarative workload spec and turns it into running containers under Podman — using quadlets for systemd integration, pods for co-located services, and built-in DNS for service discovery.
Think: Docker Compose for production, with zero-downtime deploys.
Why
Kubernetes solves orchestration for large clusters, but small teams and homelabs pay a heavy complexity tax. Podman provides the container runtime with excellent systemd integration via quadlets. What’s missing is a clean spec layer and multi-node orchestration logic that glues it together.
Design principles
- Systemd-native: containers run as systemd units via Podman quadlets — standard tooling for logs, restarts, and monitoring
- Declarative: single config file defines the full stack
- No daemon: Podmander is a CLI that generates systemd units; no long-running background process
- Zero-downtime updates: rolling container replacement with health check gating
- Integration of proven tools: use existing tech like Caddy, CoreDNS and Restic instead of reinventing the wheel
Technology stack
- Podman — daemonless container runtime
- Quadlets — systemd generator for container units
Status
MVP in development — v0.1 milestone tracks the first working release: controller and agent deploy a single service with SQLite state, TOML config, and basic CLI.