Skip to content

Instantly share code, notes, and snippets.

@antevens
Created November 22, 2013 16:55
Show Gist options
  • Save antevens/7603178 to your computer and use it in GitHub Desktop.
Save antevens/7603178 to your computer and use it in GitHub Desktop.
Gitorious Debian/Ubuntu multiple package install, multiple OSes
class gitorious::example
case $operatingsystem {
CentOS: {
case $operatingsystemrelease {
/^5/: {
$package_list = ["monit", "memcached", "ImageMagick","gcc-c++","zlib-devel","make","wget","libxml2","libxml2-devel","libxslt","libxslt-devel","gcc","ruby-devel","openssl","curl-devel"]
}
default: {
$package_list = ["monit", "memcached", "ImageMagick","gcc-c++","zlib-devel","make","wget","libxml2","libxml2-devel","libxslt","libxslt-devel","gcc","ruby-devel","openssl","libcurl-devel"]
}
}
$monit_conf_dir = "/etc/monit.d"
$monit_conf_file = "/etc/monit.conf"
}
Ubuntu: {
$package_list = ["monit", "memcached", "imagemagick","gobjc++","libghc-zlib-dev","make","wget","libxml2","libxml2-dev","libxslt1.1","libxslt1-dev","gcc","ruby-dev","openssl","libcurl4-openssl-dev","sendmail","ruby-stomp", "ruby-daemons", "libreadline6-dev", "libicu48", "libicu-dev", "libonig2", "libtinfo-dev"]
$monit_conf_dir = "/etc/monit/conf.d"
$monit_conf_file="/etc/monit/monitrc"
}
}
package { $package_list: ensure => installed }
file {"${monit_conf_file}":
ensure => present,
owner => "root",
group => "root",
mode => "0600",
content => template("gitorious/etc/example.conf.erb"),
require => Package["example"],
}
service { "example":
name => "${example_service_name}",
ensure => running,
enable => true,
require => Package[$package_list]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment