Categorygo.hein.dev/github-controller
modulepackage
0.0.0-20230516005555-7b10b66630b3
Repository: https://github.com/christopherhein/github-controller.git
Documentation: pkg.go.dev

# README

= Github Controller :toc: macro

[cols="a,a,a,a,a"] |=== | API Version | Build Status | Test Coverage | Go Report Card | License | image::https://img.shields.io/badge/apiversion-v1alpha1-red.svg[link="https://github.com/christopherhein/github-controller/blob/master/LICENSE"] | image::https://travis-ci.com/christopherhein/github-controller.svg?branch=master[link="https://travis-ci.com/christopherhein/github-controller"] | image::https://codecov.io/gh/christopherhein/github-controller/branch/master/graph/badge.svg[link="https://codecov.io/gh/christopherhein/github-controller"] | image::https://goreportcard.com/badge/github.com/christopherhein/github-controller[link="https://goreportcard.com/report/github.com/christopherhein/github-controller"] | image::https://img.shields.io/badge/license-Apache%202.0-blue.svg[link="https://github.com/christopherhein/github-controller/blob/master/LICENSE"] |===

toc::[]

Github Controller is a Kubernetes controller which implements the Kubernetes Resource Model to manage Github repositories, organizations and collaborators. This does so by implementing link:https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/[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 [source,shell]

git clone [email protected]: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 [source,yaml]

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

# Packages

No description provided by the author
No description provided by the author
Package git contains the git functions.
Package keygen contains the keygen functions.