system-config/manifests/static_users.pp

132 lines
3.6 KiB
Puppet

class static_users {
group { 'jenkins':
ensure => 'present'
}
user { 'jenkins':
ensure => 'present',
comment => 'Jenkins User',
home => $operatingsystem ? {
Darwin => '/Users/jenkins',
solaris => '/export/home/jenkins',
default => '/home/jenkins',
},
gid => 'jenkins',
shell => '/bin/bash',
groups => ['wheel','sudo'],
membership => 'minimum',
}
file { 'jenkinshome':
name => $operatingsystem ? {
Darwin => '/Users/jenkins',
solaris => '/export/home/jenkins',
default => '/home/jenkins',
},
owner => 'jenkins',
group => 'jenkins',
mode => 644,
ensure => 'directory',
}
file { 'jenkinssshdir':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.ssh',
solaris => '/export/home/jenkins/.ssh',
default => '/home/jenkins/.ssh',
},
owner => 'jenkins',
group => 'jenkins',
mode => 600,
ensure => 'directory',
require => File['jenkinshome'],
}
file { 'jenkinskeys':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.ssh/authorized_keys',
solaris => '/export/home/jenkins/.ssh/authorized_keys',
default => '/home/jenkins/.ssh/authorized_keys',
},
owner => 'jenkins',
group => 'jenkins',
mode => 640,
content => "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtioTW2wh3mBRuj+R0Jyb/mLt5sjJ8dEvYyA8zfur1dnqEt5uQNLacW4fHBDFWJoLHfhdfbvray5wWMAcIuGEiAA2WEH23YzgIbyArCSI+z7gB3SET8zgff25ukXlN+1mBSrKWxIza+tB3NU62WbtO6hmelwvSkZ3d7SDfHxrc4zEpmHDuMhxALl8e1idqYzNA+1EhZpbcaf720mX+KD3oszmY2lqD1OkKMquRSD0USXPGlH3HK11MTeCArKRHMgTdIlVeqvYH0v0Wd1w/8mbXgHxfGzMYS1Ej0fzzJ0PC5z5rOqsMqY1X2aC1KlHIFLAeSf4Cx0JNlSpYSrlZ/RoiQ== hudson@hudson",
ensure => 'present',
require => File['jenkinssshdir'],
}
file { 'jenkinsbashrc':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.bashrc',
solaris => '/export/home/jenkins/.bashrc',
default => '/home/jenkins/.bashrc',
},
owner => 'jenkins',
group => 'jenkins',
mode => 640,
source => "/etc/skel/.bashrc",
replace => 'false',
ensure => 'present',
}
file { 'jenkinsbash_logout':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.bash_logout',
solaris => '/export/home/jenkins/.bash_logout',
default => '/home/jenkins/.bash_logout',
},
source => "/etc/skel/.bash_logout",
owner => 'jenkins',
group => 'jenkins',
mode => 640,
replace => 'false',
ensure => 'present',
}
file { 'jenkinsprofile':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.profile',
solaris => '/export/home/jenkins/.profile',
default => '/home/jenkins/.profile',
},
source => "/etc/skel/.profile",
owner => 'jenkins',
group => 'jenkins',
mode => 640,
replace => 'false',
ensure => 'present',
}
file { 'jenkinsbazaardir':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.bazaar',
solaris => '/export/home/jenkins/.bazaar',
default => '/home/jenkins/.bazaar',
},
owner => 'jenkins',
group => 'jenkins',
mode => 755,
ensure => 'directory',
require => File['jenkinshome'],
}
file { 'jenkinsbazaarauth':
name => $operatingsystem ? {
Darwin => '/Users/jenkins/.bazaar/authentication.conf',
solaris => '/export/home/jenkins/.bazaar/authentication.conf',
default => '/home/jenkins/.bazaar/authentication.conf',
},
owner => 'jenkins',
group => 'jenkins',
mode => 640,
content => "[Launchpad]\\nhost = .launchpad.net\\nscheme = ssh\\nuser = jenkins\\n",
ensure => 'present',
require => File['jenkinsbazaardir'],
}
}