This is a Python library and set of tools that lets you build Docker images using masterless SaltStack instead of (or in addition to) using Dockerfiles.
FlyingCloud is easy to run from the commandline, and built to be run on a Continuous Integration server.
- Because you are installing a complex stack of software and have outgrown Docker's simple installation system.
- Because you want to configure your Docker layers instead of writing shell scripts.
- Because you want to install the same software stack on developer workstations and don't want to maintain two separate ways of installing a complex stack of software.
FlyingCloud runs Salt in masterless mode, applying Salt states for each Docker layer. Layers can also run custom Python code if necessary.
Salt states can do many system administration tasks solely with configuration. Here's a list of all the built-in Salt states. And you can write your own.
$ pip install flyingcloud
The Flask Web App Example shows how to create several reusable Docker images, built on each other, along with a small web application and an example of running tests inside the Docker container.
We welcome contributions. This project is in an early stage and under heavy development. To contribute, join the Google Group or file a pull request.