Puppet Class: rundeck::install
- Defined in:
- manifests/install.pp
Overview
- Author
-
Liam Bennett (lbennett@opentable.com)
- Copyright
-
Copyright © 2013 OpenTable Inc
- License
-
MIT
Class rundeck::install
This private class installs the rundeck package and its dependencies
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'manifests/install.pp', line 9
class rundeck::install {
assert_private()
$manage_repo = $rundeck::manage_repo
$package_ensure = $rundeck::package_ensure
$repo_yum_source = $rundeck::repo_yum_source
$repo_yum_gpgkey = $rundeck::repo_yum_gpgkey
$repo_apt_source = $rundeck::repo_apt_source
$repo_apt_key_id = $rundeck::repo_apt_key_id
$repo_apt_keyserver = $rundeck::repo_apt_keyserver
$user = $rundeck::user
$group = $rundeck::group
$manage_user = $rundeck::manage_user
$manage_group = $rundeck::manage_group
$user_id = $rundeck::user_id
$group_id = $rundeck::group_id
if $manage_group {
group { $group:
ensure => present,
gid => $group_id,
system => true,
}
if $group != 'rundeck' {
group { 'rundeck':
ensure => absent,
}
}
}
if $manage_user {
user { $user:
ensure => present,
groups => [$group],
uid => $user_id,
gid => $group_id,
system => true,
before => File['/var/rundeck'],
}
if $user != 'rundeck' {
user { 'rundeck':
ensure => absent,
}
}
}
case $facts['os']['family'] {
'RedHat': {
if $manage_repo {
yumrepo { 'rundeck':
baseurl => $repo_yum_source,
descr => 'rundeck repo',
enabled => '1',
gpgcheck => '0',
gpgkey => $repo_yum_gpgkey,
repo_gpgcheck => '1',
priority => '1',
before => Package['rundeck'],
}
}
ensure_packages(['rundeck'], { 'ensure' => $package_ensure, notify => Class['rundeck::service'] })
}
'Debian': {
if $manage_repo {
include apt
apt::source { 'rundeck':
location => $repo_apt_source,
release => 'any',
repos => 'main',
key => {
id => $repo_apt_key_id,
source => $rundeck::repo_apt_gpgkey,
server => $repo_apt_keyserver,
},
before => Package['rundeck'],
}
}
ensure_packages(['rundeck'], { 'ensure' => $package_ensure, notify => Class['rundeck::service'], require => Class['apt::update'] })
}
default: {
err("The osfamily: ${facts['os']['family']} is not supported")
}
}
# Leave this one here, to avoid notifying service when permissions change
file { '/var/rundeck':
ensure => directory,
owner => $user,
group => $group,
mode => '0640',
recurse => true,
require => Package['rundeck'],
}
}
|