Puppet Class: autossh::install
- Defined in:
- manifests/install.pp
Overview
Class: autossh::install
This class initilises the runtime environment for the autossh package and should not be called directly as it is called from the class initialiser.
Parameters
Variables
Examples
class { autossh:
}
Authors
Jason Ball <jason@ball.net>
Copyright
Copyright 2014 Jason Ball.
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 |
# File 'manifests/install.pp', line 23
class autossh::install {
$user = $autossh::user
$autossh_package = $autossh::autossh_package
## If the target user account doesn't exist, create it...
if ! defined(User[$user]) {
user { $user:
managehome => true,
system => true,
shell => '/bin/bash',
}
}
if !defined(File['auto_ssh_conf_dir']) {
file{'auto_ssh_conf_dir':
ensure => directory,
path => '/etc/autossh',
mode => '0755',
owner => 'root',
group => 'root',
}
}
case $::osfamily {
/RedHat/: {
# redhat-lsb-core is not supporte on rhel 7...
case $::operatingsystemmajrelease {
/6/: {
if(!defined(Package['redhat-lsb-core'])) {
package{'redhat-lsb-core': ensure => installed }
}
} # case rhel 6
/7/: {
file{'autossh-tunnel.sh':
ensure => 'present',
path => '/etc/autossh/autossh-tunnel.sh',
mode => '0750',
owner => 'root',
group => 'root',
content => template('autossh/autossh.init.systemd.erb'),
}
} # case rhel 7
default: {
}
}
# requireed on all rhel platforms
if(!defined(Package['openssh-clients'])) {
package{'openssh-clients': ensure => installed }
}
file { "/var/tmp/${autossh_package}":
ensure => file,
source => "puppet:///modules/autossh/${autossh_package}",
owner => root,
group => root,
mode => '0600'
}
package{'autossh':
ensure => installed,
provider => 'rpm',
source => "/var/tmp/${autossh_package}",
require => [File["/var/tmp/${autossh_package}"]],
}
} #case RedHat
/Debian/: {
package{ $autossh_package: ensure => installed }
} # Debian
default: {
fail("Unsupported OS Family: ${::osfamily}")
}
} #case
}
|