SkillAgentSearch skills...

Kubeact

A Helm chart for hosting your own runner on Kubernetes to run jobs in your GitHub Actions workflows. ☸️ πŸš€

Install / Use

/learn @itsksaurabh/Kubeact

README

<div style="text-align:center"><img width="250" src="./assets/logo.png" /></div>

kubeact

Kubeact

A Helm chart for hosting your own runner on Kubernetes to run jobs in your GitHub Actions workflows. ☸️ πŸš€

What is Kubeact? ☸️ πŸš€

Kubeact is a Helm Chart/Package for Kubernetes (K8s) to deploy and host your own runners on the cluster to run jobs in your GitHub Actions workflows. It makes it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub.

Why Kubeact? 🧐

Kubeact sets up a self-hosted runner on the cluster. Self-hosted runners offer more control of hardware, operating system, and software tools than GitHub-hosted runners provide. With self-hosted runners, you can choose to create a custom hardware configuration with more processing power or memory to run larger jobs, install software available on your local network, and choose an operating system not offered by GitHub-hosted runners. You can read more about self-hosted runner here.

Note: Currently kubeact supports machines with Linux X64 architecture.

Prerequisites βœ…

Helm

Ensure you have Helm installed. It is a package manager for Kubernetes which will be required to install the chart.

Docker

This repository contains a Dockerfile by which you can build your own personal runner image, which will be pulled while installing the helm chart. You can follow the official Docker installation guide here.

Github personal access token

The Dockerfile requires Github personal access token during build for the admin access to the repository and to configure the runner. You can create a personal access token by following this tutorial.

Usage βš™οΈ

Build your runner image

Login into your docker account, Run:

$ docker login --username=yourUserName --email=yourUserName@example.com

Run the following command to build your own runner image:

$ docker build \
  -t yourUserName/kubeact:tagname \
  --build-arg GITHUB_ACCESS_TOKEN=XXXXXXXXXXXXXX \
  --build-arg GITHUB_USERNAME=< Your Github Username > \
  --build-arg GITHUB_REPO_NAME=< Your target Github repo name >  .

Push the image into your registry:

$ docker push yourUserName/kubeact:tagname

Warning: It is adviced to push the image into a private registry as it contains files that contains your sensitive informations.

Install the Helm chart

Open values.yaml and update the following values :

Chart Values

| Key | Type | Default | Description | |-----|------|---------|-------------| | image.name | string | "kubeact" | Name of your image. | | image.username | string | nil | Your Docker registry username. | | image.password | string | nil | Your Docker registry password. | | image.pullPolicy | string | "IfNotPresent" | Image pull policy. | | image.registry | string | "https://index.docker.io/v1/" | Your registry server. | | image.tag | string | "latest" | Your Image tag. |

Run the following command to install the chart to your kubernetes cluster:

$ helm install kubeact .

Note: You can also update the values using --set flag.

Contributing 🍻

I welcome pull requests, bug fixes and issue reports. Before proposing a change, please discuss your change by raising an issue.

Maintainer 😎

Kumar Saurabh

License

Apache License 2.0 Β© Kumar Saurabh

Related Skills

View on GitHub
GitHub Stars53
CategoryDevelopment
Updated1y ago
Forks15

Languages

Shell

Security Score

85/100

Audited on Jan 19, 2025

No findings