Puppet Class: classroom_legacy::master::deployer

Inherits:
classroom_legacy::params
Defined in:
manifests/master/deployer.pp

Overview

Parameters:

  • password (Any) (defaults to: $classroom_legacy::params::password)


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'],
    }
  }

}