Project

mobilis

0.0
No release in over a year
Generate and scaffold multiple projects and a docker compose file
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Mobilis

Mobilis is a ruby app for generating linked sets of docker containers, for rapid prototyping of arbitrary project architecture.

It has some smarts built in to make common things simple, and will allow you to further customize the output for more complex needs.

Installation

$ gem install mobilis

Usage

$ mobilis

This will start the console based user interface.

Add projects of the various kinds. The input doesn't save you from mistakes like entering spaces for service names, so don't do it.

If you need any containers to connect to other containers via the internal names, you will want to add a link from the project that is connecting to the project that is being connected to.

When configured to your liking, select the generate option to generate the projects. This will DESTROY any data in an existing 'generate' directory.

Special Rails support

If a Ruby on Rails project is linked to a postgres or mysql instance, it will be setup with a DATABASE_URL environment variable that has the connection information.

In addition, the database instance will receive a environment variable with the name of the default production database that is based on the rails project's name

Security

The generated projects are insecure, because of credential handling details.

If you want to deploy the projects into a production environment, you are responsible for secrets management.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/Meleneth/mobilis.

Plans

  • Adding more project types + smart integrations
  • Instrumenting generated projects with New Relic
  • Smoothing out the flow of the UI
  • Be able to load a previous configured set of projects for further editing
  • Make generated rails projects wait at startup until the database is usable
  • More details in TODO.md