Puppet Class: gitssh
- Defined in:
- manifests/init.pp
Overview
Class: gitssh
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 |
# File 'manifests/init.pp', line 3
class gitssh(
$basedir = '/var/git',
$clients = [],
$package_ensure = present,
$package_name = 'git',
$purge_ssh_keys = true,
$repos = []
) {
package { $package_name:
ensure => $package_ensure,
}
exec { '/bin/echo /usr/bin/git-shell >> /etc/shells':
unless => '/bin/grep -q \'^/usr/bin/git-shell$\' /etc/shells',
before => User['git']
}
if versioncmp($::puppetversion,'3.6.0') >= 0 {
User {
purge_ssh_keys => $purge_ssh_keys,
}
} elsif $purge_ssh_keys {
warning('gitssh::purge_ssh_keys is ignored in Puppet < 3.6.0.')
warning('To disable this warning, set gitssh::purge_ssh_keys to false.')
}
user { 'git':
ensure => present,
home => $basedir,
shell => '/usr/bin/git-shell',
managehome => true,
require => Package[$package_name],
}
if size($clients) > 0 {
create_resources(gitssh::client, $clients)
}
if size($repos) > 0 {
create_resources(gitssh::repo, $repos)
}
}
|