#Ruby Open Source Projects for ROSSConf
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.
Check out the development guide for instructions on setup
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 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"