3e90f5907c
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
49 lines
1.4 KiB
Puppet
49 lines
1.4 KiB
Puppet
# 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],
|
|
}
|
|
}
|