cookbook 'chef_rvm', '= 1.0.5'
chef_rvm (5) Versions 1.0.5 Follow4
Installs/Configures rvm
cookbook 'chef_rvm', '= 1.0.5', :supermarket
knife supermarket install chef_rvm
knife supermarket download chef_rvm
chef_rvm
LWRP's based rvm cookbook
Inspired by RVM cookbook
Supported chef-client version:
Chef-Client >= 11.12.0
LWRP's
chef_rvm
chef_rvm 'ubuntu' do rubies ['2.0.0', '2.1.1'] rvmrc({ 'rvm_autoupdate_flag'=> '1' }) end
Actions
| Action | Description | 
|---|---|
| :install | This is default action | 
| :implode | |
| :upgrade | 
chef_rvm_ruby
chef_rvm_ruby 'ubuntu:ruby:1.9.3' do version '1.9.3' patch 'falcon' default true end
Actions
| Action | Description | 
|---|---|
| :install | This is default action | 
| :remove | |
| :uninstall | |
| :reinstall | 
chef_rvm_gemset
chef_rvm_gemset 'ubuntu:gemset:1.9.3:test' do ruby_string '1.9.3@test' user 'ubuntu' action :create end
Actions
| Action | Description | 
|---|---|
| :create | This is default action | 
| :delete | |
| :update | |
| :pristine | |
| :prune | 
chef_rvm_gem
chef_rvm_gem 'ubuntu:unicorn' do gem 'unicorn' user 'ubuntu' ruby_string '1.9.3@test' end
Actions
| Action | Description | 
|---|---|
| :install | This is default action | 
| :uninstall | |
| :update | 
chef_rvm_wrapper
chef_rvm_wrapper 'ubuntu:my_project_unicorn' do user 'ubuntu' ruby_string '1.9.3@test' prefix 'my_project' binary 'unicorn' action :create end
Actions
| Action | Description | 
|---|---|
| :create | This is default action | 
| :create_or_update | 
chef_rvm_alias
chef_rvm_alias 'ubuntu:my_alias' do user 'ubuntu' alias_name 'my_alias' ruby_string '1.9.3@test' action :create end
Actions
| Action | Description | 
|---|---|
| :create | This is default action | 
| :delete | 
Execute
Execute scripts in rvm environment.
All resources worked like native resources but guards inherit environment from resource by default.
chef_rvm_execute 'bundle install' do ruby_string '2.0.0' user 'ubuntu' cwd '/home/ubuntu/test' command 'bundle install' not_if 'bundle check' action :run end
chef_rvm_script 'bundle_install_sh' do interpreter 'sh' ruby_string '2.0.0' user 'ubuntu' cwd '/home/ubuntu/test' code <<CODE bundle install CODE not_if 'bundle check' action :run end
chef_rvm_bash 'bundle_install' do ruby_string '2.0.0' user 'ubuntu' cwd '/home/ubuntu/test' code <<CODE bundle install CODE action :run not_if 'bundle check' end
Attributes
  # Default options for .rvmrc for all users
  node['chef_rvm']['rvmrc'] = {
    'rvm_gem_options' => '--no-rdoc --no-ri',
    'rvm_autoupdate_flag' => 0
  }
  # User installations
  node['chef_rvm'] = {
    users: {
      ubuntu: {
        rubies: {
          '1.9.3' => {action: 'install', patch: 'falcon'},
          '2.0' => 'install',
        },
        gems: {
          '1.9.3@test' => %w(eye unicorn),
          '1.9.3@test2' => [
            {gem: 'eye', version: '0.6', action: 'install'},
            'unicorn'
          ],
          '1.9.3@test3' => 'unicorn',
        },
        wrappers: {
          :'1.9.3@test' => {
            bootup: [
              {
                binary: 'eye',
                action: 'create_or_update'
              }
            ]
          },
          :'1.9.3@test2' => {
            bootup: %w(eye unicorn)
          },
          :'1.9.3@test3' => {
            bootup: 'unicorn'
          }
        },
        aliases: {
          'my_alias' => '2.0.0',
          'my_alias_2' => '1.9.3@test2'
        }
      }
    }
  }
Recipes
recipe[chef_rvm::default] # Full installations
recipe[chef_rvm::packages] # Required packages
recipe[chef_rvm::rvm]
recipe[chef_rvm::gemsets] # Create gemset
recipe[chef_rvm::rubies]
recipe[chef_rvm::gems]
recipe[chef_rvm::wrappers]
recipe[chef_rvm::aliases]
Author
Nikolay Murga
Dependent cookbooks
| sudo >= 0.0.0 | 
| apt >= 0.0.0 | 
| build-essential >= 0.0.0 | 
| chef_gem >= 0.0.0 | 
| gpg >= 0.0.0 | 
| curl >= 0.0.0 | 
Contingent cookbooks
Foodcritic Metric
        
            1.0.5 failed this metric
            FC031: Cookbook without metadata file: /tmp/cook/abce80befd1d87482b864703/chef_rvm/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/abce80befd1d87482b864703/chef_rvm/metadata.rb:1
        
  
1.0.5 failed this metric
FC045: Consider setting cookbook name in metadata: /tmp/cook/abce80befd1d87482b864703/chef_rvm/metadata.rb:1