gitrunner-cm.yaml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. apiVersion: v1
  2. items:
  3. - apiVersion: v1
  4. data:
  5. check-live: |
  6. #!/bin/bash
  7. if /usr/bin/pgrep -f .*register-the-runner; then
  8. exit 0
  9. elif /usr/bin/pgrep gitlab.*runner; then
  10. exit 0
  11. else
  12. exit 1
  13. fi
  14. config.toml: |
  15. concurrent = 10
  16. check_interval = 0
  17. log_level = "info"
  18. listen_address = '[::]:9252'
  19. configure: |
  20. set -e
  21. cp /init-secrets/* /secrets
  22. entrypoint: |
  23. #!/bin/bash
  24. set -e
  25. mkdir -p /home/gitlab-runner/.gitlab-runner/
  26. cp /scripts/config.toml /home/gitlab-runner/.gitlab-runner/
  27. # Register the runner
  28. if [[ -f /secrets/accesskey && -f /secrets/secretkey ]]; then
  29. export CACHE_S3_ACCESS_KEY=$(cat /secrets/accesskey)
  30. export CACHE_S3_SECRET_KEY=$(cat /secrets/secretkey)
  31. fi
  32. if [[ -f /secrets/gcs-applicaton-credentials-file ]]; then
  33. export GOOGLE_APPLICATION_CREDENTIALS="/secrets/gcs-applicaton-credentials-file"
  34. else
  35. if [[ -f /secrets/gcs-access-id && -f /secrets/gcs-private-key ]]; then
  36. export CACHE_GCS_ACCESS_ID=$(cat /secrets/gcs-access-id)
  37. # echo -e used to make private key multiline (in google json auth key private key is oneline with \n)
  38. export CACHE_GCS_PRIVATE_KEY=$(echo -e $(cat /secrets/gcs-private-key))
  39. fi
  40. fi
  41. if [[ -f /secrets/runner-registration-token ]]; then
  42. export REGISTRATION_TOKEN=$(cat /secrets/runner-registration-token)
  43. fi
  44. if [[ -f /secrets/runner-token ]]; then
  45. export CI_SERVER_TOKEN=$(cat /secrets/runner-token)
  46. fi
  47. if ! sh /scripts/register-the-runner; then
  48. exit 1
  49. fi
  50. # Temporary workaround until https://gitlab.com/gitlab-org/gitlab-runner/issues/4228
  51. # is merged
  52. sed -n '30,$p' /home/gitlab-runner/.gitlab-runner/config.toml >> /home/gitlab-runner/custom_commands
  53. sed -e '30,$d' -i /home/gitlab-runner/.gitlab-runner/config.toml
  54. cat /scripts/kubernetes.volumes | sed -e '1d' | sed '1,$s/^/ /' >> /home/gitlab-runner/.gitlab-runner/config.toml
  55. cat /home/gitlab-runner/custom_commands >> /home/gitlab-runner/.gitlab-runner/config.toml
  56. # Start the runner
  57. /entrypoint run --user=gitlab-runner \
  58. --working-directory=/home/gitlab-runner
  59. kubernetes.volumes: "\n[[runners.kubernetes.volumes.pvc]]\n mount_path = \"/cache/\"\n
  60. \ name = \"gitrunner-workspace\"\n read_only = false\n \n[[runners.kubernetes.volumes.secret]]\n
  61. \ mount_path = \"/mnt\"\n name = \"limit-ns-kubeconfig\"\n read_only = true\n
  62. \ \n"
  63. register-the-runner: "#!/bin/bash\nMAX_REGISTER_ATTEMPTS=30\n\nfor i in $(seq
  64. 1 \"${MAX_REGISTER_ATTEMPTS}\"); do\n echo \"Registration attempt ${i} of ${MAX_REGISTER_ATTEMPTS}\"\n
  65. \ /entrypoint register \\\n --non-interactive\n\n retval=$?\n\n if [ ${retval}
  66. = 0 ]; then\n break\n elif [ ${i} = ${MAX_REGISTER_ATTEMPTS} ]; then\n exit
  67. 1\n fi\n\n sleep 5 \ndone\n\nexit 0\n"
  68. kind: ConfigMap
  69. metadata:
  70. creationTimestamp: "2019-08-14T05:40:29Z"
  71. labels:
  72. app: gitrunner-gitlab-runner
  73. chart: gitlab-runner-0.8.0-beta
  74. heritage: Tiller
  75. release: gitrunner
  76. name: gitrunner-gitlab-runner
  77. namespace: default
  78. resourceVersion: "19191198"
  79. selfLink: /api/v1/namespaces/default/configmaps/gitrunner-gitlab-runner
  80. uid: 06a04ee7-be56-11e9-bf75-f80f41f27da1
  81. kind: List
  82. metadata:
  83. resourceVersion: ""
  84. selfLink: ""