3
0

Merge branch 'jenkins-build-17' into 'master'

Auto-merge for build 17

See merge request puppet/puppet_cd!15
This commit is contained in:
2025-10-23 17:01:17 +00:00
10 changed files with 59 additions and 125 deletions

View File

@@ -166,9 +166,9 @@ class puppet_cd::firewall::iptables (
jump => 'accept', jump => 'accept',
} }
if $pt_use_r10k_webhook == true { if $pt_use_r10k_webhook == true {
firewall { '38080 open port 8080': firewall { '38088 open port 8088':
proto => 'tcp', proto => 'tcp',
dport => '8080', dport => '8088',
jump => 'accept', jump => 'accept',
} }
} }

View File

@@ -128,10 +128,10 @@ class puppet_cd::main::config (
include puppet_cd::puppetdb::service include puppet_cd::puppetdb::service
} }
# if $pt_use_r10k == true { if $pt_use_r10k == true {
# include puppet_cd::r10k::install include puppet_cd::r10k::install
# include puppet_cd::r10k::webhook include puppet_cd::r10k::webhook
# } }
}</pre> }</pre>
</td> </td>
</tr> </tr>

View File

@@ -1803,7 +1803,7 @@ class puppet_cd::params (
$pt_puppetdb_var_dir = &#39;/opt/puppetlabs/server/data/puppetdb&#39; $pt_puppetdb_var_dir = &#39;/opt/puppetlabs/server/data/puppetdb&#39;
## r10k ## r10k
$pt_r10k_dir = &quot;${pt_main_dir}/r10k&quot; $pt_r10k_dir = &quot;${pt_main_dir}/r10k&quot;
$pt_r10k_webhook_dir = &#39;/opt/r10k-webhook&#39; $pt_r10k_webhook_dir = &#39;/etc/r10k-webhook&#39;
# files # files
## puppet ## puppet
@@ -1836,8 +1836,8 @@ class puppet_cd::params (
$pt_r10k_webhook_erb = &#39;puppet_cd/r10k/webhook.py.erb&#39; $pt_r10k_webhook_erb = &#39;puppet_cd/r10k/webhook.py.erb&#39;
$pt_r10k_req_file = &quot;${pt_r10k_webhook_dir}/requirements.txt&quot; $pt_r10k_req_file = &quot;${pt_r10k_webhook_dir}/requirements.txt&quot;
$pt_r10k_req_erb = &#39;puppet_cd/r10k/requirements.txt.erb&#39; $pt_r10k_req_erb = &#39;puppet_cd/r10k/requirements.txt.erb&#39;
$pt_r10k_wh_service_file = &#39;/etc/systemd/system/r10k-webhook.service&#39; $pt_r10k_wh_config_file = &quot;${pt_r10k_webhook_dir}/config.json&quot;
$pt_r10k_wh_service_erb = &#39;puppet_cd/r10k/r10k_webhook_service.erb&#39; $pt_r10k_wh_config_erb = &#39;puppet_cd/r10k/r10k_webhook_config.erb&#39;
# service # service
$pt_server_service = &#39;puppetserver&#39; $pt_server_service = &#39;puppetserver&#39;

View File

@@ -173,32 +173,7 @@
75 75
76 76
77 77
78 78</pre>
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103</pre>
</td> </td>
<td> <td>
<pre class="code"><span class="info file"># File 'manifests/r10k/webhook.pp', line 6</span> <pre class="code"><span class="info file"># File 'manifests/r10k/webhook.pp', line 6</span>
@@ -213,27 +188,17 @@ class puppet_cd::r10k::webhook (
} }
# create the webhook dir # create the webhook dir
file { &#39;/opt/r10k-webhook&#39;: file { $pt_r10k_webhook_dir:
ensure =&gt; directory, ensure =&gt; directory,
path =&gt; $pt_r10k_webhook_dir, owner =&gt; &#39;root&#39;,
owner =&gt; &#39;puppet&#39;, group =&gt; &#39;root&#39;,
group =&gt; &#39;puppet&#39;,
mode =&gt; &#39;0755&#39;, mode =&gt; &#39;0755&#39;,
selrange =&gt; s0, selrange =&gt; s0,
selrole =&gt; object_r, selrole =&gt; object_r,
seltype =&gt; puppet_etc_t, seltype =&gt; etc_t,
seluser =&gt; system_u, seluser =&gt; system_u,
} }
# create the log file
file { &#39;/var/log/r10k-webhook.log&#39;:
ensure =&gt; file,
owner =&gt; &#39;puppet&#39;,
group =&gt; &#39;puppet&#39;,
mode =&gt; &#39;0644&#39;,
require =&gt; File[&#39;/opt/r10k-webhook&#39;],
}
# create the requirements file # create the requirements file
file { $pt_r10k_req_file: file { $pt_r10k_req_file:
ensure =&gt; file, ensure =&gt; file,
@@ -242,26 +207,26 @@ class puppet_cd::r10k::webhook (
mode =&gt; &#39;0644&#39;, mode =&gt; &#39;0644&#39;,
selrange =&gt; s0, selrange =&gt; s0,
selrole =&gt; object_r, selrole =&gt; object_r,
seltype =&gt; puppet_etc_t, seltype =&gt; etc_t,
seluser =&gt; system_u, seluser =&gt; system_u,
content =&gt; template($pt_r10k_req_erb), content =&gt; template($pt_r10k_req_erb),
require =&gt; File[&#39;/var/log/r10k-webhook.log&#39;],
} }
# create the binary file # create the webhook config file
file { $pt_r10k_webhook_file: file { $pt_r10k_wh_config_file:
ensure =&gt; file, ensure =&gt; file,
owner =&gt; &#39;puppet&#39;, owner =&gt; &#39;root&#39;,
group =&gt; &#39;puppet&#39;, group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;, mode =&gt; &#39;0644&#39;,
selrange =&gt; s0, selrange =&gt; s0,
selrole =&gt; object_r, selrole =&gt; object_r,
seltype =&gt; puppet_etc_t, seltype =&gt; etc_t,
seluser =&gt; system_u, seluser =&gt; system_u,
content =&gt; template($pt_r10k_webhook_erb), content =&gt; template($pt_r10k_wh_config_erb),
require =&gt; File[&#39;/opt/r10k-webhook&#39;], require =&gt; File[$pt_r10k_webhook_dir],
} }
# install pip dependencies # install pip dependencies
exec { &#39;pip_install_r10k_webhook&#39;: exec { &#39;pip_install_r10k_webhook&#39;:
command =&gt; &#39;pip3 install --user -r /opt/r10k-webhook/requirements.txt&#39;, command =&gt; &#39;pip3 install --user -r /opt/r10k-webhook/requirements.txt&#39;,
@@ -278,26 +243,11 @@ class puppet_cd::r10k::webhook (
refreshonly =&gt; true, refreshonly =&gt; true,
} }
# install systemd service file
file { $pt_r10k_wh_service_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; system_u,
content =&gt; template($pt_r10k_wh_service_erb),
notify =&gt; Exec[&#39;systemctl_daemon_reload&#39;],
}
# manage service # manage service
service { &#39;r10k-webhook&#39;: service { &#39;r10k-webhook&#39;:
ensure =&gt; &#39;running&#39;, ensure =&gt; &#39;running&#39;,
enable =&gt; true, enable =&gt; true,
require =&gt; File[$pt_r10k_wh_service_file], subscribe =&gt; File[$pt_r10k_wh_config_file],
subscribe =&gt; File[$pt_r10k_webhook_file],
} }
} }
}</pre> }</pre>

