Merge pull request 'fix: generate_types cahnges' (#119) from neoloc/puppetserver_startup into develop

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/119
This commit is contained in:
Ben Vincent 2024-07-27 00:17:46 +10:00
commit b5148fc2a0

View File

@ -71,9 +71,10 @@ class profiles::puppet::server (
hasstatus => true, hasstatus => true,
hasrestart => true, hasrestart => true,
} }
# generate puppet types when restarting # generate puppet types when restarting
systemd::manage_dropin { 'generate_types.conf': systemd::manage_dropin { 'generate_types.conf':
ensure => present, ensure => absent,
unit => 'puppetserver.service', unit => 'puppetserver.service',
service_entry => { service_entry => {
'ExecStartPost' => [ 'ExecStartPost' => [
@ -81,4 +82,44 @@ class profiles::puppet::server (
], ],
}, },
} }
file { '/usr/local/bin/puppet_generate_types.sh':
ensure => file,
mode => '0755',
content => @("EOF")
#!/bin/bash
sudo -u puppet /opt/puppetlabs/bin/puppet generate types --environmentpath ${codedir}/environments
exit 0
| EOF
}
$_timer = @(EOT)
[Unit]
Description=puppet-generate-types timer
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
EOT
$_service = @(EOT)
[Unit]
Description=puppet-generate-types service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/puppet_generate_types.sh
User=root
Group=root
PermissionsStartOnly=false
PrivateTmp=no
EOT
systemd::timer { 'puppet-generate-types.timer':
timer_content => $_timer,
service_content => $_service,
active => true,
enable => true,
require => File['/usr/local/bin/puppet_generate_types.sh'],
}
} }