Merge branch 'jenkins-build-27' into 'master'
Auto-merge for build 27 See merge request puppet/puppet_cd!23
This commit is contained in:
@@ -1674,7 +1674,11 @@
|
||||
242
|
||||
243
|
||||
244
|
||||
245</pre>
|
||||
245
|
||||
246
|
||||
247
|
||||
248
|
||||
249</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 88</span>
|
||||
@@ -1797,6 +1801,7 @@ class puppet_cd::params (
|
||||
$pt_puppetdb_var_dir = '/opt/puppetlabs/server/data/puppetdb'
|
||||
## r10k
|
||||
$pt_r10k_dir = "${pt_main_dir}/r10k"
|
||||
$pt_r10k_webhook_dir = '/etc/r10k-webhook'
|
||||
|
||||
# files
|
||||
## puppet
|
||||
@@ -1826,12 +1831,15 @@ class puppet_cd::params (
|
||||
$pt_r10k_file = "${pt_r10k_dir}/r10k.yaml"
|
||||
$pt_r10k_erb = 'puppet_cd/r10k/r10k.yaml.erb'
|
||||
$pt_r10k_hook_file = '/usr/local/bin/webhook'
|
||||
$pt_r10k_hook_config_file = "${pt_r10k_webhook_dir}/hooks.json"
|
||||
$pt_r10k_hook_config_erb = 'puppet_cd/r10k/hook_config.erb'
|
||||
$pt_r10k_hook_service_file = '/etc/systemd/system/webhook.service'
|
||||
$pt_r10k_hook_service_erb = 'puppet_cd/r10k/r10k_webhook_service.erb'
|
||||
|
||||
# service
|
||||
$pt_server_service = 'puppetserver'
|
||||
$pt_agent_service = 'puppet'
|
||||
$pt_db_service = 'puppetdb'
|
||||
$pt_r10k_wb_service = 'r10k-webhook'
|
||||
|
||||
#
|
||||
# includes must be last
|
||||
|
||||
@@ -125,7 +125,43 @@
|
||||
27
|
||||
28
|
||||
29
|
||||
30</pre>
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/r10k/webhook.pp', line 6</span>
|
||||
@@ -147,12 +183,48 @@ class puppet_cd::r10k::webhook (
|
||||
source => 'puppet:///modules/puppet_cd/webhook',
|
||||
}
|
||||
|
||||
# # manage service
|
||||
# service { 'r10k-webhook':
|
||||
# ensure => 'running',
|
||||
# enable => true,
|
||||
# subscribe => File[$pt_r10k_wh_config_file],
|
||||
# }
|
||||
# create the webhook config dir
|
||||
file { $pt_r10k_webhook_dir:
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
}
|
||||
|
||||
# create webhook config
|
||||
file { $pt_r10k_hook_config_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($pt_r10k_hook_config_erb),
|
||||
}
|
||||
|
||||
# create service config
|
||||
file { $pt_r10k_hook_config_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => systemd_unit_file_t,
|
||||
seluser => system_u,
|
||||
content => template($pt_r10k_hook_service_erb),
|
||||
}
|
||||
|
||||
# manage service
|
||||
service { 'r10k-webhook':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
subscribe => File[$pt_r10k_hook_config_file],
|
||||
}
|
||||
}
|
||||
}</pre>
|
||||
</td>
|
||||
|
||||
@@ -203,6 +203,7 @@ class puppet_cd::params (
|
||||
$pt_puppetdb_var_dir = '/opt/puppetlabs/server/data/puppetdb'
|
||||
## r10k
|
||||
$pt_r10k_dir = "${pt_main_dir}/r10k"
|
||||
$pt_r10k_webhook_dir = '/etc/r10k-webhook'
|
||||
|
||||
# files
|
||||
## puppet
|
||||
@@ -232,12 +233,15 @@ class puppet_cd::params (
|
||||
$pt_r10k_file = "${pt_r10k_dir}/r10k.yaml"
|
||||
$pt_r10k_erb = 'puppet_cd/r10k/r10k.yaml.erb'
|
||||
$pt_r10k_hook_file = '/usr/local/bin/webhook'
|
||||
$pt_r10k_hook_config_file = "${pt_r10k_webhook_dir}/hooks.json"
|
||||
$pt_r10k_hook_config_erb = 'puppet_cd/r10k/hook_config.erb'
|
||||
$pt_r10k_hook_service_file = '/etc/systemd/system/webhook.service'
|
||||
$pt_r10k_hook_service_erb = 'puppet_cd/r10k/r10k_webhook_service.erb'
|
||||
|
||||
# service
|
||||
$pt_server_service = 'puppetserver'
|
||||
$pt_agent_service = 'puppet'
|
||||
$pt_db_service = 'puppetdb'
|
||||
$pt_r10k_wb_service = 'r10k-webhook'
|
||||
|
||||
#
|
||||
# includes must be last
|
||||
|
||||
@@ -20,11 +20,47 @@ class puppet_cd::r10k::webhook (
|
||||
source => 'puppet:///modules/puppet_cd/webhook',
|
||||
}
|
||||
|
||||
# # manage service
|
||||
# service { 'r10k-webhook':
|
||||
# ensure => 'running',
|
||||
# enable => true,
|
||||
# subscribe => File[$pt_r10k_wh_config_file],
|
||||
# }
|
||||
# create the webhook config dir
|
||||
file { $pt_r10k_webhook_dir:
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
}
|
||||
|
||||
# create webhook config
|
||||
file { $pt_r10k_hook_config_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($pt_r10k_hook_config_erb),
|
||||
}
|
||||
|
||||
# create service config
|
||||
file { $pt_r10k_hook_config_file:
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => systemd_unit_file_t,
|
||||
seluser => system_u,
|
||||
content => template($pt_r10k_hook_service_erb),
|
||||
}
|
||||
|
||||
# manage service
|
||||
service { 'r10k-webhook':
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
subscribe => File[$pt_r10k_hook_config_file],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
18
templates/r10k/hook_config.erb
Normal file
18
templates/r10k/hook_config.erb
Normal file
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"id": "r10k-deploy",
|
||||
"execute-command": "/usr/local/bin/r10k",
|
||||
"command-working-directory": "/etc/puppetlabs/code",
|
||||
"pass-arguments-to-command": [
|
||||
{ "source": "string", "name": "deploy" },
|
||||
{ "source": "string", "name": "environment" },
|
||||
{ "source": "string", "name": "-pv" }
|
||||
],
|
||||
"trigger-rule": {
|
||||
"match": {
|
||||
"type": "payload-hash-sha1",
|
||||
"secret": "your_webhook_secret"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1,19 +1,15 @@
|
||||
[Unit]
|
||||
Description=r10k Webhook Server
|
||||
After=network.target haproxy.service
|
||||
Description=Webhook Service for r10k Deployment
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/webhook -hooks /etc/webhook/hooks.json -port 8088
|
||||
Restart=always
|
||||
User=puppet
|
||||
Group=puppet
|
||||
WorkingDirectory=/opt/r10k-webhook
|
||||
ExecStart=/usr/bin/python3 /opt/r10k-webhook/webhook_server.py
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
Environment=R10K_WEBHOOK_SECRET=YOUR_SECRET_HERE
|
||||
LimitNOFILE=65536
|
||||
StandardOutput=journal
|
||||
StandardError=journal
|
||||
WorkingDirectory=/etc/puppetlabs/code
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user