Puppet Class: rvm

Inherits:
rvm::params
Defined in:
manifests/init.pp

Overview

Install RVM, create system user a install system level rubies

Parameters:

  • version (Optional[String[1]]) (defaults to: undef)
  • install_from (Optional[String[1]]) (defaults to: undef)
  • install_rvm (Boolean) (defaults to: true)
  • install_dependencies (Boolean) (defaults to: false)
  • manage_rvmrc (Boolean) (defaults to: true)
  • system_users (Array[String[1]]) (defaults to: [])
  • system_rubies (Hash[String[1], Any]) (defaults to: {})
  • rvm_gems (Hash[String[1], Any]) (defaults to: {})
  • proxy_url (Optional[String[1]]) (defaults to: undef)
  • no_proxy (Optional[String[1]]) (defaults to: undef)
  • signing_keys (Array[Hash[String[1], String[1]]]) (defaults to: $rvm::params::signing_keys)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'manifests/init.pp', line 2

class rvm (
  Optional[String[1]] $version = undef,
  Optional[String[1]] $install_from = undef,
  Boolean $install_rvm = true,
  Boolean $install_dependencies = false,
  Boolean $manage_rvmrc = true,
  Array[String[1]] $system_users = [],
  Hash[String[1], Any] $system_rubies = {},
  Hash[String[1], Any] $rvm_gems = {},
  Optional[String[1]] $proxy_url = undef,
  Optional[String[1]] $no_proxy = undef,
  Array[Hash[String[1], String[1]]] $signing_keys = $rvm::params::signing_keys,
) inherits rvm::params {
  if $install_rvm {
    # rvm has now autolibs enabled by default so let it manage the dependencies
    if $install_dependencies {
      class { 'rvm::dependencies':
        before => Class['rvm::system'],
      }
    }

    if $manage_rvmrc {
      include rvm::rvmrc
    }

    class { 'rvm::system':
      version      => $version,
      proxy_url    => $proxy_url,
      no_proxy     => $no_proxy,
      signing_keys => $signing_keys,
      install_from => $install_from,
    }
  }

  rvm::system_user { $system_users: }
  create_resources('rvm_system_ruby', $system_rubies, { 'ensure' => present, 'proxy_url' => $proxy_url, 'no_proxy' => $no_proxy })
  create_resources('rvm_gem', $rvm_gems)
}