diff --git a/hieradata/roles/infra/mail/gateway.yaml b/hieradata/roles/infra/mail/gateway.yaml index f9644cd..4fb88e8 100644 --- a/hieradata/roles/infra/mail/gateway.yaml +++ b/hieradata/roles/infra/mail/gateway.yaml @@ -2,6 +2,22 @@ hiera_include: - redis +# no consul datacentre at the edge, so nothing to register or scrape via consul +profiles::consul::client::enable: false +exporters::node_exporter::enable: false + +# ssh only from the edge vpcs (syd, mel) and the lab over the vpn route +ssh::server::options: + AllowUsers: '*@198.18.30.0/24 *@198.18.31.0/24 *@198.18.0.0/16 *@10.10.12.200/32' + +# local caching resolver for postfix and rspamd, forwarding to the lab resolver over the vpn route +dnsmasq::no_resolv: true +dnsmasq::cache_size: 10000 +dnsmasq::servers: + - 198.18.200.7 +profiles::dns::base::nameservers: + - 127.0.0.1 + profiles::yum::global::repos: rspamd: ensure: present diff --git a/site/profiles/manifests/consul/client.pp b/site/profiles/manifests/consul/client.pp index a66a4ec..4a54b13 100644 --- a/site/profiles/manifests/consul/client.pp +++ b/site/profiles/manifests/consul/client.pp @@ -12,8 +12,13 @@ class profiles::consul::client ( Array[Hash] $node_rules = [], Hash $ports = {}, Stdlib::IP::Address $host_addr = $facts['networking']['ip'], + Boolean $enable = true, ) { + unless $enable { + return() + } + if $facts['enc_role'] != $members_role { # set a datacentre/cluster name diff --git a/site/roles/manifests/infra/mail/gateway.pp b/site/roles/manifests/infra/mail/gateway.pp index 37ac4e4..3a727b3 100644 --- a/site/roles/manifests/infra/mail/gateway.pp +++ b/site/roles/manifests/infra/mail/gateway.pp @@ -6,7 +6,11 @@ class roles::infra::mail::gateway { }else{ include profiles::defaults include profiles::base + include dnsmasq include profiles::rspamd::edge include profiles::postfix::gateway + + # resolv.conf points at dnsmasq, so it must be running first + Class['dnsmasq'] -> Class['profiles::dns::resolvconf'] } }