smtp-relay/smtp-relay.nomad.hcl

77 lines
1.7 KiB
HCL
Raw Permalink Normal View History

2023-10-08 17:39:33 +02:00
[[ $c := merge .mail.relay . -]]
2023-08-25 00:01:10 +02:00
2023-12-21 23:22:39 +01:00
job [[ .instance | toJSON ]] {
2023-10-08 17:39:33 +02:00
[[ template "common/job_start.tpl" $c ]]
2023-08-25 00:01:10 +02:00
group "smtp-relay" {
2023-08-25 16:19:09 +02:00
count = [[ .mail.relay.count ]]
2023-08-25 00:01:10 +02:00
network {
mode = "bridge"
}
volume "smtp-relay" {
type = [[ .mail.relay.volume.type | toJSON ]]
source = [[ .mail.relay.volume.source | toJSON ]]
attachment_mode = "file-system"
access_mode = "single-node-writer"
per_alloc = true
}
service {
2023-12-21 23:22:39 +01:00
name = "[[ .instance ]][[ .consul.suffix ]]"
2023-08-25 00:01:10 +02:00
port = 8025
2023-10-08 17:39:33 +02:00
[[ template "common/connect.tpl" $c ]]
2023-08-25 00:01:10 +02:00
}
task "exim" {
2023-10-08 17:39:33 +02:00
driver = [[ $c.nomad.driver | toJSON ]]
2023-08-25 00:01:10 +02:00
config {
image = [[ .mail.relay.image | toJSON ]]
}
vault {
2023-12-21 23:22:39 +01:00
policies = ["[[ .instance ]][[ .consul.suffix ]]"]
2023-08-25 00:01:10 +02:00
env = false
disable_file = true
}
env {
2023-12-21 23:22:39 +01:00
HOSTNAME = "[[ .instance ]].service.[[ .consul.domain ]]"
2023-08-25 00:01:10 +02:00
LOCAL_DOMAINS = ""
RELAY_FROM_HOSTS = "127.0.0.1"
DISABLE_SENDER_VERIFICATION = "true"
2023-08-25 16:47:19 +02:00
SMARTHOST = "[[ .mail.relay.host ]]::[[ .mail.relay.port ]]"
2023-08-25 00:01:10 +02:00
[[ template "common/env.tpl" .mail.relay.env ]]
}
2023-10-08 17:39:33 +02:00
[[- if has .mail.relay "user" ]]
2023-08-25 00:01:10 +02:00
template {
data =<<_EOF
# SMTP Auth
SMTP_USERNAME=[[ .mail.relay.user ]]
2023-10-08 17:39:33 +02:00
SMTP_PASSWORD=[[ .mail.relay.password ]]
2023-08-25 00:01:10 +02:00
_EOF
destination = "secrets/env"
uid = 100000
gid = 100000
perms = 0400
env = true
}
2023-10-08 17:39:33 +02:00
[[- end ]]
2023-08-25 00:01:10 +02:00
volume_mount {
volume = "smtp-relay"
destination = "/var/spool/exim"
}
[[ template "common/resources.tpl" .mail.relay.resources ]]
}
}
}