Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.