1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'manifests/master/deployer.pp', line 1
class classroom_legacy::master::deployer (
$password = $classroom_legacy::params::password,
) inherits classroom_legacy::params {
assert_private('This class should not be called directly')
rbac_user {'deployer':
ensure => present,
display_name => 'deployer',
email => 'deployer@puppetlabs.vm',
password => $password,
roles => 4,
}
exec { 'create token':
command => "echo '${password}' | HOME=/root /opt/puppetlabs/bin/puppet-access login deployer --lifetime 1y",
path => '/bin:/usr/bin:/opt/puppetlabs/bin',
creates => '/root/.puppetlabs/token',
provider => 'posix',
require => Rbac_user['deployer'],
}
if $::code_manager_enabled {
file { '/etc/puppetlabs/code-staging/.deployed':
ensure => file,
owner => 'pe-puppet',
group => 'pe-puppet',
mode => '0644',
before => Exec['deploy codebase'],
}
# We run the deploy command on each Puppet run until the deployment succeeds.
# This should never show up as a failed run.
exec { 'deploy codebase':
command => 'puppet code deploy --all --wait',
path => '/bin:/usr/bin:/opt/puppetlabs/bin',
creates => '/etc/puppetlabs/code/.deployed',
returns => [ 0, 1 ], # we "don't care" if it succeeds, just keep trying until it deploys
require => Exec['create token'],
}
}
}
|