1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- apiVersion: v1
- data:
- check-live: |
- #!/bin/bash
- if /usr/bin/pgrep -f .*register-the-runner; then
- exit 0
- elif /usr/bin/pgrep gitlab.*runner; then
- exit 0
- else
- exit 1
- fi
- config.toml: |
- concurrent = 10
- check_interval = 3
- log_level = "info"
- listen_address = '[::]:9252'
- configure: |
- set -e
- cp /init-secrets/* /secrets
- entrypoint: |
- #!/bin/bash
- set -e
- mkdir -p /home/gitlab-runner/.gitlab-runner/
- cp /scripts/config.toml /home/gitlab-runner/.gitlab-runner/
- # Register the runner
- if [[ -f /secrets/accesskey && -f /secrets/secretkey ]]; then
- export CACHE_S3_ACCESS_KEY=$(cat /secrets/accesskey)
- export CACHE_S3_SECRET_KEY=$(cat /secrets/secretkey)
- fi
- if [[ -f /secrets/gcs-applicaton-credentials-file ]]; then
- export GOOGLE_APPLICATION_CREDENTIALS="/secrets/gcs-applicaton-credentials-file"
- else
- if [[ -f /secrets/gcs-access-id && -f /secrets/gcs-private-key ]]; then
- export CACHE_GCS_ACCESS_ID=$(cat /secrets/gcs-access-id)
- # echo -e used to make private key multiline (in google json auth key private key is oneline with \n)
- export CACHE_GCS_PRIVATE_KEY=$(echo -e $(cat /secrets/gcs-private-key))
- fi
- fi
- if [[ -f /secrets/runner-registration-token ]]; then
- export REGISTRATION_TOKEN=$(cat /secrets/runner-registration-token)
- fi
- if [[ -f /secrets/runner-token ]]; then
- export CI_SERVER_TOKEN=$(cat /secrets/runner-token)
- fi
- if ! sh /scripts/register-the-runner; then
- exit 1
- fi
- # Temporary workaround until https://gitlab.com/gitlab-org/gitlab-runner/issues/4228
- # is merged
- sed -n '30,$p' /home/gitlab-runner/.gitlab-runner/config.toml >> /home/gitlab-runner/custom_commands
- sed -e '30,$d' -i /home/gitlab-runner/.gitlab-runner/config.toml
- cat /scripts/kubernetes.volumes | sed -e '1d' | sed '1,$s/^/ /' >> /home/gitlab-runner/.gitlab-runner/config.toml
- cat /home/gitlab-runner/custom_commands >> /home/gitlab-runner/.gitlab-runner/config.toml
- # Start the runner
- /entrypoint run --user=gitlab-runner \
- --working-directory=/home/gitlab-runner
- kubernetes.volumes: "\n[[runners.kubernetes.volumes.pvc]]\n mount_path = \"/cache\"\n
- \ name = \"gitrunner-workspace\"\n read_only = false\n \n"
- register-the-runner: "#!/bin/bash\nMAX_REGISTER_ATTEMPTS=30\n\nfor i in $(seq
- 1 \"${MAX_REGISTER_ATTEMPTS}\"); do\n echo \"Registration attempt ${i} of ${MAX_REGISTER_ATTEMPTS}\"\n
- \ /entrypoint register \\\n --non-interactive\n\n retval=$?\n\n if [ ${retval}
- = 0 ]; then\n break\n elif [ ${i} = ${MAX_REGISTER_ATTEMPTS} ]; then\n exit
- 1\n fi\n\n sleep 5 \ndone\n\nexit 0\n"
- kind: ConfigMap
- metadata:
- labels:
- app: gitrunner-gitlab-runner
- chart: gitlab-runner-0.8.0-beta
- release: gitrunner
- name: gitrunner-gitlab-runner
|