#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"