Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 2.46 KB

readme.adoc

File metadata and controls

60 lines (47 loc) · 2.46 KB

Github Controller

API Version

Build Status

Test Coverage

Go Report Card

License

apiversion v1alpha1 red
github controller
badge
github controller
license Apache%202.0 blue
Table of Contents

Github Controller is a Kubernetes controller which implements the Kubernetes Resource Model to manage Github repositories, organizations and collaborators. This does so by implementing custom resource definitions (CRDs) for Repository, (Coming Soon Organization, and Team).

Features

  • Repository will manage Github repositories

  • Control settings for repositories issues, pull requests, wiki

  • Records status of the repo

Installation

Terminal
git clone git@github.com:christopherhein/github-controller.git
cd github-controller
make install deploy

The manager expects that you have GITHUB_AUTH_TOKEN exported into the secret named github-controller-github-auth-token with a key of github-token. This token should have permissions to manage repositories in the github org it’s managing.

Usage

If you want to create a repo you can kubectl apply -f a manifest that looks like this.

vim
apiVersion: github.go.hein.dev/v1alpha1
kind: Repository
metadata:
  name: repository-sample
spec:
  organization: orgname
  description: Sample repository created with the Github Controller
  homepage: org.com/repository-sample
  settings:
    private: false
    issues: true
    wiki: false
    projects: true
    template: false

Roadmap

  • Support for updating repos

  • Add ability to manage user accounts instead of org only accounts.

  • Support for Repo Templates

  • Support for managing teams