diff --git a/chatmaild/src/chatmaild/config.py b/chatmaild/src/chatmaild/config.py index 5058cc74..2d558417 100644 --- a/chatmaild/src/chatmaild/config.py +++ b/chatmaild/src/chatmaild/config.py @@ -9,7 +9,7 @@ def read_config(inipath): class Config: def __init__(self, inipath, params): self._inipath = inipath - self.mailname = self.mail_domain = params["mailname"] + self.mail_domain = params["mail_domain"] self.max_user_send_per_minute = int(params["max_user_send_per_minute"]) self.filtermail_smtp_port = int(params["filtermail_smtp_port"]) self.postfix_reinject_port = int(params["postfix_reinject_port"]) @@ -23,12 +23,12 @@ class Config: return open(self._inipath, "rb") -def write_initial_config(inipath, mailname): +def write_initial_config(inipath, mail_domain): from importlib.resources import files inidir = files(__package__).joinpath("ini") - content = inidir.joinpath("chatmail.ini.f").read_text().format(mailname=mailname) - if mailname.endswith(".testrun.org"): + content = inidir.joinpath("chatmail.ini.f").read_text().format(mail_domain=mail_domain) + if mail_domain.endswith(".testrun.org"): override_inipath = inidir.joinpath("override-testrun.ini") privacy = iniconfig.IniConfig(override_inipath)["privacy"] lines = [] diff --git a/chatmaild/src/chatmaild/ini/chatmail.ini.f b/chatmaild/src/chatmaild/ini/chatmail.ini.f index 3b95f854..ba578c73 100644 --- a/chatmaild/src/chatmaild/ini/chatmail.ini.f +++ b/chatmaild/src/chatmaild/ini/chatmail.ini.f @@ -1,7 +1,7 @@ [params] # mail domain (MUST be set to fully qualified chat mail domain) -mailname = {mailname} +mail_domain = {mail_domain} # # If you only do private test deploys, you don't need to modify any settings below diff --git a/chatmaild/src/chatmaild/newemail.py b/chatmaild/src/chatmaild/newemail.py index 4fbc0df6..9fd8fef6 100644 --- a/chatmaild/src/chatmaild/newemail.py +++ b/chatmaild/src/chatmaild/newemail.py @@ -5,7 +5,7 @@ import json import random -mailname_path = "/etc/mailname" +mail_domain_path = "/etc/mailname" def create_newemail_dict(domain): @@ -16,7 +16,7 @@ def create_newemail_dict(domain): def print_new_account(): - domain = open(mailname_path).read().strip() + domain = open(mail_domain_path).read().strip() creds = create_newemail_dict(domain=domain) print("Content-Type: application/json") diff --git a/chatmaild/src/chatmaild/tests/plugin.py b/chatmaild/src/chatmaild/tests/plugin.py index 4a7e708a..e9383fbc 100644 --- a/chatmaild/src/chatmaild/tests/plugin.py +++ b/chatmaild/src/chatmaild/tests/plugin.py @@ -13,8 +13,8 @@ from chatmaild.config import read_config, write_initial_config def make_config(tmp_path): inipath = tmp_path.joinpath("chatmail.ini") - def make_conf(mailname): - write_initial_config(inipath, mailname=mailname) + def make_conf(mail_domain): + write_initial_config(inipath, mail_domain=mail_domain) return read_config(inipath) return make_conf @@ -27,7 +27,7 @@ def example_config(make_config): @pytest.fixture def maildomain(example_config): - return example_config.mailname + return example_config.mail_domain @pytest.fixture diff --git a/chatmaild/src/chatmaild/tests/test_config.py b/chatmaild/src/chatmaild/tests/test_config.py index b95aed90..fb9ab2fc 100644 --- a/chatmaild/src/chatmaild/tests/test_config.py +++ b/chatmaild/src/chatmaild/tests/test_config.py @@ -3,7 +3,7 @@ from chatmaild.config import read_config def test_read_config_basic(make_config): config = make_config("chat.example.org") - assert config.mailname == "chat.example.org" + assert config.mail_domain == "chat.example.org" assert not config.privacy_supervisor and not config.privacy_mail assert not config.privacy_pdo and not config.privacy_postal @@ -11,12 +11,12 @@ def test_read_config_basic(make_config): inipath.write_text(inipath.read_text().replace("60", "37")) config = read_config(inipath) assert config.max_user_send_per_minute == 37 - assert config.mailname == "chat.example.org" + assert config.mail_domain == "chat.example.org" def test_read_config_testrun(make_config): config = make_config("something.testrun.org") - assert config.mailname == "something.testrun.org" + assert config.mail_domain == "something.testrun.org" assert len(config.privacy_postal.split("\n")) > 1 assert len(config.privacy_supervisor.split("\n")) > 1 assert len(config.privacy_pdo.split("\n")) > 1 diff --git a/chatmaild/src/chatmaild/tests/test_newmail.py b/chatmaild/src/chatmaild/tests/test_newmail.py index 8d13f981..f67718d5 100644 --- a/chatmaild/src/chatmaild/tests/test_newmail.py +++ b/chatmaild/src/chatmaild/tests/test_newmail.py @@ -18,7 +18,7 @@ def test_create_newemail_dict(): def test_print_new_account(capsys, monkeypatch, maildomain, tmpdir): p = tmpdir.join("mailname") p.write(maildomain) - monkeypatch.setattr(chatmaild.newemail, "mailname_path", str(p)) + monkeypatch.setattr(chatmaild.newemail, "mail_domain_path", str(p)) print_new_account() out, err = capsys.readouterr() lines = out.split("\n") diff --git a/deploy-chatmail/src/deploy_chatmail/__init__.py b/deploy-chatmail/src/deploy_chatmail/__init__.py index bb06c28f..d1dd66fc 100644 --- a/deploy-chatmail/src/deploy_chatmail/__init__.py +++ b/deploy-chatmail/src/deploy_chatmail/__init__.py @@ -347,8 +347,8 @@ def _configure_nginx(domain: str, debug: bool = False) -> bool: def check_config(config): - mailname = config.mailname - if mailname != "testrun.org" and not mailname.endswith(".testrun.org"): + mail_domain = config.mail_domain + if mail_domain != "testrun.org" and not mail_domain.endswith(".testrun.org"): blocked_words = "merlinux schmieder testrun.org".split() for value in config.__dict__.values(): if any(x in value for x in blocked_words): diff --git a/deploy-chatmail/src/deploy_chatmail/cmdeploy.py b/deploy-chatmail/src/deploy_chatmail/cmdeploy.py index 7756b7f0..8588fea0 100644 --- a/deploy-chatmail/src/deploy_chatmail/cmdeploy.py +++ b/deploy-chatmail/src/deploy_chatmail/cmdeploy.py @@ -52,17 +52,17 @@ def run_cmd(args, out): """Deploy chatmail services on the remote server.""" env = os.environ.copy() - env["CHATMAIL_DOMAIN"] = args.config.mailname + env["CHATMAIL_DOMAIN"] = args.config.mail_domain deploypy = "deploy-chatmail/src/deploy_chatmail/deploy.py" pyinf = "pyinfra --dry" if args.dry_run else "pyinfra" - cmd = f"{pyinf} --ssh-user root {args.config.mailname} {deploypy}" + cmd = f"{pyinf} --ssh-user root {args.config.mail_domain} {deploypy}" out.check_call(cmd, env=env) def dns_cmd(args, out): """Generate dns zone file.""" template = importlib.resources.files(__package__).joinpath("chatmail.zone.f") - ssh = f"ssh root@{args.config.mailname}" + ssh = f"ssh root@{args.config.mail_domain}" def read_dkim_entries(entry): lines = [] @@ -77,16 +77,16 @@ def dns_cmd(args, out): dkim_entry = read_dkim_entries(out.shell_output(f"{ssh} -- opendkim-genzone -F")) out( - f"[writing {args.config.mailname} zone data (using space as separator) to stdout output]", + f"[writing {args.config.mail_domain} zone data (using space as separator) to stdout output]", green=True, ) print( template.read_text() .format( acme_account_url=acme_account_url, - email=f"root@{args.config.mailname}", + email=f"root@{args.config.mail_domain}", sts_id=datetime.datetime.now().strftime("%Y%m%d%H%M"), - chatmail_domain=args.config.mailname, + chatmail_domain=args.config.mail_domain, dkim_entry=dkim_entry, ) .strip() @@ -96,9 +96,9 @@ def dns_cmd(args, out): def status_cmd(args, out): """Display status for online chatmail instance.""" - ssh = f"ssh root@{args.config.mailname}" + ssh = f"ssh root@{args.config.mail_domain}" - out.green(f"chatmail domain: {args.config.mailname}") + out.green(f"chatmail domain: {args.config.mail_domain}") if args.config.privacy_mail: out.green("privacy settings: present") else: diff --git a/deploy-chatmail/src/deploy_chatmail/postfix/main.cf.j2 b/deploy-chatmail/src/deploy_chatmail/postfix/main.cf.j2 index 8ca20acd..6a082e07 100644 --- a/deploy-chatmail/src/deploy_chatmail/postfix/main.cf.j2 +++ b/deploy-chatmail/src/deploy_chatmail/postfix/main.cf.j2 @@ -1,4 +1,4 @@ -myorigin = {{ config.mailname }} +myorigin = {{ config.mail_domain }} smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no @@ -16,8 +16,8 @@ readme_directory = no compatibility_level = 2 # TLS parameters -smtpd_tls_cert_file=/var/lib/acme/live/{{ config.mailname }}/fullchain -smtpd_tls_key_file=/var/lib/acme/live/{{ config.mailname }}/privkey +smtpd_tls_cert_file=/var/lib/acme/live/{{ config.mail_domain }}/fullchain +smtpd_tls_key_file=/var/lib/acme/live/{{ config.mail_domain }}/privkey smtpd_tls_security_level=may smtp_tls_CApath=/etc/ssl/certs @@ -26,7 +26,7 @@ smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_tls_policy_maps = socketmap:inet:127.0.0.1:8461:postfix smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination -myhostname = {{ config.mailname }} +myhostname = {{ config.mail_domain }} alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases @@ -45,7 +45,7 @@ inet_interfaces = all inet_protocols = all virtual_transport = lmtp:unix:private/dovecot-lmtp -virtual_mailbox_domains = {{ config.mailname }} +virtual_mailbox_domains = {{ config.mail_domain }} smtpd_milters = unix:opendkim/opendkim.sock non_smtpd_milters = $smtpd_milters diff --git a/deploy-chatmail/src/deploy_chatmail/www.py b/deploy-chatmail/src/deploy_chatmail/www.py index 779086ac..40bebe2e 100644 --- a/deploy-chatmail/src/deploy_chatmail/www.py +++ b/deploy-chatmail/src/deploy_chatmail/www.py @@ -37,7 +37,7 @@ def build_webpages(src_dir, build_dir, config): def _build_webpages(src_dir, build_dir, config): - mail_domain = config.mailname + mail_domain = config.mail_domain assert src_dir.exists(), src_dir if not build_dir.exists(): build_dir.mkdir() @@ -71,7 +71,7 @@ def main(): inipath = reporoot.joinpath("chatmail.ini") config = read_config(inipath) config.webdev = True - assert config.mailname + assert config.mail_domain www_path = reporoot.joinpath("www") src_path = www_path.joinpath("src") stats = None diff --git a/tests/conftest.py b/tests/conftest.py index cbbf75a0..2e96facd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -52,7 +52,7 @@ def chatmail_config(pytestconfig): @pytest.fixture def maildomain(chatmail_config): - return chatmail_config.mailname + return chatmail_config.mail_domain @pytest.fixture diff --git a/tests/test_cmdeploy.py b/tests/test_cmdeploy.py index c38fb930..107fa66a 100644 --- a/tests/test_cmdeploy.py +++ b/tests/test_cmdeploy.py @@ -25,7 +25,7 @@ class TestCmdline: main(["init", "chat.example.org"]) inipath = tmp_path.joinpath("chatmail.ini") config = read_config(inipath) - assert config.mailname == "chat.example.org" + assert config.mail_domain == "chat.example.org" def test_init_not_overwrite(self): main(["init", "chat.example.org"])