Sha256: b9d82774a758f094d506baa3b89bf1a7a5d7814d85e645fffdd509c9db82d57f

Contents?: true

Size: 1.99 KB

Versions: 1

Compression:

Stored size: 1.99 KB

Contents

[![Build Status](https://travis-ci.org/georgecodes/gerd.png?branch=master)](https://travis-ci.org/georgecodes/gerd)

# Gerd - Github Herder

Declaratively manage your Github estate using gerd.

## Introduction

Gerd is a tool which declaratively manages your GitHub estate. In a nutshell, it will create a metadata file for you which models a GitHub organisation, and will let you make changes to that organisation in the file, which will then be reflected in GitHub. 

Currently, the only support is for the creation and deletion of repositories, but new features will be added.

## Usage

### Installation

Gerd is a Ruby gem. Install it using

    $ gem install gerd

### Configuration

Gerd needs a GitHub API token to work. You can provide this on the command line 

    $ gerd -t wpergih3409gihjp2g4brjep
    $ gerd --token wpergih3409gihjp2g4brjep

Or as an environment variable

    $ export GERD_TOKEN=wpergih3409gihjp2g4brjep

Or in a .gerd file in the local directory

    {
      "token": "wpergih3409gihjp2g4brjep"
    }

Or in a .gerd file in your home directory. 

Gerd will look for a token in these places, in order.

### Commands

#### gerd audit

First steps are to create a snapshot of your organisation

    $ gerd audit meet-gerd -f gerd.json

This captures the data in a file which now models your organisation. It will look like this
 ```
   {
     "organisation": "meet-gerd",
     "teams": {
     },
     "repositories": {
     },
     "members": {
       "georgecodes": {
         "id": 99999
       }
    }
  }
```
#### gerd validate

At any point, you can see if your model file matches reality

    $ gerd validate meet-gerd --expected gerd.json

You will get a short report on the recognised differences

#### gerd sync

This is what will propagate changes in your gerd model to GitHub.

    $ gerd sync meet-gerd --file gerd.json

Note that as a layer of protection, destructive behaviour - deleting repos - requires an explicit flag to perform

    $ gerd sync meet-gerd --file gerd.json --delete

  

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gerd-0.0.1 README.md