mirror of
https://github.com/actions/actions-runner-controller.git
synced 2025-12-15 22:47:13 +00:00
The runner graceful stop timeout has never been propagated to the dind sidecar due to configuration error in E2E. This fixes it, so that we can verify that the dind sidecar prestop can respect the graceful stop timeout. Related to #1759
140 lines
4.1 KiB
YAML
140 lines
4.1 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-runner-controller/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}
|