Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

RVM::FW - Exposing hidden Rubies for firewalled RVMs

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 features
Octocat-spinner-32 lib
Octocat-spinner-32 public
Octocat-spinner-32 sass
Octocat-spinner-32 spec
Octocat-spinner-32 tmp
Octocat-spinner-32 vendor
Octocat-spinner-32 views
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Procfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 config.rb
Octocat-spinner-32 config.ru
README.md

RVM::FW Edition

Build Status Dependency Status Code Climate

RVM::FW works really well to make it possible to use RVM (or rbenv even) inside a restrictive LAN or Firewall just like you do at home.

Setup RVM::FW

  1. Clone RVM::FW:

    $ git clone git://github.com/stevenhaddox/rvm_fw.git
    $ bundle install
    
  2. Create & modify config/rubies.yml.

  3. Download Rubiez and packages:

    $ bundle exec rake boot:strap
    
  4. Archive your local setup of RVM::FW and import it into your network.

  5. Deploy! RVM::FW is a simple Sinatra application so you can deploy it anywhere you have Ruby or Rack available internally!

How to Use RVM::FW Once It's Deployed

View a demo to see RVM::FW's user views & instructions for how to setup and use RVM internally. Obviously there are no rubies due to file-size / RVM itself existing on the real Internet.

Just visit: http(s)://<your_host>:<port>/db to get a plain-text file that your users need to copy and paste into: ~/.rvm/user/db. This file overrides the defaults built into RVM's ~/.rvm/config/db and will point it to your RVM::FW instance to download it's rubies.

You can also visit: http(s)://<your_host>:<port>/known to get a plain-text file that a user can be put into: ~.rvm/config/known. This will provide a more a accurate list of available rubies when a user runs rvm list known.

I Want to Help!

Add your idea or feature requests to the issue tracker or Fork RVM::FW on GitHub and send me a pull request!

Easter Egg

Bonus: If you're an rbenv fan but still stuck in a restricted environment you can use RVM::FW as a simple way to host a central location to keep your Ruby source code. Accessing your desired version of Ruby for rbenv is as simple as querying http(s)://<your_host>:<port>/public/rubies/<ruby_platform>/<ruby_specific_path>. All the Ruby source paths & packages are easily discoverable within the config/rubies.yml file.

Adding More Rubiez

We're looking into rendering the views for db.erb and known.erb dynamically based upon your custom configuration or the default configuration of config/rubies.yml, but until then you have to manually update and maintain the following files:

Special Thanks

Special thanks to those who've contributed and helped me maintain RVM::FW over the years.

Bitdeli Badge

Something went wrong with that request. Please try again.