3 ms·
Puppet at work, mostly; I've spent the past five years working with both puppet and chef for various clients and jobs. Working on trying out ansible for my own
by namecast 13y ago
Puppet at work, mostly; I've spent the past five years working with both puppet and chef for various clients and jobs. Working on trying out ansible for my own private host, setting up.
Puppet isn't that heavy - I use the agent to bootstrap my laptops, e.g. on ubuntu, apt-get install puppet, create a file with this contents named laptop.pp and then run 'puppet apply laptop.pp':
$tools = [ 'aptitude', 'at', 'elinks', 'mtp-tools', 'mtpfs', 'libxml-devel', 'puppet-lint', 'msmtp','rxvt-unicode', 'python-dev', 'python-pip', 'xclip', 'xsel', 'vagrant', 'virtualbox', 'unrar', 'p7zip-full', 'netcat', 'socat', 'zsh', 'screen', 'strace', 'sudo', 'tmux', 'scapy', 'ruby1.9.1-dev','rubygems', 'git', 'git-annex']
package { $tools: ensure => 'installed' }
$window_manager = [ 'xmonad', 'ttf-inconsolata', 'dmenu','dzen2',
'libghc-xmonad-contrib-dev','libghc-xmonad-dev', 'xmobar']
package { $window_manager: ensure => 'installed' }
$audio_video = [ 'vlc', 'moc']
package { $audio_video: ensure => 'installed' }
$games = [ 'mame', 'mame-tools', 'gnome-video-arcade', 'sdlmame', 'sdlmame-tools', 'mednafen']
package { $games: ensure => 'installed' }
$productivity = [ 'mutt-patched', 'rtorrent', 'irssi', 'bitlbee']
package { $productivity: ensure => 'installed' }
$python_pip = [ 'zipline', 'blueprint', 'ansible', 'salt', 'grc']
package { $python_pip: ensure => 'installed', provider=> pip}
$gem = [ 'jekyll', 'knife-ec2', 'chef', 'rake']
package { $gem: ensure => 'installed', provider=> gem}
file { '/home/username/.xmonad/':
ensure=>'directory'
}
file{ '/home/username/.xmonad/xmonad.hs':
ensure=> 'present',
source=> '/home/username/bootstrap/templates/xmonad.hs',
owner=> 'username'
}
file { '/home/username/.xmobarrc':
ensure=> 'present',
source=> '/home/username/bootstrap/templates/xmobar-rc',
owner=> 'username'
}
exec { '/usr/bin/xmonad --recompile':
subscribe=> File['/home/username/.xmonad/xmonad.hs'],
refreshonly=> true
}