140 lines
4.0 KiB
YAML
140 lines
4.0 KiB
YAML
apiVersion: storage.k8s.io/v1
|
|
kind: StorageClass
|
|
metadata:
|
|
name: ${NAME}-runner-work-dir
|
|
labels:
|
|
content: ${NAME}-runner-work-dir
|
|
provisioner: rancher.io/local-path
|
|
reclaimPolicy: Delete
|
|
volumeBindingMode: WaitForFirstConsumer
|
|
---
|
|
apiVersion: storage.k8s.io/v1
|
|
kind: StorageClass
|
|
metadata:
|
|
name: ${NAME}-rootless-dind-work-dir
|
|
labels:
|
|
content: ${NAME}-rootless-dind-work-dir
|
|
provisioner: rancher.io/local-path
|
|
reclaimPolicy: Delete
|
|
volumeBindingMode: WaitForFirstConsumer
|
|
---
|
|
apiVersion: actions.summerwind.dev/v1alpha1
|
|
kind: RunnerDeployment
|
|
metadata:
|
|
name: ${NAME}
|
|
spec:
|
|
# replicas: 1
|
|
template:
|
|
spec:
|
|
enterprise: ${TEST_ENTERPRISE}
|
|
group: ${TEST_GROUP}
|
|
organization: ${TEST_ORG}
|
|
repository: ${TEST_REPO}
|
|
|
|
#
|
|
# Custom runner image
|
|
#
|
|
image: ${RUNNER_NAME}:${RUNNER_TAG}
|
|
imagePullPolicy: IfNotPresent
|
|
|
|
ephemeral: ${TEST_EPHEMERAL}
|
|
|
|
#
|
|
# dockerd within runner container
|
|
#
|
|
## Replace `mumoshu/actions-runner-dind:dev` with your dind image
|
|
#dockerdWithinRunnerContainer: true
|
|
#image: mumoshu/actions-runner-dind:dev
|
|
dockerdWithinRunnerContainer: ${RUNNER_DOCKERD_WITHIN_RUNNER_CONTAINER}
|
|
|
|
#
|
|
# Set the MTU used by dockerd-managed network interfaces (including docker-build-ubuntu)
|
|
#
|
|
#dockerMTU: 1450
|
|
|
|
#Runner group
|
|
# labels:
|
|
# - "mylabel 1"
|
|
# - "mylabel 2"
|
|
labels:
|
|
- "${RUNNER_LABEL}"
|
|
|
|
serviceAccountName: ${RUNNER_SERVICE_ACCOUNT_NAME}
|
|
terminationGracePeriodSeconds: ${RUNNER_TERMINATION_GRACE_PERIOD_SECONDS}
|
|
|
|
env:
|
|
- name: RUNNER_GRACEFUL_STOP_TIMEOUT
|
|
value: "${RUNNER_GRACEFUL_STOP_TIMEOUT}"
|
|
- name: ROLLING_UPDATE_PHASE
|
|
value: "${ROLLING_UPDATE_PHASE}"
|
|
- name: ARC_DOCKER_MTU_PROPAGATION
|
|
value: "true"
|
|
# https://github.com/docker/docs/issues/8663
|
|
- name: DOCKER_DEFAULT_ADDRESS_POOL_BASE
|
|
value: "172.17.0.0/12"
|
|
- name: DOCKER_DEFAULT_ADDRESS_POOL_SIZE
|
|
value: "24"
|
|
- name: WAIT_FOR_DOCKER_SECONDS
|
|
value: "3"
|
|
|
|
dockerMTU: 1400
|
|
dockerEnv:
|
|
- name: RUNNER_GRACEFUL_STOP_TIMEOUT
|
|
value: "${RUNNER_GRACEFUL_STOP_TIMEOUT}"
|
|
|
|
# Fix the following no space left errors with rootless-dind runners that can happen while running buildx build:
|
|
# ------
|
|
# > [4/5] RUN go mod download:
|
|
# ------
|
|
# ERROR: failed to solve: failed to prepare yxsw8lv9hqnuafzlfta244l0z: mkdir /home/runner/.local/share/docker/vfs/dir/yxsw8lv9hqnuafzlfta244l0z/usr/local/go/src/cmd/compile/internal/types2/testdata: no space left on device
|
|
# Error: Process completed with exit code 1.
|
|
#
|
|
volumeMounts:
|
|
- name: rootless-dind-work-dir
|
|
# Omit the /share/docker part of the /home/runner/.local/share/docker as
|
|
# that part is created by dockerd.
|
|
mountPath: /home/runner/.local
|
|
readOnly: false
|
|
volumes:
|
|
- name: rootless-dind-work-dir
|
|
ephemeral:
|
|
volumeClaimTemplate:
|
|
spec:
|
|
accessModes: [ "ReadWriteOnce" ]
|
|
storageClassName: "${NAME}-rootless-dind-work-dir"
|
|
resources:
|
|
requests:
|
|
storage: 3Gi
|
|
|
|
#
|
|
# Non-standard working directory
|
|
#
|
|
# workDir: "/"
|
|
|
|
# # Uncomment the below to enable the kubernetes container mode
|
|
# # See https://github.com/actions/actions-runner-controller#runner-with-k8s-jobs
|
|
containerMode: ${RUNNER_CONTAINER_MODE}
|
|
workVolumeClaimTemplate:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
storageClassName: "${NAME}-runner-work-dir"
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
---
|
|
apiVersion: actions.summerwind.dev/v1alpha1
|
|
kind: HorizontalRunnerAutoscaler
|
|
metadata:
|
|
name: ${NAME}
|
|
spec:
|
|
scaleTargetRef:
|
|
name: ${NAME}
|
|
scaleUpTriggers:
|
|
- githubEvent:
|
|
workflowJob: {}
|
|
amount: 1
|
|
duration: "10m"
|
|
minReplicas: ${RUNNER_MIN_REPLICAS}
|
|
maxReplicas: 10
|
|
scaleDownDelaySecondsAfterScaleOut: ${RUNNER_SCALE_DOWN_DELAY_SECONDS_AFTER_SCALE_OUT}
|