File: install.pp

package info (click to toggle)
puppet-module-puppet 18.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 660 kB
  • sloc: ruby: 2,055; sh: 15; makefile: 10
file content (48 lines) | stat: -rw-r--r-- 1,423 bytes parent folder | download
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
43
44
45
46
47
48
# Install the puppet server
# @api private
class puppet::server::install {
  # Mirror the relationship, as defined() is parse-order dependent
  # Ensures 'puppet' user group is present before managing users
  if defined(Class['foreman_proxy::config']) {
    Class['puppet::server::install'] -> Class['foreman_proxy::config']
  }
  if defined(Class['foreman::config']) {
    Class['puppet::server::install'] -> Class['foreman::config']
  }

  if $puppet::server::git_repo {
    ensure_packages(['git'])
  }

  if $puppet::server::manage_user {
    $shell = $puppet::server::git_repo ? {
      true    => $facts['os']['family'] ? {
        /^(FreeBSD|DragonFly)$/ => '/usr/local/bin/git-shell',
        default                 => '/usr/bin/git-shell'
      },
      default => undef,
    }

    user { $puppet::server::user:
      shell => $shell,
    }

    if $puppet::server::git_repo {
      Package['git'] -> User[$puppet::server::user]
    }
  }

  if $puppet::manage_packages == true or $puppet::manage_packages == 'server' {
    $server_package = pick($puppet::server::package, 'puppetserver')
    $server_version = pick($puppet::server::version, $puppet::version)

    package { $server_package:
      ensure          => $server_version,
      install_options => $puppet::package_install_options,
    }

    if $puppet::server::manage_user {
      Package[$server_package] -> User[$puppet::server::user]
    }
  }
}