Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eczy/github-operator
Kubernetes Operator managing persistent GitHub resources (teams, repositories, branch protection rules, etc.)
https://github.com/eczy/github-operator
automation github kubernetes-operator
Last synced: 11 days ago
JSON representation
Kubernetes Operator managing persistent GitHub resources (teams, repositories, branch protection rules, etc.)
- Host: GitHub
- URL: https://github.com/eczy/github-operator
- Owner: eczy
- License: apache-2.0
- Created: 2024-03-26T03:49:10.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-04-30T06:03:40.000Z (6 months ago)
- Last Synced: 2024-04-30T22:07:34.841Z (6 months ago)
- Topics: automation, github, kubernetes-operator
- Language: Go
- Homepage:
- Size: 317 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# github-operator
GitHub Operator is a [Kubernetes operator] built to manage GitHub resources in a declarative manner.## Description
By representing GitHub resources as Kubernetes resources, GitHub Operator lets users leverage existing Kubernetes resource management tools like [Kustomize] to easily manage GitHub resources. Users also enjoy the usual suite of [Kubernetes API features], including protection against state drift via the Kubernetes reconciliation loop.### Supported GitHub resources:
| Resource | Create | Update | Delete |
| ---------------------- | ------ | ------ | ------ |
| Repository | ✅ | ✅ | ✅ |
| Branch Protection Rule | ✅ | ✅ | ✅ |
| Team | ✅ | ✅ | ✅ |
| Organization | ❌ | ✅ | ❌ |If you would like a new resource to be supported, please open an issue.
## Install
To install using the installer included in this repository, insert the desired version in the snippet below and run:
```sh
kubectl apply -f https://github.com/eczy/github-operator/releases/download/vX.X.X/install.yaml
```
For available versions, see the [Releases] page.## Usage
TODO## License
Copyright 2024 Evan Czyzycki.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.[Kubernetes API features]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#common-features
[Kubernetes operator]: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
[Kustomize]: https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/
[Releases]: https://github.com/eczy/github-operator/releases