View File

@@ -18,9 +18,9 @@ class puppet_cd::firewall::iptables (
jump => 'accept', jump => 'accept',
} }
if $pt_use_r10k_webhook == true { if $pt_use_r10k_webhook == true {
firewall { '38080 open port 8080': firewall { '38088 open port 8088':
proto => 'tcp', proto => 'tcp',
dport => '8080', dport => '8088',
jump => 'accept', jump => 'accept',
} }
} }

View File

@@ -12,8 +12,8 @@ class puppet_cd::main::config (
include puppet_cd::puppetdb::service include puppet_cd::puppetdb::service
} }
# if $pt_use_r10k == true { if $pt_use_r10k == true {
# include puppet_cd::r10k::install include puppet_cd::r10k::install
# include puppet_cd::r10k::webhook include puppet_cd::r10k::webhook
# } }
} }

View File

@@ -203,7 +203,7 @@ class puppet_cd::params (
$pt_puppetdb_var_dir = '/opt/puppetlabs/server/data/puppetdb' $pt_puppetdb_var_dir = '/opt/puppetlabs/server/data/puppetdb'
## r10k ## r10k
$pt_r10k_dir = "${pt_main_dir}/r10k" $pt_r10k_dir = "${pt_main_dir}/r10k"
$pt_r10k_webhook_dir = '/opt/r10k-webhook' $pt_r10k_webhook_dir = '/etc/r10k-webhook'
# files # files
## puppet ## puppet
@@ -236,8 +236,8 @@ class puppet_cd::params (
$pt_r10k_webhook_erb = 'puppet_cd/r10k/webhook.py.erb' $pt_r10k_webhook_erb = 'puppet_cd/r10k/webhook.py.erb'
$pt_r10k_req_file = "${pt_r10k_webhook_dir}/requirements.txt" $pt_r10k_req_file = "${pt_r10k_webhook_dir}/requirements.txt"
$pt_r10k_req_erb = 'puppet_cd/r10k/requirements.txt.erb' $pt_r10k_req_erb = 'puppet_cd/r10k/requirements.txt.erb'
$pt_r10k_wh_service_file = '/etc/systemd/system/r10k-webhook.service' $pt_r10k_wh_config_file = "${pt_r10k_webhook_dir}/config.json"
$pt_r10k_wh_service_erb = 'puppet_cd/r10k/r10k_webhook_service.erb' $pt_r10k_wh_config_erb = 'puppet_cd/r10k/r10k_webhook_config.erb'
# service # service
$pt_server_service = 'puppetserver' $pt_server_service = 'puppetserver'

View File

@@ -13,27 +13,17 @@ class puppet_cd::r10k::webhook (
} }
# create the webhook dir # create the webhook dir
file { '/opt/r10k-webhook': file { $pt_r10k_webhook_dir:
ensure => directory, ensure => directory,
path => $pt_r10k_webhook_dir, owner => 'root',
owner => 'puppet', group => 'root',
group => 'puppet',
mode => '0755', mode => '0755',
selrange => s0, selrange => s0,
selrole => object_r, selrole => object_r,
seltype => puppet_etc_t, seltype => etc_t,
seluser => system_u, seluser => system_u,
} }
# create the log file
file { '/var/log/r10k-webhook.log':
ensure => file,
owner => 'puppet',
group => 'puppet',
mode => '0644',
require => File['/opt/r10k-webhook'],
}
# create the requirements file # create the requirements file
file { $pt_r10k_req_file: file { $pt_r10k_req_file:
ensure => file, ensure => file,
@@ -42,26 +32,26 @@ class puppet_cd::r10k::webhook (
mode => '0644', mode => '0644',
selrange => s0, selrange => s0,
selrole => object_r, selrole => object_r,
seltype => puppet_etc_t, seltype => etc_t,
seluser => system_u, seluser => system_u,
content => template($pt_r10k_req_erb), content => template($pt_r10k_req_erb),
require => File['/var/log/r10k-webhook.log'],
} }
# create the binary file # create the webhook config file
file { $pt_r10k_webhook_file: file { $pt_r10k_wh_config_file:
ensure => file, ensure => file,
owner => 'puppet', owner => 'root',
group => 'puppet', group => 'root',
mode => '0644', mode => '0644',
selrange => s0, selrange => s0,
selrole => object_r, selrole => object_r,
seltype => puppet_etc_t, seltype => etc_t,
seluser => system_u, seluser => system_u,
content => template($pt_r10k_webhook_erb), content => template($pt_r10k_wh_config_erb),
require => File['/opt/r10k-webhook'], require => File[$pt_r10k_webhook_dir],
} }
# install pip dependencies # install pip dependencies
exec { 'pip_install_r10k_webhook': exec { 'pip_install_r10k_webhook':
command => 'pip3 install --user -r /opt/r10k-webhook/requirements.txt', command => 'pip3 install --user -r /opt/r10k-webhook/requirements.txt',
@@ -78,26 +68,11 @@ class puppet_cd::r10k::webhook (
refreshonly => true, refreshonly => true,
} }
# install systemd service file
file { $pt_r10k_wh_service_file:
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => systemd_unit_file_t,
seluser => system_u,
content => template($pt_r10k_wh_service_erb),
notify => Exec['systemctl_daemon_reload'],
}
# manage service # manage service
service { 'r10k-webhook': service { 'r10k-webhook':
ensure => 'running', ensure => 'running',
enable => true, enable => true,
require => File[$pt_r10k_wh_service_file], subscribe => File[$pt_r10k_wh_config_file],
subscribe => File[$pt_r10k_webhook_file],
} }
} }
} }

View File

@@ -0,0 +1,8 @@
{
"flush_env_cache": false,
"branch_to_env_map": {
"master": "production",
"^env_(.*)$": "\g<1>"
},
"allowed_branches": "^(env_[\w]+|master)$"
}

View File

@@ -1,3 +1,4 @@
fastapi==0.115.0 #fastapi==0.115.0
uvicorn==0.30.6 #uvicorn==0.30.6
pydantic==2.8.2 #pydantic==2.8.2
r10k-webhook