2
0

runner-cm.yaml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. apiVersion: v1
  2. data:
  3. check-live: |
  4. #!/bin/bash
  5. if /usr/bin/pgrep -f .*register-the-runner; then
  6. exit 0
  7. elif /usr/bin/pgrep gitlab.*runner; then
  8. exit 0
  9. else
  10. exit 1
  11. fi
  12. config.toml: |
  13. concurrent = 10
  14. check_interval = 30
  15. log_level = "info"
  16. listen_address = '[::]:9252'
  17. configure: |
  18. set -e
  19. cp /init-secrets/* /secrets
  20. entrypoint: |
  21. #!/bin/bash
  22. set -e
  23. mkdir -p /home/gitlab-runner/.gitlab-runner/
  24. cp /scripts/config.toml /home/gitlab-runner/.gitlab-runner/
  25. # Register the runner
  26. if [[ -f /secrets/accesskey && -f /secrets/secretkey ]]; then
  27. export CACHE_S3_ACCESS_KEY=$(cat /secrets/accesskey)
  28. export CACHE_S3_SECRET_KEY=$(cat /secrets/secretkey)
  29. fi
  30. if [[ -f /secrets/gcs-applicaton-credentials-file ]]; then
  31. export GOOGLE_APPLICATION_CREDENTIALS="/secrets/gcs-applicaton-credentials-file"
  32. else
  33. if [[ -f /secrets/gcs-access-id && -f /secrets/gcs-private-key ]]; then
  34. export CACHE_GCS_ACCESS_ID=$(cat /secrets/gcs-access-id)
  35. # echo -e used to make private key multiline (in google json auth key private key is oneline with \n)
  36. export CACHE_GCS_PRIVATE_KEY=$(echo -e $(cat /secrets/gcs-private-key))
  37. fi
  38. fi
  39. if [[ -f /secrets/runner-registration-token ]]; then
  40. export REGISTRATION_TOKEN=$(cat /secrets/runner-registration-token)
  41. fi
  42. if [[ -f /secrets/runner-token ]]; then
  43. export CI_SERVER_TOKEN=$(cat /secrets/runner-token)
  44. fi
  45. if ! sh /scripts/register-the-runner; then
  46. exit 1
  47. fi
  48. # Start the runner
  49. /entrypoint run --user=gitlab-runner \
  50. --working-directory=/home/gitlab-runner
  51. register-the-runner: "#!/bin/bash\nMAX_REGISTER_ATTEMPTS=30\n\nfor i in $(seq
  52. 1 \"${MAX_REGISTER_ATTEMPTS}\"); do\n echo \"Registration attempt ${i} of ${MAX_REGISTER_ATTEMPTS}\"\n
  53. \ /entrypoint register \\\n --non-interactive\n\n retval=$?\n\n if [ ${retval}
  54. = 0 ]; then\n break\n elif [ ${i} = ${MAX_REGISTER_ATTEMPTS} ]; then\n exit
  55. 1\n fi\n\n sleep 5 \ndone\n\nexit 0\n"
  56. kind: ConfigMap
  57. metadata:
  58. labels:
  59. app: gitlab-runner-gitlab-runner
  60. chart: gitlab-runner-0.7.0
  61. release: gitlab-runner
  62. name: gitlab-runner-gitlab-runner