gitlab-runner
DeimosCloud/gitlab-runner/kubernetes
Setup Gitlab Runner on cluster using terraform
Terraform Kubernetes Gitlab-Runner Module Setup Gitlab Runner on cluster using terraform. The runner is installed via the Gitlab Runner Helm Chart Ensure Kubernetes Provider and Helm Provider settings are correct https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/guides/getting-started#provider-setup Usage ``hcl module "gitlab_runner" { source = "DeimosCloud/gitlab-runner/kubernetes" release_name = "${var.project_name}-runner-${var.environment}" runner_tags = var.runner_tags runner_registration_token = var.runner_registration_token default_runner_image = var.default_runner_image namespace = var.gitlab_runner_namespace # Pass annotations to service account. This can be for workload/pod/ identity service_account_annotations = { "iam.gke.io/gcp-service-account" = module.
| Name | Type | Description | Default |
|---|---|---|---|
| runner_name | string | name of the runner | required |
| build_dir | string | Path on nodes for caching | required |
| build_job_run_container_as_user | string | SecurityContext: runAsUser for all running job pods | required |
| values_file | string | Path to Values file to be passed to gitlab-runner helm chart | required |
| runner_registration_token | string | runner registration token | required |
| runner_token | string | token of already registered runer. to use this var.runner_registration_token mus | required |
| runner_image | string | The docker gitlab runner version. https://hub.docker.com/r/gitlab/gitlab-runner/ | required |
| runner_tags | string | Specify the tags associated with the runner. Comma-separated list of tags. | required |
| additional_secrets | list(map(string)) | additional secrets to mount into the manager pods | [] |
| service_account_annotations | map | The annotations to add to the service account | {} |
| build_job_pod_labels | map | A map of labels to be added to each build pod created by the runner. The value o | {} |
| manager_pod_labels | map | A map of labels to be added to each build pod created by the runner. The value o | {} |
| manager_pod_annotations | map | A map of annotations to be added to each build pod created by the Runner. The va | {} |
| manager_node_tolerations | map | A map of node tolerations to apply to the pods as defined https://docs.gitlab.co | {} |
| unregister_runners | bool | whether runners should be unregistered when pool is deprovisioned | true |
| service_account | string | The name of the Service account to create | "gitlab-runner" |
| runner_locked | string | Specify whether the runner should be locked to a specific project/group | true |
| build_job_default_container_image | string | Default container image to use for builds when none is specified | "ubuntu:18.04" |
| build_job_mount_docker_socket | bool | Path on nodes for caching | false |
| replicas | number | the number of manager pods to create | 1 |
| concurrent | number | Configure the maximum number of concurrent jobs | 10 |
| local_cache_dir | string | Path on nodes for caching | "/tmp/gitlab/cache" |
| build_job_secret_volumes | object({ name = stri | Secret volume configuration instructs Kubernetes to use a secret that is defined | {
"items": {},
"mount_path": null,
|
| cache | object({ type = string | Describes the properties of the cache. type can be either of ['local', 'gcs', 's | {
"azure": {},
"gcs": {},
"path": |
| namespace | string | "gitlab-runner" | |
| create_namespace | bool | (Optional) Create the namespace if it does not yet exist. Defaults to false. | true |
| service_account_clusterwide_access | bool | Run the gitlab-bastion container with the ability to deploy/manage containers of | false |
| build_job_requests | map(any) | The CPU allocation given to and the requested for build containers | {
"cpu": "1",
"memory": "512Mi"
} |
| … and 3 more inputs | |||
chart_version — The chart versionnamespace — The namespace gitlab-runner was deployed inrelease_name — The helm release nameAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,