readd r10k webhook - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/284
This commit is contained in:
@@ -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',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
# }
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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'
|
||||||
|
|||||||
@@ -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],
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
templates/r10k/r10k_webhook_config.erb
Normal file
8
templates/r10k/r10k_webhook_config.erb
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"flush_env_cache": false,
|
||||||
|
"branch_to_env_map": {
|
||||||
|
"master": "production",
|
||||||
|
"^env_(.*)$": "\g<1>"
|
||||||
|
},
|
||||||
|
"allowed_branches": "^(env_[\w]+|master)$"
|
||||||
|
}
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user