DirectorySecurity advisories
Sign in

Directory

gha-runner-scale-set-controller-fips logoFIPS

gha-runner-scale-set-controller-fips

Last changed
Sign in for updates

Get notified of upcoming product changes, critical vulnerability notifications and patches and more.

Sign in
Versions
Overview
Provenance
Specifications
SBOM
Vulnerabilities
Advisories

Kubernetes controller for GitHub Actions self-hosted runners

Download this Image

The image is available on cgr.dev:

docker pull cgr.dev/chainguard/gha-runner-scale-set-controller:latest

Usage

This document outlines how to test our gha-runner-scale-set-controller image. You can set up ARC on Kubernetes using Helm, then create and run a workflow that uses runner scale sets.

For more information about runner scale sets, you should refer to the official documentation, Quickstart for Actions Runner Controller.

Prerequisites

You can find a detailed list of prerequisites in the official documentation, (here)[https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/quickstart-for-actions-runner-controller#prerequisites).

But for the sake of simplicity, all you need is:

  • A Kubernetes cluster
  • Helm 3
  • A GitHub repository with a workflow that uses runner scale sets

that's all.

Testing

To test the gha-runner-scale-set-controller image, you can follow these steps:

  1. Install the Actions Runner Controller on your Kubernetes cluster using Helm. You can find the installation instructions here.
NAMESPACE="arc-systems"
helm install arc \
    --namespace "${NAMESPACE}" \
    --create-namespace \
    oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller \
    --set image.repository=cgr.dev/chainguard/gha-runner-scale-set-controller \
    --set image.tag=latest

⚠️ Please ensure that the arc-gha-rs-controller pod is running in the arc-system namespace before proceeding to the next step.

  1. To configure the runner scale set, you can follow the official documentation here.

For that, you will need two things:

  • A GitHub repository with a workflow that uses runner scale sets
  • A runner registration token which we refer GITHUB_PAT
INSTALLATION_NAME="arc-runner-set"
NAMESPACE="arc-runners"
GITHUB_CONFIG_URL="https://github.com/<org/repo/enterprise>" # make sure to replace this with your GitHub repository URL or GitHub Enterprise URL
GITHUB_PAT="<PAT>" # make sure to replace this with your GitHub PAT

helm install "${INSTALLATION_NAME}" \
    --namespace "${NAMESPACE}" \
    --create-namespace \
    --set githubConfigUrl="${GITHUB_CONFIG_URL}" \
    --set githubConfigSecret.github_token="${GITHUB_PAT}" \
    oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set

⚠️ Please ensure that the arc-runner-set pod is running in the arc-runners namespace before proceeding to the next step.

⚠️ The GITHUB_PAT is not the only way to authenticate with GitHub. You can use other methods like GitHub App. You can check the values.yaml file for more information: https://github.com/actions/actions-runner-controller/blob/master/charts/gha-runner-scale-set/values.yaml

Once you did that you can create and run a workflow that uses runner scale sets like the following:

🤖 You can see the self-hosted runner that you registered within the project's runners tab. To get more detail about using self-hosted runners in workflow, here is the official documentation you can refer to.

name: Actions Runner Controller Demo
on:
  workflow_dispatch:

jobs:
  Explore-GitHub-Actions:
    # You need to use the INSTALLATION_NAME from the previous step
    runs-on: arc-runner-set
    steps:
    - run: echo "🎉 This job uses runner scale set runners!"

That's it! You have successfully tested the gha-runner-scale-set-controller image.

Licenses

Chainguard Images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" version of this image:

  • Apache-2.0

  • LGPL-2.1-or-later

  • MIT

  • MPL-2.0

For a complete list of licenses, please refer to this Image's SBOM.

Software license agreement

Compliance

This is a FIPS validated image for FedRAMP compliance.

This image is STIG hardened and scanned against the DISA General Purpose Operating System SRG with reports available.

Learn more about STIGsGet started with STIGs

Related images

Category
FIPS
STIG

Products

Chainguard Images

© 2024 Chainguard, Inc.