fix: generate_types cahnges #119

Merged
unkinben merged 1 commits from neoloc/puppetserver_startup into develop 2024-07-27 00:17:47 +10:00

View File

@ -71,14 +71,55 @@ class profiles::puppet::server (
hasstatus => true, hasstatus => true,
hasrestart => true, hasrestart => true,
} }
# generate puppet types when restarting
systemd::manage_dropin { 'generate_types.conf': # generate puppet types when restarting
ensure => present, systemd::manage_dropin { 'generate_types.conf':
unit => 'puppetserver.service', ensure => absent,
service_entry => { unit => 'puppetserver.service',
'ExecStartPost' => [ service_entry => {
"/opt/puppetlabs/bin/puppet generate types --environmentpath ${codedir}/environments", 'ExecStartPost' => [
], "/opt/puppetlabs/bin/puppet generate types --environmentpath ${codedir}/environments",
}, ],
} },
}
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'],
}
} }