Compare commits

..

2 Commits

Author SHA1 Message Date
unkin-agent 2651449d57 Merge remote-tracking branch 'origin/benvin/consul-server-tls-fed' into benvin/consul-mesh-gateway
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
2026-10-07 11:58:26 +11:00
unkin-agent 3e90f5907c Add consul mesh gateway on consul servers
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
2026-10-07 11:54:02 +11:00
3 changed files with 61 additions and 0 deletions
+12
View File
@@ -58,6 +58,18 @@ profiles::consul::client::node_rules:
- resource: service
segment: frr_exporter
disposition: write
- resource: service
segment: mesh-gateway
disposition: write
- resource: service_prefix
segment: ''
disposition: read
- resource: node_prefix
segment: ''
disposition: read
- resource: agent_prefix
segment: ''
disposition: read
profiles::consul::prepared_query::rules:
vault:
ensure: 'present'
@@ -0,0 +1,48 @@
# profiles::consul::mesh_gateway
class profiles::consul::mesh_gateway (
Stdlib::IP::Address $address = $facts['networking']['ip'],
Stdlib::Port $port = 8443,
Stdlib::Port $http_port = 8500,
Stdlib::Port $grpc_port = 8502,
Stdlib::Absolutepath $token_file = '/etc/consul.d/mesh-gateway.token',
) {
include profiles::consul::client
package { 'envoy':
ensure => installed,
}
file { $token_file:
ensure => file,
owner => 'consul',
group => 'consul',
mode => '0600',
content => Sensitive(fqdn_uuid("${facts['networking']['fqdn']}-${profiles::consul::client::secret_id_salt}")),
}
systemd::unit_file { 'consul-mesh-gateway.service':
enable => true,
active => true,
content => @("UNIT"),
[Unit]
Description=Consul mesh gateway (envoy)
Requires=consul.service
After=consul.service
[Service]
User=consul
Group=consul
ExecStart=/usr/bin/consul connect envoy -gateway=mesh -register -service=mesh-gateway -expose-servers \
-address=${address}:${port} -wan-address=${address}:${port} \
-http-addr=http://${address}:${http_port} -grpc-addr=http://${address}:${grpc_port} \
-token-file=${token_file}
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
| UNIT
require => Package['envoy'],
subscribe => File[$token_file],
}
}
@@ -8,5 +8,6 @@ class roles::infra::storage::consul {
include profiles::base
include profiles::base::datavol
include profiles::consul::server
include profiles::consul::mesh_gateway
}
}