Add mailcow to terraform

This commit is contained in:
Tobias Reisinger 2024-10-29 22:43:05 +01:00
parent d73462cd90
commit f20b2596d0
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
18 changed files with 135 additions and 35 deletions

View file

@ -63,6 +63,7 @@ def parse_service(svc, data, hosts):
for dns in data.get("dns") or []:
domains.append(f"- {dns['domain']}")
data['name'] = svc
data['key'] = svc_key
data['host_key'] = host_key(data["host"], hosts)
data['label'] = "\\n".join([svc] + domains)
@ -98,15 +99,17 @@ if __name__ == '__main__':
db_key = service_key_find("postgresql", services, hosts)
auth_key = service_key_find("authentik", services, hosts)
monitoring_key = service_key_find("gatus", services, hosts)
mail_key = service_key_find("mailcowdockerized", services, hosts)
jinja_loader = jinja2.FileSystemLoader(searchpath="./templates")
jinja_env = jinja2.Environment(loader=jinja_loader)
template = jinja_env.get_template("infrastructure.d2.j2")
print(template.render(
grid_svcs=[db_key, auth_key],
grid_svcs=[db_key, auth_key, mail_key],
svcs=parse_services(services, hosts),
hosts=parse_hosts(hosts),
db_key=db_key,
auth_key=auth_key,
monitoring_key=monitoring_key,
mail_key=mail_key,
))