node default { $USER = 'vagrant' $ROOT_PATH = '/data/buildbot' $DOCKER_PATH = '/data/docker' exec {'apt_update': command => '/usr/bin/apt-get update' } Package { require => Exec['apt_update'] } group {'puppet': ensure => 'present'} # Install dependencies Package { ensure => 'installed' } package { ['python-dev','python-pip','supervisor','lxc','bsdtar','git','golang']: } file{[ '/data' ]: owner => $USER, group => $USER, ensure => 'directory' } file {'/var/tmp/requirements.txt': content => template('requirements.txt') } exec {'requirements': require => [ Package['python-dev'], Package['python-pip'], File['/var/tmp/requirements.txt'] ], cwd => '/var/tmp', command => "/bin/sh -c '(/usr/bin/pip install -r requirements.txt; rm /var/tmp/requirements.txt)'" } exec {'buildbot-cfg-sh': require => [ Package['supervisor'], Exec['requirements']], path => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin', cwd => '/data', command => "$DOCKER_PATH/buildbot/buildbot-cfg/buildbot-cfg.sh" } }