Skip to content

Instantly share code, notes, and snippets.

@rheinwein
Last active September 26, 2015 16:06
Show Gist options
  • Save rheinwein/30724f8523929dde8908 to your computer and use it in GitHub Desktop.
Save rheinwein/30724f8523929dde8908 to your computer and use it in GitHub Desktop.
ROSSConf Contribution Guide

#Ruby Open Source Projects for ROSSConf

##Flatcar https://github.com/flatcar/flatcar

Clone the repo, then point bundler to your branch in the Gemfile. Run bundle install and then you're ready to test the gem by running it within the context of bundler to avoid conflicts -- bundle exec bin/flatcar. Flatcar is tested with rspec, and you can find a test coverage report via simplecov-rcov.

##Lorry https://github.com/CenturyLinkLabs/lorry (the API) https://github.com/CenturyLinkLabs/lorry-ui (the front-end Rails project)

Check out the development guide for instructions on setup

##Panamax https://github.com/centurylinklabs/panamax-ui https://github.com/centurylinklabs/panamax-api

The UI runs as a normal Rails application on port 3000. It does not need to run in a container. The API project, however, does. It relies on Fleet and a connection to the Docker daemon in order to schedule and execute jobs.

Check out the contribution guide for more info on contributing to Panamax.

I recommend cloning the API and UI repos to a parent panamax directory, and also cloning the coreos-vagrant repository from me.

Edit line 79 in coreos-vagrant/config.rb to sync you panamax-api directory to the Vagrant box.

vagrant up && vagrant ssh sudo systemctl start etcd && sudo systemctl start fleet docker run -it -v /var/panamax-api:/var/panamax-api -v /var/run/docker.sock:/run/docker.sock -v /run/fleet.sock:/var/run/fleet.sock -p 8888:8888 centurylink/ruby-base /bin/bash

Then, you'll be dropped into a bash session inside of your container. Run apt-get update && apt-get install libsqlite3-dev, bundle install, bundle exec rake db:setup && bundle exec rake panamax:load:templates.

Then it's time for rails s -p 8888!

Make sure to forward port 8888 from the CoreOS VM to your localhost. For the API, we'll be making two hops: one from containter to VM, and one from VM to localhost.

VBoxManage modifyvm "VM name" --natpf1 ",tcp,,8888,,8888"

###All issues, bugs and feature requests are welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment