feat: update consul/dnsmasq

- update params with bind/advertise addr
- update params with anycast ip option
- migrate dnsmasq config to template
This commit is contained in:
Ben Vincent 2025-05-03 23:39:47 +10:00
parent 1b8f50786f
commit 2bdf336b28
2 changed files with 12 additions and 3 deletions

View File

@ -45,6 +45,9 @@ class profiles::consul::server (
Boolean $disable_update_check = true, Boolean $disable_update_check = true,
Boolean $join_remote_regions = false, Boolean $join_remote_regions = false,
Array[String] $remote_regions = [], Array[String] $remote_regions = [],
Stdlib::IP::Address $bind_addr = $facts['networking']['ip'],
Stdlib::IP::Address $advertise_addr = $facts['networking']['ip'],
Optional[Stdlib::IP::Address] $anycast_ip = undef,
) { ) {
# wait for all attributes to be ready # wait for all attributes to be ready
@ -112,8 +115,8 @@ class profiles::consul::server (
'ui' => $enable_ui, 'ui' => $enable_ui,
'ui_config' => { 'enabled' => $enable_ui_config }, 'ui_config' => { 'enabled' => $enable_ui_config },
'performance' => { 'raft_multiplier' => $raft_multiplier }, 'performance' => { 'raft_multiplier' => $raft_multiplier },
'bind_addr' => $::facts['networking']['ip'], 'bind_addr' => $bind_addr,
'advertise_addr' => $::facts['networking']['ip'], 'advertise_addr' => $advertise_addr,
'retry_join' => $servers_array, 'retry_join' => $servers_array,
'retry_join_wan' => $remote_servers_array, 'retry_join_wan' => $remote_servers_array,
}, },
@ -143,7 +146,7 @@ class profiles::consul::server (
owner => 'root', owner => 'root',
group => 'root', group => 'root',
mode => '0644', mode => '0644',
content => "server=/${domain}/${::facts['networking']['ip']}#${dns_port}\n", content => template('profiles/consul/dnsmasq.conf.erb'),
require => Package['dnsmasq'], require => Package['dnsmasq'],
notify => Service['dnsmasq'], notify => Service['dnsmasq'],
} }

View File

@ -0,0 +1,6 @@
server=/<%= @domain %>/<%= @bind_addr %>#<%= @dns_port %>
<% if @anycast_ip -%>
listen-addr=<%= @anycast_ip %>
<% else -%>
listen-addr=<%= @bind_addr %>
<% end -%>