hubbub

command module
v0.0.0-...-8b10149 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2016 License: MIT Imports: 7 Imported by: 0

README

Hubbub

Build Status

VCS-configurations-as-code: establish, apply, and maintain transparent policies for your many source-controlled projects.

Teams and individuals might use it to:

  • Manage repository settings
  • Check in licenses or contributing guidelines
  • Configure webhooks and third-party services
  • Configure CI integrations

Repositories hosted on Github are supported out of the box; contributions for integrating with other third-party integrations and VCS hosts are welcome!

Build

Build hubbub using go >= 1.5 and make:

$ make

Get started

  1. Define a policy
  2. Assign it to your repositories
Define a policy

Policies are JSON documents that describes the desired state of the repository in terms of sequential goals.

Let's create a policy that adds a 'hello_world.txt' file to subject repositories:

[
  {
    "github_file" : {
      "state": "present",
      "ref": "heads/master",
      "name": "hello_world.txt",
      "content":"'Hi!' --hubbub"
    }
  }
]

Save it as ./config/policies/hello_world.json.

Assign it to your repositories

Next, let's create a list of repos that will be subject to the policy.

[
  { "url": "github.com/rjz/uno" },
  { "url": "github.com/rjz/dos" },
  { "url": "github.com/rjz/tres" }
]

Save it as ./config/repos/all.json.

Apply the policy

In order to use the Github API, we'll need to obtain a valid access token and add it to the environment:

$ export HUBBUB_GITHUB_ACCESS_TOKEN=xyz

Finally, we can use hubbub apply to add hello_world.txt to each of the subject repos.

$ hubbub apply \
  -policy=hello_world \
  -repositories=all
Service Integrations

Check out each service's README.

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL