This module is used to install and manage ruby installations and gemsets with RVM, the Ruby Version Manager. Different versions of ruby can be installed and gemsets created. RVM itself will be installed automatically if it's not present. This module will not automatically install packages that RVM depends on or ones that are needed to build ruby. If you want to run RVM as an unprivileged user (recommended) you will have to create this user yourself. This is how a state configuration could look like:
rvm:
group.present: []
user.present:
- gid: rvm
- home: /home/rvm
- require:
- group: rvm
rvm-deps:
pkg.installed:
- pkgs:
- bash
- coreutils
- gzip
- bzip2
- gawk
- sed
- curl
- git-core
- subversion
mri-deps:
pkg.installed:
- pkgs:
- build-essential
- openssl
- libreadline6
- libreadline6-dev
- curl
- git-core
- zlib1g
- zlib1g-dev
- libssl-dev
- libyaml-dev
- libsqlite3-0
- libsqlite3-dev
- sqlite3
- libxml2-dev
- libxslt1-dev
- autoconf
- libc6-dev
- libncurses5-dev
- automake
- libtool
- bison
- subversion
- ruby
jruby-deps:
pkg.installed:
- pkgs:
- curl
- g++
- openjdk-6-jre-headless
ruby-1.9.2:
rvm.installed:
- default: True
- user: rvm
- require:
- pkg: rvm-deps
- pkg: mri-deps
- user: rvm
jruby:
rvm.installed:
- user: rvm
- require:
- pkg: rvm-deps
- pkg: jruby-deps
- user: rvm
jgemset:
rvm.gemset_present:
- ruby: jruby
- user: rvm
- require:
- rvm: jruby
mygemset:
rvm.gemset_present:
- ruby: ruby-1.9.2
- user: rvm
- require:
- rvm: ruby-1.9.2
salt.states.rvm.
gemset_present
(name, ruby='default', user=None)¶Verify that the gemset is present.
The name of the gemset.
The ruby version this gemset belongs to.
The user to run rvm as.
New in version 0.17.0.
salt.states.rvm.
installed
(name, default=False, user=None, opts=None, env=None)¶Verify that the specified ruby is installed with RVM. RVM is installed when necessary.
The version of ruby to install
Whether to make this ruby the default.
The user to run rvm as.
A list of environment variables to set (ie, RUBY_CONFIGURE_OPTS)
A list of option flags to pass to RVM (ie -C, --patch)
New in version 0.17.0.