Schema-driven Stalwart account and DKIM provisioning for JorisJonkers-dev mail deployments.
stalwart-provisioner provides an offline validation CLI, Stalwart apply
scripts, a GHCR runtime image, and a first-party deploy bundle fragment consumed
by the mail collection.
Consumers own their mail domains, accounts, DNS records, Vault/VSO objects,
Kubernetes manifests, and secret material. This repository owns the manifest
contract, Stalwart apply plan validation, reconcile scripts, image, and deploy
fragment.
uv sync --frozen
uv run ruff check .
uv run mypy
uv run pytestValidate a v2 manifest:
bin/stalwart-provisioner validate manifest examples/manifest.valid.jsonValidate a Stalwart apply NDJSON plan against the bundled management schema:
bin/stalwart-provisioner validate plan --schema schema/schema.min.json plan.ndjson.tmplPack the deploy fragment locally:
python3 scripts/pack-deploy-bundle.py --version 0.0.0-local --out /tmp/stalwart-provisioner-deploy-bundle.tarRuntime image:
ghcr.io/jorisjonkers-dev/stalwart-provisioner:<version>
Deploy bundle:
ghcr.io/jorisjonkers-dev/stalwart-provisioner-deploy-bundle:<version>
Copyright (c) Joris Jonkers. Source available for viewing only; use, copying, modification, redistribution, deployment, or reuse is not licensed. See LICENSE.