Deploying a git server using juju.

July 9 2015

I run a private git server that I use to manage my config files (oooh, passwords) and projects that I’m just not ready to publish on github. Granted, setting up a simple git server is not difficult, but with the introduction of actions in juju this seemed like the perfect use for them.

Radiolab

The git charm deploys a server with git set up to serve over ssh. In addition to that, the charm exposes actions that make handling the management of users and repositories easy.

The charms uses and depends on actions, a feature not yet present in juju-core 1.22. To use it, download and build the juju-core 1.23 or later branch (https://github.com/juju/juju/tree/1.23).

You can find the source code for the charm on launchpad.

Deploying the charm is as easy as:

juju deploy cs:~tasdomas/trusty/git

Further instructions on using the charm can be found on its page in the juju charmstore.

Things left to do

My current goal is to implement unit and charm tests for the charm and get it reviewed and approved by the juju charmers team.

After that, there are many improvements that need to be implemented:

  • Add read-only user access
  • Handle change of repository directory gracefully
  • Handle persistent storage