Skip to content

Instantly share code, notes, and snippets.

@calston
Created April 11, 2012 09:44
Show Gist options
  • Save calston/2358289 to your computer and use it in GitHub Desktop.
Save calston/2358289 to your computer and use it in GitHub Desktop.
Vumi puppet
class vumi-base {
user {"vumi":
home => "/var/praekelt",
ensure => present
}
group {"vumi":
require => user["vumi"],
ensure => present
}
Exec {
path => ["/bin", "/usr/bin", "/usr/local/bin"],
user => 'vumi',
}
exec { "apt-get update":
command => "apt-get update",
user => "root",
}
# Install these packages after apt-get update
define apt::package($ensure='latest') {
package { $name:
ensure => $ensure,
subscribe => Exec['apt-get update'];
}
}
$required = [
"supervisor",
"build-essential",
"python",
"python-dev",
"python-setuptools",
"python-pip",
"python-virtualenv",
"git-core",
"openjdk-6-jre-headless",
"libcurl3",
"libcurl4-openssl-dev",
]
package { $required:
ensure => latest
}
file { "/var/praekelt":
ensure => "directory",
owner => "vumi",
require => user["vumi"]
}
exec { "Clone git repository":
user => 'vumi',
command => "git clone http://github.com/praekelt/vumi.git",
cwd => "/var/praekelt",
unless => "test -d /var/praekelt/vumi/.git",
subscribe => [
Package['git-core'],
File['/var/praekelt']
],
require => user["vumi"]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment