diff options
| author | Micah <micah@leap.se> | 2016-07-12 16:46:03 -0400 | 
|---|---|---|
| committer | Micah <micah@leap.se> | 2016-07-12 16:46:03 -0400 | 
| commit | d8ecd5d2f933c40f2413a58e6324558d0e689b6a (patch) | |
| tree | d2e25c12e7b67afc8e9496896b4e6bf6229010dd /puppet/modules/ruby/manifests | |
| parent | 10c80c65126cd84e6010495d30cb921d245f0d33 (diff) | |
git subrepo clone https://leap.se/git/puppet_ruby puppet/modules/ruby
subrepo:
  subdir:   "puppet/modules/ruby"
  merged:   "9ccd853"
upstream:
  origin:   "https://leap.se/git/puppet_ruby"
  branch:   "master"
  commit:   "9ccd853"
git-subrepo:
  version:  "0.3.0"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "1e79595"
Change-Id: I8f8437218403894682afbadd714f2e4efb72f018
Diffstat (limited to 'puppet/modules/ruby/manifests')
| -rw-r--r-- | puppet/modules/ruby/manifests/devel.pp | 5 | ||||
| -rw-r--r-- | puppet/modules/ruby/manifests/init.pp | 72 | ||||
| -rw-r--r-- | puppet/modules/ruby/manifests/mysql.pp | 7 | ||||
| -rw-r--r-- | puppet/modules/ruby/manifests/postgres.pp | 6 | ||||
| -rw-r--r-- | puppet/modules/ruby/manifests/shadow.pp | 6 | ||||
| -rw-r--r-- | puppet/modules/ruby/manifests/shadow/base.pp | 6 | ||||
| -rw-r--r-- | puppet/modules/ruby/manifests/shadow/debian.pp | 8 | 
7 files changed, 110 insertions, 0 deletions
| diff --git a/puppet/modules/ruby/manifests/devel.pp b/puppet/modules/ruby/manifests/devel.pp new file mode 100644 index 00000000..7068a74a --- /dev/null +++ b/puppet/modules/ruby/manifests/devel.pp @@ -0,0 +1,5 @@ +# install ruby header files and rake +class ruby::devel { +  include ruby +  ensure_packages($ruby::ruby_dev) +} diff --git a/puppet/modules/ruby/manifests/init.pp b/puppet/modules/ruby/manifests/init.pp new file mode 100644 index 00000000..8d8ae48e --- /dev/null +++ b/puppet/modules/ruby/manifests/init.pp @@ -0,0 +1,72 @@ +# Class: ruby +# +# This class installs Ruby +# +# Parameters: +# +# version: (default installed) +# Set the version of Ruby to install +# +# Sample Usage: +# +# For a standard install using the latest ruby, simply do: +# +# class { 'ruby': } +# +# On Debian this is equivilant to +# $ apt-get install ruby +# +# To install a specific version of ruby, simply do: +# +# class { 'ruby': +#    ruby_version => '1.8.7', +# } +# +# Supported versions: 1.8, 1.8.7, 1.9, 1.9.1, 1.9.3 +# +# To install the development files, you can do: +# +# class { 'ruby': install_dev => true } + +class ruby ( +  $ruby_version      = '', +  $version           = 'installed', +  $install_dev       = false +) +{ + +  case $::operatingsystem { +    'redhat', 'suse': { +      $ruby_package='ruby' +      $ruby_dev='ruby-devel' +    } +    'debian', 'ubuntu': { +      case $ruby_version { +        '1.8', '1.8.7': { +          $ruby_package = 'ruby1.8' +          $ruby_dev = [ 'ruby1.8-dev', 'rake' ] +        } +        '1.9.1': { +          $ruby_package = 'ruby1.9.1' +          $ruby_dev = [ 'ruby1.9.1-dev', 'rake' ] +        } +        '1.9', '1.9.3': { +          $ruby_package = 'ruby1.9.3' +          $ruby_dev = [ 'ruby-dev', 'rake' ] +        } +        default: { +          $ruby_package = 'ruby' +          $ruby_dev = [ 'ruby-dev', 'rake' ] +        } +      } +    } +  } + +  package{ $ruby_package: +    ensure => $version, +  } + +  if $install_dev { +    ensure_packages($ruby_dev) +  } +} diff --git a/puppet/modules/ruby/manifests/mysql.pp b/puppet/modules/ruby/manifests/mysql.pp new file mode 100644 index 00000000..2e894789 --- /dev/null +++ b/puppet/modules/ruby/manifests/mysql.pp @@ -0,0 +1,7 @@ +class ruby::mysql { +  include ruby +  package{'ruby-mysql': +    ensure => present, +    require => Package['ruby'], +  } +} diff --git a/puppet/modules/ruby/manifests/postgres.pp b/puppet/modules/ruby/manifests/postgres.pp new file mode 100644 index 00000000..ec0e253a --- /dev/null +++ b/puppet/modules/ruby/manifests/postgres.pp @@ -0,0 +1,6 @@ +class ruby::postgres { +  include ruby +  package{'ruby-postgres': +    ensure => installed, +  } +} diff --git a/puppet/modules/ruby/manifests/shadow.pp b/puppet/modules/ruby/manifests/shadow.pp new file mode 100644 index 00000000..43f1aeab --- /dev/null +++ b/puppet/modules/ruby/manifests/shadow.pp @@ -0,0 +1,6 @@ +class ruby::shadow { +  case $::operatingsystem { +    debian,ubuntu: { include ruby::shadow::debian } +    default: { include ruby::shadow::base } +  } +} diff --git a/puppet/modules/ruby/manifests/shadow/base.pp b/puppet/modules/ruby/manifests/shadow/base.pp new file mode 100644 index 00000000..af8c5c92 --- /dev/null +++ b/puppet/modules/ruby/manifests/shadow/base.pp @@ -0,0 +1,6 @@ +class ruby::shadow::base { +  require ::ruby +  package{'ruby-shadow': +    ensure => installed, +  } +} diff --git a/puppet/modules/ruby/manifests/shadow/debian.pp b/puppet/modules/ruby/manifests/shadow/debian.pp new file mode 100644 index 00000000..8182b9b1 --- /dev/null +++ b/puppet/modules/ruby/manifests/shadow/debian.pp @@ -0,0 +1,8 @@ +class ruby::shadow::debian inherits ruby::shadow::base { +  Package['ruby-shadow']{ +    name =>  $::lsbdistcodename ? { +      'wheezy' => 'libshadow-ruby1.8', +      default  => 'ruby-shadow', +    } +  } +} | 
