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

RSS

rvm_fw (11) Versions 0.3.0

Installs common ruby packages and RVM via RVM::FW

Berkshelf/Librarian
Policyfile
Knife
cookbook 'rvm_fw', '= 0.3.0'
cookbook 'rvm_fw', '= 0.3.0', :supermarket
knife cookbook site install rvm_fw
knife cookbook site download rvm_fw
README
Dependencies
Changelog
Quality

rvm_fw Cookbook

This is a very opinionated and simple cookbook for utilizing an RVM::FW server instance and installing a default Ruby via RVM.

Requirements

packages

  • build_essential - RVM needs compiling tools to install ruby from source

Attributes

  • ['rvm_fw']['path'] = nil (String) - Custom path for where to install RVM, overrides RVM default paths
  • ['rvm_fw']['user'] = 'root' (String) - User to install RVM as: root for system-wide, normal install otherwise
  • ['rvm_fw']['url'] = nil (String) - RVM::FW server URL (e.g., 'http://rvm-fw.herokuapp.com')
  • ['rvm_fw']['version'] = '1.18.14' (String) - RVM::FW provided RVM version
  • ['rvm_fw']['global_ruby'] = 'ruby-2.2.2' (String) - Default Ruby version to install via RVM
  • ['rvm_fw']['disable_requiretty'] = false [True, False] - Enable the cookbook to disable requiretty setting in the /etc/sudoers file

Usage

rvm_fw::default

Include rvm_fw in your node's run_list:

{
  "name":"my_node",
  "run_list": [
    "recipe[rvm_fw]"
  ]
}

Notes

Using RVM installed Ruby Binaries

RVM automatically generates wrappers for each ruby installed through it. These wrapper binaries are perfect cronjobs, library dependencies, etc.

Binaries are found in the following location:

#{node['rvm_fw']['path']}/wrappers/default

And are available for the following commands:

  • ruby
  • gem
  • rake
  • irb
  • rdoc
  • ri
  • erb
  • testrb

RHEL Distros & requiretty

In older (and SELinux enabled) distributions based on RHEL you'll often encounter a setting in /etc/sudoers that sets Defaults requiretty. This setting doesn't provide a lot of added security and is actually disabled in most newer distros.

This cookbook will change the setting to Defaults !requiretty if you want it to. This will prevent an error encountered on nodes with it enabled, but you have to explicitly enable it with the following attribute setting:

['rvm_fw']['disable_requiretty'] = true

Once you've set that attribute value to true the cookbook will modify requiretty so that the cookbook won't error when running.

Testing Notes

Tests are currently integration tests with test-kitchen:

bundle exec kitchen test

In order to test this cookbook you'll need to point to or setup an RVM::FW instance and set the following environment variables:

  • RVM_FW_URL: The RVM::FW server you will use to install RVM from
  • RVM_FW_USER: The user to install RVM as (root, or vagrant) for example.

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Add specs for your feature
  4. Write your change
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

Authors: Steven Haddox

Dependent cookbooks

apt ~> 2.7
build-essential ~> 2.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

rvm_fw CHANGELOG

This file is used to list changes made in each version of the rvm_fw cookbook.

0.1.0

  • [Steven Haddox] - Initial release of rvm_fw

Foodcritic Metric
            

0.3.0 failed this metric

FC002: Avoid string interpolation where not required: /tmp/cook/64cf67ee579ad95ad16d9a3a/rvm_fw/recipes/default.rb:79