139 lines
5.3 KiB
YAML
139 lines
5.3 KiB
YAML
## githubConfigUrl is the GitHub url for where you want to configure runners
|
|
## ex: https://github.com/myorg/myrepo or https://github.com/myorg
|
|
githubConfigUrl: ""
|
|
|
|
## githubConfigSecret is the k8s secrets to use when auth with GitHub API.
|
|
## You can choose to use GitHub App or a PAT token
|
|
githubConfigSecret:
|
|
### GitHub Apps Configuration
|
|
## NOTE: IDs MUST be strings, use quotes
|
|
#github_app_id: ""
|
|
#github_app_installation_id: ""
|
|
#github_app_private_key: |
|
|
|
|
### GitHub PAT Configuration
|
|
github_token: ""
|
|
## If you have a pre-define Kubernetes secret in the same namespace the gha-runner-scale-set is going to deploy,
|
|
## you can also reference it via `githubConfigSecret: pre-defined-secret`.
|
|
## You need to make sure your predefined secret has all the required secret data set properly.
|
|
## For a pre-defined secret using GitHub PAT, the secret needs to be created like this:
|
|
## > kubectl create secret generic pre-defined-secret --namespace=my_namespace --from-literal=github_token='ghp_your_pat'
|
|
## For a pre-defined secret using GitHub App, the secret needs to be created like this:
|
|
## > kubectl create secret generic pre-defined-secret --namespace=my_namespace --from-literal=github_app_id=123456 --from-literal=github_app_installation_id=654321 --from-literal=github_app_private_key='-----BEGIN CERTIFICATE-----*******'
|
|
# githubConfigSecret: pre-defined-secret
|
|
|
|
## proxy can be used to define proxy settings that will be used by the
|
|
## controller, the listener and the runner of this scale set.
|
|
#
|
|
# proxy:
|
|
# http:
|
|
# url: http://proxy.com:1234
|
|
# credentialSecretRef: proxy-auth # a secret with `username` and `password` keys
|
|
# https:
|
|
# url: http://proxy.com:1234
|
|
# credentialSecretRef: proxy-auth # a secret with `username` and `password` keys
|
|
# noProxy:
|
|
# - example.com
|
|
# - example.org
|
|
|
|
## maxRunners is the max number of runners the auto scaling runner set will scale up to.
|
|
# maxRunners: 5
|
|
|
|
## minRunners is the min number of runners the auto scaling runner set will scale down to.
|
|
# minRunners: 0
|
|
|
|
# runnerGroup: "default"
|
|
|
|
## template is the PodSpec for each runner Pod
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: runner
|
|
image: ghcr.io/actions/actions-runner:latest
|
|
command: ["/actions-runner/run.sh"]
|
|
|
|
containerMode:
|
|
type: "" ## type can be set to dind or kubernetes
|
|
## with containerMode.type=dind, we will populate the template.spec with following pod spec
|
|
## template:
|
|
## spec:
|
|
## initContainers:
|
|
## - name: initExternalsInternalVolume
|
|
## image: ghcr.io/actions/actions-runner:latest
|
|
## command: ["cp", "-r", "-v", "/actions-runner/externals/.", "/actions-runner/tmpDir/"]
|
|
## volumeMounts:
|
|
## - name: externalsInternal
|
|
## mountPath: /actions-runner/tmpDir
|
|
## containers:
|
|
## - name: runner
|
|
## image: ghcr.io/actions/actions-runner:latest
|
|
## env:
|
|
## - name: DOCKER_HOST
|
|
## value: tcp://localhost:2376
|
|
## - name: DOCKER_TLS_VERIFY
|
|
## value: "1"
|
|
## - name: DOCKER_CERT_PATH
|
|
## value: /certs/client
|
|
## volumeMounts:
|
|
## - name: workingDirectoryInternal
|
|
## mountPath: /actions-runner/_work
|
|
## - name: dinDInternal
|
|
## mountPath: /certs/client
|
|
## readOnly: true
|
|
## - name: dind
|
|
## image: docker:dind
|
|
## securityContext:
|
|
## privileged: true
|
|
## volumeMounts:
|
|
## - mountPath: /certs/client
|
|
## name: dinDInternal
|
|
## - mountPath: /actions-runner/_work
|
|
## name: workingDirectoryInternal
|
|
## - mountPath: /actions-runner/externals
|
|
## name: externalsInternal
|
|
## volumes:
|
|
## - name: dinDInternal
|
|
## emptyDir: {}
|
|
## - name: workingDirectoryInternal
|
|
## emptyDir: {}
|
|
## - name: externalsInternal
|
|
## emptyDir: {}
|
|
######################################################################################################
|
|
## with containerMode.type=kubernetes, we will populate the template.spec with following pod spec
|
|
## template:
|
|
## spec:
|
|
## containers:
|
|
## - name: runner
|
|
## image: ghcr.io/actions/actions-runner:latest
|
|
## env:
|
|
## - name: ACTIONS_RUNNER_CONTAINER_HOOKS
|
|
## value: /actions-runner/k8s/index.js
|
|
## - name: ACTIONS_RUNNER_POD_NAME
|
|
## valueFrom:
|
|
## fieldRef:
|
|
## fieldPath: metadata.name
|
|
## - name: ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER
|
|
## value: "true"
|
|
## volumeMounts:
|
|
## - name: work
|
|
## mountPath: /actions-runner/_work
|
|
## volumes:
|
|
## - name: work
|
|
## ephemeral:
|
|
## volumeClaimTemplate:
|
|
## spec:
|
|
## accessModes: [ "ReadWriteOnce" ]
|
|
## storageClassName: "local-path"
|
|
## resources:
|
|
## requests:
|
|
## storage: 1Gi
|
|
|
|
## the following is required when containerMode.type=kubernetes
|
|
kubernetesModeWorkVolumeClaim:
|
|
accessModes: ["ReadWriteOnce"]
|
|
# For testing, use https://github.com/rancher/local-path-provisioner to provide dynamic provision volume
|
|
# TODO: remove before release
|
|
storageClassName: "dynamic-blob-storage"
|
|
resources:
|
|
requests:
|
|
storage: 1Gi |