{"id":20189446,"url":"https://github.com/redhat-actions/openshift-actions-runner-chart","last_synced_at":"2025-10-19T20:42:25.646Z","repository":{"id":39616392,"uuid":"321741601","full_name":"redhat-actions/openshift-actions-runner-chart","owner":"redhat-actions","description":"Helm chart for deploying GitHub Actions runners into your Kubernetes cluster","archived":false,"fork":false,"pushed_at":"2024-02-05T22:01:45.000Z","size":270,"stargazers_count":30,"open_issues_count":9,"forks_count":27,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-24T08:06:59.759Z","etag":null,"topics":["actions","helm","helm-chart","kubernetes","openshift","self-hosted-runner"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redhat-actions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-15T17:33:45.000Z","updated_at":"2024-10-14T20:21:50.000Z","dependencies_parsed_at":"2023-02-15T15:20:55.125Z","dependency_job_id":null,"html_url":"https://github.com/redhat-actions/openshift-actions-runner-chart","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-actions%2Fopenshift-actions-runner-chart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-actions%2Fopenshift-actions-runner-chart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-actions%2Fopenshift-actions-runner-chart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-actions%2Fopenshift-actions-runner-chart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redhat-actions","download_url":"https://codeload.github.com/redhat-actions/openshift-actions-runner-chart/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248182024,"owners_count":21060892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","helm","helm-chart","kubernetes","openshift","self-hosted-runner"],"created_at":"2024-11-14T03:37:16.462Z","updated_at":"2025-10-19T20:42:25.530Z","avatar_url":"https://github.com/redhat-actions.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenShift GitHub Actions Runner Chart \n\n[![Helm Lint](https://github.com/redhat-actions/openshift-actions-runner-chart/workflows/Helm%20Lint/badge.svg)](https://github.com/redhat-actions/openshift-actions-runner-chart/actions)\n[![Link checker](https://github.com/redhat-actions/openshift-actions-runner-chart/workflows/Link%20checker/badge.svg)](https://github.com/redhat-actions/openshift-actions-runner-chart/actions)\n[![Publish chart to Pages](https://github.com/redhat-actions/openshift-actions-runner-chart/workflows/Publish%20chart%20to%20Pages/badge.svg)](https://github.com/redhat-actions/openshift-actions-runner-chart/actions)\n\n[![Tag](https://img.shields.io/github/v/tag/redhat-actions/openshift-actions-runner-chart)](https://github.com/redhat-actions/openshift-actions-runner-chart/tags)\n[![Quay org](https://img.shields.io/badge/quay-redhat--github--actions-red)](https://quay.io/organization/redhat-github-actions)\n\nThis repository contains a Helm chart for deploying one or more self-hosted \u003c!-- markdown-link-check-disable --\u003e [GitHub Actions Runners]((https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners)) \u003c!-- markdown-link-check-enable --\u003e\ninto a Kubernetes cluster. By default, the container image used is the [**OpenShift Actions Runner**](https://github.com/redhat-actions/openshift-actions-runner).\n\nYou can deploy runners automatically in an Actions workflow using the [**OpenShift Actions Runner Installer**](https://github.com/redhat-actions/openshift-actions-runner-installer).\n\nWhile this chart and the images are developed for and tested on OpenShift, they do not contain any OpenShift specific code and should be compatible with any Kubernetes platform.\n\n## Prerequisites\nYou must have access to a Kubernetes cluster. Visit [openshift.com/try](https://www.openshift.com/try) or sign up for our [Developer Sandbox](https://developers.redhat.com/developer-sandbox).\n\nYou must have Helm 3 installed.\n\nYou do **not** need cluster administrator privileges to deploy the runners and run workloads. However, some images or tools may require special permissions.\n\n## Helm repository\nThis GitHub repository serves a Helm repository through GitHub Pages.\n\nThe repository can be added with:\n```\nhelm repo add openshift-actions-runner https://redhat-actions.github.io/openshift-actions-runner-chart\n```\n\nThe packaged charts can be browsed [here](https://github.com/redhat-actions/openshift-actions-runner-chart/tree/release-chart/packages).\n\n## Installing runners\n\nYou can install runners into your cluster using the Helm chart in this repository.\n\n1. Runners can be scoped to an **organization** or a **repository**. Decide what the scope of your runner will be.\n    - User-scoped runners are not supported by GitHub.\n2. Determine how you will authorize the runner creation in GitHub. Choose one of the following:\n\n    a. Create a GitHub Personal Access Token as per the PAT instructions in the [runner image README](https://github.com/redhat-actions/openshift-actions-runner#pat-guidelines).\n\n    b. Create a GitHub App and install into your org or user account as per the app instructions in the [runner image README](https://github.com/redhat-actions/openshift-actions-runners/blob/main/docs/github-app-authentication.md).\n\n- Note that the default `secrets.GITHUB_TOKEN` **does not** have permission to manage self-hosted runners. See [Permissions for the GITHUB_TOKEN](https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token).\n\n3. Add this repository as a Helm repository.\n```bash\nhelm repo add openshift-actions-runner \\\n    https://redhat-actions.github.io/openshift-actions-runner-chart \\\n\u0026\u0026 helm repo update\n```\nYou can also clone this repository and reference the chart's directory. This allows you to modify the chart if necessary.\n\n4. Install the helm chart, which creates a deployment and a secret. Leave out `githubRepository` if you want an organization-scoped runner.\n    - Add the `--namespace` argument to all `helm` and `kubectl/oc` commands if you want to use a namespace other than your current context's namespace.\n\n```bash\n# Authorization from Step 2:\n# Either GITHUB_PAT, OR all 3 of GITHUB_APP_*\nexport GITHUB_PAT=c0ffeeface1234567890\n# OR, GitHub App information:\nexport GITHUB_APP_ID=123456\nexport GITHUB_APP_INSTALL_ID=7890123\nexport GITHUB_APP_PEM='----------BEGIN RSA PRIVATE KEY...'\n\n# For an org runner, this is the org.\n# For a repo runner, this is the repo owner (org or user).\nexport GITHUB_OWNER=redhat-actions\n# For an org runner, omit this argument.\n# For a repo runner, the repo name.\nexport GITHUB_REPO=openshift-actions-runner-chart\n# Helm release name to use.\nexport RELEASE_NAME=actions-runner\n\n# If you cloned the repository (eg. to edit the chart)\n# replace openshift-actions-runner/actions-runner below with the directory containing Chart.yaml.\n\n# Installing using PAT Auth\nhelm install $RELEASE_NAME openshift-actions-runner/actions-runner \\\n    --set-string githubPat=$GITHUB_PAT \\\n    --set-string githubOwner=$GITHUB_OWNER \\\n    --set-string githubRepository=$GITHUB_REPO \\\n\u0026\u0026 echo \"---------------------------------------\" \\\n\u0026\u0026 helm get manifest $RELEASE_NAME | kubectl get -f -\n\n# OR, Installing using App Auth\nhelm install $RELEASE_NAME openshift-actions-runner/actions-runner \\\n    --set-string githubAppId=$GITHUB_APP_ID \\\n    --set-string githubAppInstallId=$GITHUB_APP_INSTALL_ID \\\n    --set-string githubAppPem=\"$GITHUB_APP_PEM\" \\\n    --set-string githubOwner=$GITHUB_OWNER \\\n    --set-string githubRepository=$GITHUB_REPO \\\n\u0026\u0026 echo \"---------------------------------------\" \\\n\u0026\u0026 helm get manifest $RELEASE_NAME | kubectl get -f -\n```\n5. You can re-run step 4 if you want to add runners with different images, labels, etc. You can leave out the `githubPat` or `githubApp*` strings on subsequent runs, since the chart will re-use an existing secret.\n\n\nThe runners should show up under `Settings \u003e Actions \u003e Self-hosted runners` shortly afterward.\n\n## Values\n\nYou can override the default values such as resource limits and replica counts or inject environment variables by passing `--set` or `--set-string` to the `helm install` command.\n\nRefer to the [`values.yaml`](./values.yaml) for values that can be overridden.\n\n## Using your own runner image\nRefer to [Building your own runner image](https://github.com/redhat-actions/openshift-actions-runner/tree/main/base#own-image).\n\n## GitHub Enterprise Support\nUse `--set githubDomain=github.mycompany.com`.\n\nRefer to the [OpenShift Actions Runner README](https://github.com/redhat-actions/openshift-actions-runner#enterprise-support).\n\n## Managing PATs\nSee [the wiki](https://github.com/redhat-actions/openshift-actions-runner-chart/wiki/Managing-PATs) for a note on managing mulitple PATs, if you want to add a new PAT or replace an existing one.\n\n## Troubleshooting\nYou can view the resources created by Helm using `helm get manifest $RELEASE_NAME`, and then inspect those resources using `kubectl get`.\n\nThe resources are also labeled with `app.kubernetes.io/instance={{ .Release.Name }}`, so you can view all the resources with:\n\n```sh\nkubectl get all,secret -l=app.kubernetes.io/instance=$RELEASE_NAME\n```\n\nIf the pods are created but stuck in a crash loop, view the logs with `kubectl logs \u003cpodname\u003e` to see the problem. Refer to the [runner container troubleshooting](https://github.com/redhat-actions/openshift-actions-runner#troubleshooting) to resolve any issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-actions%2Fopenshift-actions-runner-chart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredhat-actions%2Fopenshift-actions-runner-chart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-actions%2Fopenshift-actions-runner-chart/lists"}