Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

chef_rvm (5) Versions 1.0.1

Installs/Configures rvm

Policyfile
Berkshelf
Knife
cookbook 'chef_rvm', '= 1.0.1', :supermarket
cookbook 'chef_rvm', '= 1.0.1'
knife supermarket install chef_rvm
knife supermarket download chef_rvm
README
Dependencies
Quality 0%

chef_rvm

LWRP's based rvm cookbook

Code Climate
Build Status

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

Foodcritic Metric
            

1.0.1 failed this metric

FC031: Cookbook without metadata file: /tmp/cook/7b8eb6d9433cf3bfca1c4da3/chef_rvm/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/7b8eb6d9433cf3bfca1c4da3/chef_rvm/metadata.rb:1