diff --git a/chatmaild/src/chatmaild/config.py b/chatmaild/src/chatmaild/config.py index a20e41de..2f0c1690 100644 --- a/chatmaild/src/chatmaild/config.py +++ b/chatmaild/src/chatmaild/config.py @@ -1,5 +1,5 @@ import iniconfig -import datetime +from datetime import datetime def read_config(inipath): @@ -35,12 +35,15 @@ def write_initial_config(inipath, mail_domain): from importlib.resources import files inidir = files(__package__).joinpath("ini") + selector = "dkim" + if mail_domain == "staging.testrun.org": + selector = datetime.now().strftime("%Y%m%d%H%M") content = ( inidir.joinpath("chatmail.ini.f") .read_text() .format( mail_domain=mail_domain, - dkim_selector=str(datetime.datetime.now().strftime("%Y%m%d%H%M")), + dkim_selector=selector, ) ) if mail_domain.endswith(".testrun.org"): diff --git a/cmdeploy/src/cmdeploy/dns.py b/cmdeploy/src/cmdeploy/dns.py index 64a71bb3..c77cf2b8 100644 --- a/cmdeploy/src/cmdeploy/dns.py +++ b/cmdeploy/src/cmdeploy/dns.py @@ -51,7 +51,7 @@ def show_dns(args, out) -> int: """Check existing DNS records, optionally write them to zone file, return exit code 0 or 1.""" template = importlib.resources.files(__package__).joinpath("chatmail.zone.f") mail_domain = args.config.mail_domain - dkim_selector = args.config.dkim_selector + selector = args.config.dkim_selector ssh = f"ssh root@{mail_domain}" dns = DNS(out, mail_domain) @@ -62,8 +62,8 @@ def show_dns(args, out) -> int: continue line = line.replace("\t", " ") lines.append(line) - lines[0] = f"{dkim_selector}._domainkey.{mail_domain}. IN TXT " + lines[0].strip( - f"{dkim_selector}._domainkey IN TXT " + lines[0] = f"{selector}._domainkey.{mail_domain}. IN TXT " + lines[0].strip( + f"{selector}._domainkey IN TXT " ) return "\n".join(lines) @@ -74,7 +74,9 @@ def show_dns(args, out) -> int: print("Please run `cmdeploy run` first.") return 1 dkim_entry = read_dkim_entries( - out.shell_output(f"{ssh} -- cat /var/lib/rspamd/dkim/{mail_domain}.{dkim_selector}.zone") + out.shell_output( + f"{ssh} -- cat /var/lib/rspamd/dkim/{mail_domain}.{selector}.zone" + ) ) ipv6 = dns.get_ipv6()