Compare commits
3 commits
3f51534e03
...
90f861e1e1
Author | SHA1 | Date | |
---|---|---|---|
90f861e1e1 | |||
|
e0385b0456 | ||
|
c66bff55f4 |
2 changed files with 28 additions and 2 deletions
|
@ -83,11 +83,14 @@ smtpd_forbid_unauth_pipelining = yes
|
||||||
smtpd_discard_ehlo_keywords = chunking
|
smtpd_discard_ehlo_keywords = chunking
|
||||||
smtpd_forbid_bare_newline = yes
|
smtpd_forbid_bare_newline = yes
|
||||||
|
|
||||||
smtpd_client_connection_rate_limit = 2
|
|
||||||
|
|
||||||
#===
|
#===
|
||||||
# Rate limiting
|
# Rate limiting
|
||||||
#===
|
#===
|
||||||
|
smtpd_client_connection_rate_limit = 2
|
||||||
|
# do not rate-limit ourselves
|
||||||
|
# in particular, useful for forgejo who opens a lot of SMTP connections
|
||||||
|
smtpd_client_event_limit_exceptions = $mynetworks /etc/postfix/rate-limit-exceptions
|
||||||
|
|
||||||
slow_destination_recipient_limit = 20
|
slow_destination_recipient_limit = 20
|
||||||
slow_destination_concurrency_limit = 2
|
slow_destination_concurrency_limit = 2
|
||||||
|
|
||||||
|
|
|
@ -382,6 +382,29 @@ job "email" {
|
||||||
destination = "secrets/postfix/transport"
|
destination = "secrets/postfix/transport"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template {
|
||||||
|
# Collect machine IPs from the cluster.
|
||||||
|
# We use intermediate maps to ensure we get a sorted list with no duplicates,
|
||||||
|
# so that it is robust wrt. changes in the order of the output of ls or
|
||||||
|
# addition of new machines in an existing site.
|
||||||
|
# (scratch.MapValues returns the list of *values* in the map, sorted by *key*)
|
||||||
|
data = <<EOH
|
||||||
|
{{- range ls "diplonat/autodiscovery/ipv4" }}
|
||||||
|
{{- with $a := .Value | parseJSON }}
|
||||||
|
{{- scratch.MapSet "ipv4" $a.address $a.address }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- range ls "diplonat/autodiscovery/ipv6" }}
|
||||||
|
{{- with $a := .Value | parseJSON }}
|
||||||
|
{{- scratch.MapSet "ipv6" $a.address $a.address }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- range scratch.MapValues "ipv4" }}{{ . }} {{ end }}
|
||||||
|
{{- range scratch.MapValues "ipv6" }}[{{ . }}] {{ end }}
|
||||||
|
EOH
|
||||||
|
destination = "secrets/postfix/rate-limit-exceptions"
|
||||||
|
}
|
||||||
|
|
||||||
# --- secrets ---
|
# --- secrets ---
|
||||||
template {
|
template {
|
||||||
data = "{{ with $d := key \"tricot/certs/smtp.deuxfleurs.fr\" | parseJSON }}{{ $d.cert_pem }}{{ end }}"
|
data = "{{ with $d := key \"tricot/certs/smtp.deuxfleurs.fr\" | parseJSON }}{{ $d.cert_pem }}{{ end }}"
|
||||||
|
|
Loading…
Reference in a new issue