Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/johnnymarquez/self-hosted-runners-kubernetes-helm-terraform
Github Actions Self-Hosted Runners Kubernetes Controller.
https://github.com/johnnymarquez/self-hosted-runners-kubernetes-helm-terraform
cicd github github-actions kubernetes
Last synced: 28 days ago
JSON representation
Github Actions Self-Hosted Runners Kubernetes Controller.
- Host: GitHub
- URL: https://github.com/johnnymarquez/self-hosted-runners-kubernetes-helm-terraform
- Owner: johnnymarquez
- Created: 2023-01-09T20:18:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-21T18:25:37.000Z (almost 2 years ago)
- Last Synced: 2024-03-16T02:25:59.216Z (9 months ago)
- Topics: cicd, github, github-actions, kubernetes
- Language: HCL
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Github Actions Self-Hosted Runners Kubernetes Controller
This projects defines an example to implement Github self-hosted runners through Helm, based on the
[Actions Runner Controller](https://github.com/actions/actions-runner-controller) project adopted recently by GitHub.
Templates and based values within this repository allows easy implementation of the controller in a Kubernetes Cluster.
The preferred method to authenticate is by create a GitHub App at an Organizational level, so the controller can
leverage on it to improve performance and scalability.## Secrets
Authentication values at actions-runner-controller.authSecret were removed and actions-runner-controller.enabled flag is
disabled. Reason being is that a customized templates/secret.yaml manifest were put in place, so the values can be
injected securely from a secrets manager. This way, the **controller** can pick be generated by Helm using securely
stored secrets.## Environments
Subdirectory /env contain individual values for different environments if required.
## Tolerations
Example toleration values are set up in Values.yaml if you need to specify a node to place the controller.
## Terraform
For a full lifecycle GitOps approach, inside ```Terraform``` directory the necessary code is being stored to standardize
the architecture of this project. WIP.