feat: add prepared_query capabilities to consul
- add prepared query for: - vault - puppet - puppetca
This commit is contained in:
parent
6020143f76
commit
8a241d6b96
@ -87,6 +87,9 @@ lookup_options:
|
|||||||
profiles::consul::client::node_rules:
|
profiles::consul::client::node_rules:
|
||||||
merge:
|
merge:
|
||||||
strategy: deep
|
strategy: deep
|
||||||
|
profiles::consul::prepared_query::rules:
|
||||||
|
merge:
|
||||||
|
strategy: deep
|
||||||
|
|
||||||
facts_path: '/opt/puppetlabs/facter/facts.d'
|
facts_path: '/opt/puppetlabs/facter/facts.d'
|
||||||
|
|
||||||
|
|||||||
@ -33,3 +33,23 @@ profiles::nginx::simpleproxy::nginx_aliases:
|
|||||||
- consul.main.unkin.net
|
- consul.main.unkin.net
|
||||||
profiles::nginx::simpleproxy::proxy_port: 8500
|
profiles::nginx::simpleproxy::proxy_port: 8500
|
||||||
profiles::nginx::simpleproxy::proxy_path: '/'
|
profiles::nginx::simpleproxy::proxy_path: '/'
|
||||||
|
|
||||||
|
profiles::consul::prepared_query::rules:
|
||||||
|
vault:
|
||||||
|
ensure: 'present'
|
||||||
|
service_name: 'vault'
|
||||||
|
service_failover_n: 3
|
||||||
|
service_only_passing: true
|
||||||
|
ttl: 10
|
||||||
|
puppet:
|
||||||
|
ensure: 'present'
|
||||||
|
service_name: 'puppet'
|
||||||
|
service_failover_n: 3
|
||||||
|
service_only_passing: true
|
||||||
|
ttl: 10
|
||||||
|
puppetca:
|
||||||
|
ensure: 'present'
|
||||||
|
service_name: 'puppetca'
|
||||||
|
service_failover_n: 3
|
||||||
|
service_only_passing: true
|
||||||
|
ttl: 10
|
||||||
|
|||||||
14
site/profiles/manifests/consul/prepared_query.pp
Normal file
14
site/profiles/manifests/consul/prepared_query.pp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# profile::consul::prepared_query
|
||||||
|
class profiles::consul::prepared_query (
|
||||||
|
String $root_api_token = lookup('profiles::consul::server::acl_tokens_initial_management'),
|
||||||
|
Hash $rules = {},
|
||||||
|
) {
|
||||||
|
|
||||||
|
$rules.each | $rule, $data | {
|
||||||
|
consul_prepared_query { $rule:
|
||||||
|
acl_api_token => $root_api_token,
|
||||||
|
hostname => $facts['networking']['ip'],
|
||||||
|
* => $data,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -127,6 +127,7 @@ class profiles::consul::server (
|
|||||||
include profiles::nginx::simpleproxy
|
include profiles::nginx::simpleproxy
|
||||||
include profiles::consul::policies
|
include profiles::consul::policies
|
||||||
include profiles::consul::tokens
|
include profiles::consul::tokens
|
||||||
|
include profiles::consul::prepared_query
|
||||||
|
|
||||||
# get the dns port from the $ports hash, otherwise use the default
|
# get the dns port from the $ports hash, otherwise use the default
|
||||||
$dns_port = pick($ports['dns'], 8600)
|
$dns_port = pick($ports['dns'], 8600)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user