Presentation by Kristian Botnen
ac01j8wt:staffmobilityweek2013 kbotnen1$ facter architecture => x86_64 domain => klientdrift.uib.no facterversion => 1.6.12 fqdn => ac01j8wt.klientdrift.uib.no hardwareisa => i386 hardwaremodel => x86_64 hostname => ac01j8wt id => kbotnen interfaces => lo0,gif0,stf0,en0,p2p0,en1 ipaddress => 1x.1xx.1x.1xx ipaddress6 => ipaddress6_en1 => ipaddress_en1 => 1x.1xx.1x.1xx ipaddress_lo0 => 127.0.0.1 ... is_virtual => false kernel => Darwin swapfree => 745.09M swapsize => 4096.00M timezone => CEST uptime => 10 days uptime_days => 10 uptime_hours => 257 uptime_seconds => 926978 virtual => physical ac01j8wt:staffmobilityweek2013 kbo041$
packages:
augeas-lenses: { ensure: installed }
augeas-tools: { ensure: installed }
chromium-browser: { ensure: installed }
apt_sources:
puppetlabs:
location: http://apt.puppetlabs.com/
release: precise
include_src: false
pklocalauthority_aptadmin: admin
pklocalauthority_aptmanager: ansatt
updateconfig_packageblacklist:
- puppet
- facter
- vim-puppet
print_manage_printers: false
print_manage_printers_partially: false
print_manage_config: true
print_manage_configfilename: legacy_cupsd.conf.linux.erb
class accounts ($uid,$realname,$pass,$username,$status,){
define singleuser ($uid, $realname, $pass, $username, $status) {
user { $username:
ensure => $status,
uid => $uid,
gid => $username,
shell => '/bin/bash',
home => "/home/${username}",
comment => $realname,
password => $pass,
managehome => true,
require => Group[$username],
}
group { $username:
gid => $uid,
}
file { "/home/${username}":
ensure => directory,
owner => $username,
group => $username,
mode => 0711,
require => [ User[$username], Group[$username] ],
}
}
}
accounts::singleuser { 'Homer Simpson':
uid => 533,
realname => 'Homer Simpson',
pass => 'asuperlongandcomplexpasswordhashwithsalt',
username => 'homer',
status => 'present',
}
puppet is also used on windows and openbsd
1 node 'aserver.uib.no' {
2 class { 'platform::el6::base':
3 env => 'prod'
4 }
5
6 class { 'app::web::foreman':
7 service_name => 'foremangui.uib.no',
8 backend => pgsql,
9 ssl_host => $::fqdn
10 }
11 }