holger krekel 674e496a53 cmdeploy: replace globals() subcommand scan with explicit SUBCOMMANDS list
The get_parser() loop that scanned globals() for *_cmd names was fragile
and forced # noqa: F401 on all lxc imports (ruff couldn't see they were
used dynamically).

Replace it with an explicit SUBCOMMANDS list of
(cmd_func, options_func, needs_config) tuples.  This makes the full set
of subcommands visible at a glance, their registration order defined,
and the imports unconditionally used (no more noqa suppressions).
2026-03-08 23:40:37 +01:00
2025-12-18 23:49:48 +00:00
2025-12-18 09:21:19 +01:00

Chatmail relays for end-to-end encrypted email

Chatmail relay servers are interoperable Mail Transport Agents (MTAs) designed for:

  • Zero State: no private data or metadata collected, messages are auto-deleted, low disk usage

  • Instant/Realtime: sub-second message delivery, realtime P2P streaming, privacy-preserving Push Notifications for Apple, Google, and Huawei;

  • Security Enforcement: only strict TLS, DKIM and OpenPGP with minimized metadata accepted

  • Reliable Federation and Decentralization: No spam or IP reputation checks, federating depends on established IETF standards and protocols.

This repository contains everything needed to setup a ready-to-use chatmail relay on an ssh-reachable host. For getting started and more information please refer to the web version of this repositories' documentation at

https://chatmail.at/doc/relay

Description
Languages
Python 86%
Jinja 10%
Filebench WML 1.3%
Shell 1%
Forth 0.6%
Other 1.1%