Puppet Class: puppet::server::install
- Defined in:
- manifests/server/install.pp
Overview
Install the puppet server
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 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'manifests/server/install.pp', line 3
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 {
stdlib::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,
}
# Puppetserver 8 on EL 8 relies on JRE 11 or 17. This prefers JRE 17 by installing it first
if (
!$puppet::server::jvm_java_bin and
$facts['os']['family'] == 'RedHat' and $facts['os']['release']['major'] == '8' and
# This doesn't use server_version because we have 2 mechanisms to set the version
versioncmp(pick($puppet::server::puppetserver_version, $facts['puppetversion']), '8.0.0') >= 0
) {
# EL 8 packaging can install either Java 17 or Java 11, but we prefer Java 17
stdlib::ensure_packages(['jre-17-headless'])
Package['jre-17-headless'] -> Package[$server_package]
}
if $puppet::server::manage_user {
Package[$server_package] -> User[$puppet::server::user]
}
}
}
|