github.com/TheDodd/barge

Development and deployment for docker based apps made easy.


License
Other
Install
go get github.com/TheDodd/barge

Documentation

barge

Build Status codecov.io codebeat badge GoDoc

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.

install

go get github.com/thedodd/barge

This will install the barge command-line tool.

usage

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

The 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.

Available drivers:

  • virtualbox

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.