Development and deployment for docker based apps made easy.
This project is currently in an
alpha state. Inspiration for this project has been drawn form years of experience developing the ObjectRocket devtools system, as well as from Otto. The original goal was to implement Otto drivers to support the docker ecosystem as the primary means of development and deployment, but I am unsure as to wheather that fits into the Otto vision.
go get github.com/thedodd/barge
This will install the
barge command-line tool.
barge [--version] [--help] <command> [<args>] Commands: init Initialize a Bargefile in the working directory. dev Spin up a new docker machine according to the specs found in the working directory's Bargefile. dev destroy Destroy the docker machine specified in the working directory's Bargefile. dev rebuild Rebuild the docker machine specified in the working directory's Bargefile.
--help followed by a sub-command will display the help text for that sub-command.
Bargefile is a configuration file written in HCL, with the following structure:
development: cpus: int — the number of CPUs to allocate to the docker machine. disk: int — the disk size (MiB) to allocate to the docker machine. machineName: string — the name to assign to the docker machine. driver: string — the driver to use for the creation of the docker machine. ram: int — the amount of RAM (MiB) to allocate to the docker machine.
Currently, the goal is to use only explicit configuration in the Barge ecosystem. Generally speaking, favoring explicit over implicit patterns yields better predictability in software systems, IMHO.