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.