From 89e23d4eeaf44dc4d8f85bc0ac6a59b4e1322fb1 Mon Sep 17 00:00:00 2001
From: Dixit Sabharwal <dixit.sabharwal@epfl.ch>
Date: Sat, 22 Jul 2023 14:06:32 +0200
Subject: [PATCH] Add helm charts and values for gitlab agentk and runner
 installs

---
 k8s/gitlab-agent/README.md                 |   7 +
 k8s/gitlab-agent/gitlab-agent-1.17.1.tgz   | Bin 0 -> 7347 bytes
 k8s/gitlab-agent/values.yaml               | 130 +++++
 k8s/gitlab-runner/README.md                |   7 +
 k8s/gitlab-runner/gitlab-runner-0.53.2.tgz | Bin 0 -> 21697 bytes
 k8s/gitlab-runner/values.yaml              | 575 +++++++++++++++++++++
 6 files changed, 719 insertions(+)
 create mode 100644 k8s/gitlab-agent/README.md
 create mode 100644 k8s/gitlab-agent/gitlab-agent-1.17.1.tgz
 create mode 100644 k8s/gitlab-agent/values.yaml
 create mode 100644 k8s/gitlab-runner/README.md
 create mode 100644 k8s/gitlab-runner/gitlab-runner-0.53.2.tgz
 create mode 100644 k8s/gitlab-runner/values.yaml

diff --git a/k8s/gitlab-agent/README.md b/k8s/gitlab-agent/README.md
new file mode 100644
index 00000000..b26b7251
--- /dev/null
+++ b/k8s/gitlab-agent/README.md
@@ -0,0 +1,7 @@
+### Deploy gitlab-agent using Helm chart
+
+---
+
+| Helm repository          | Helm chart          | Git repository                                    |
+| ------------------------ | ------------------- | ------------------------------------------------- |
+| https://charts.gitlab.io | gitlab/gitlab-agent | https://gitlab.com/gitlab-org/charts/gitlab-agent |
diff --git a/k8s/gitlab-agent/gitlab-agent-1.17.1.tgz b/k8s/gitlab-agent/gitlab-agent-1.17.1.tgz
new file mode 100644
index 0000000000000000000000000000000000000000..7fdd23cb606a800040e5cf7e796b1732bca70bce
GIT binary patch
literal 7347
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
M;*32fLl*-B0LDmj!2kdN

literal 0
HcmV?d00001

diff --git a/k8s/gitlab-agent/values.yaml b/k8s/gitlab-agent/values.yaml
new file mode 100644
index 00000000..b5677245
--- /dev/null
+++ b/k8s/gitlab-agent/values.yaml
@@ -0,0 +1,130 @@
+image:
+  repository: "registry.gitlab.com/gitlab-org/cluster-integration/gitlab-agent/agentk"
+  pullPolicy: IfNotPresent
+  # Overrides the image tag whose default is the chart appVersion.
+  tag: "v16.0.1"
+
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: "agentk"
+
+replicas: 1
+maxSurge: 1
+maxUnavailable: 0
+
+rbac:
+  # Specifies whether RBAC resources should be created
+  create: false
+  ## Set to a rolename to use existing role. Default is cluster-admin
+  # useExistingRole: somerolename
+
+serviceAccount:
+  # Specifies whether a service account should be created
+  create: true
+  # Annotations to add to the service account
+  annotations: {}
+  # The name of the service account to use.
+  # If not set and create is true, a name is generated using the fullname template
+  name: "gitlab-agentk"
+
+podSecurityContext: {}
+# fsGroup: 2000
+
+securityContext:
+  {}
+  # capabilities:
+  #   drop:
+  #   - ALL
+  # readOnlyRootFilesystem: true
+  # runAsNonRoot: true
+# runAsUser: 1000
+
+podAnnotations:
+  prometheus.io/scrape: "true"
+  prometheus.io/path: "/metrics"
+  prometheus.io/port: "8080"
+
+serviceMonitor:
+  # Specifies whether to create a ServiceMonitor resource for collecting Prometheus metrics
+  enabled: false
+
+config:
+  kasAddress: "wss://gitlab.epfl.ch//-/kubernetes-agent/"
+  # kasHeaders:
+  #   - "Cookie: gitlab-canary"
+  # token: "put your token here"
+  secretName: "gitlab-agentk-token"
+  # caCert: "PEM certificate file to use to verify config.kasAddress. Useful if config.kasAddress is self-signed."
+
+  observability:
+    enabled: true
+    # Application-level TLS configuration for the observability service
+    tls:
+      enabled: false
+      # cert: "Public key for the TLS certificate"
+      # key: "Private key for the TLS certificate"
+      secret:
+        {}
+        # create: false # when true, creates a certificate with values cert and key from above
+        # name: "gitlab-agent-observability"
+
+extraEnv: []
+# Add additional environment settings to the pod. Can be useful in proxy
+# environments
+
+extraArgs: []
+# Add additional args settings to the pod.
+
+extraVolumeMounts: []
+# Add extra volume mounts
+
+extraVolumes: []
+# Add extra volumes
+
+resources:
+  {}
+  # limits:
+  #   cpu: 100m
+  #   memory: 128Mi
+  # requests:
+  #   cpu: 100m
+  #   memory: 128Mi
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+priorityClassName: ""
+
+## list of hosts and IPs that will be injected into the pod's hosts file
+hostAliases:
+  []
+  # Example:
+  # - ip: "127.0.0.1"
+  #   hostnames:
+  #   - "foo.local"
+  #   - "bar.local"
+  # - ip: "10.1.2.3"
+  #   hostnames:
+  #   - "foo.remote"
+  #   - "bar.remote"
+
+# Labels to be added to each agent pod
+podLabels:
+  {}
+  # Example:
+  # role: developer
+
+# Additional labels to be added to all created objects
+additionalLabels: {}
+
+# Optional initContainers definition
+initContainers: []
+
+# Show the last 80 lines or 2048 bytes (whichever is smaller) of pod logs in kubectl describe output when container exits with non-zero exit code
+# Useful for when pod logs are cycled out of a node post-crash before an operator can capture the logs
+# Valid values are 'File' which is the Kubernetes API default, or 'FallbackToLogsOnError'
+# See https://kubernetes.io/docs/tasks/debug/debug-application/determine-reason-pod-failure/ for more information
+terminationMessagePolicy: FallbackToLogsOnError
diff --git a/k8s/gitlab-runner/README.md b/k8s/gitlab-runner/README.md
new file mode 100644
index 00000000..b4e93afe
--- /dev/null
+++ b/k8s/gitlab-runner/README.md
@@ -0,0 +1,7 @@
+### Deploy gitlab-runner using Helm chart
+
+---
+
+| Helm repository          | Helm chart           | Git repository                                     |
+| ------------------------ | -------------------- | -------------------------------------------------- |
+| https://charts.gitlab.io | gitlab/gitlab-runner | https://gitlab.com/gitlab-org/charts/gitlab-runner |
diff --git a/k8s/gitlab-runner/gitlab-runner-0.53.2.tgz b/k8s/gitlab-runner/gitlab-runner-0.53.2.tgz
new file mode 100644
index 0000000000000000000000000000000000000000..c725a76a099562c87f8c8caefb3d03623ddf969e
GIT binary patch
literal 21697
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
F1_0sc51s%3

literal 0
HcmV?d00001

diff --git a/k8s/gitlab-runner/values.yaml b/k8s/gitlab-runner/values.yaml
new file mode 100644
index 00000000..0baa6067
--- /dev/null
+++ b/k8s/gitlab-runner/values.yaml
@@ -0,0 +1,575 @@
+## GitLab Runner Image
+##
+## By default it's using registry.gitlab.com/gitlab-org/gitlab-runner:alpine-v{VERSION}
+## where {VERSION} is taken from Chart.yaml from appVersion field
+##
+## ref: https://gitlab.com/gitlab-org/gitlab-runner/container_registry/29383?orderBy=NAME&sort=asc&search[]=alpine-v&search[]=
+##
+## Note: If you change the image to the ubuntu release
+##       don't forget to change the securityContext;
+##       these images run on different user IDs.
+##
+image:
+  registry: registry.gitlab.com
+  image: gitlab-org/gitlab-runner
+  # tag: alpine-v11.6.0
+
+## When using GitLab Runner Helm Chart with gitlab-runner-ubi-images (https://gitlab.com/gitlab-org/ci-cd/gitlab-runner-ubi-images/container_registry)
+## the installation fails because dumb-init is not packaged in the image. However, the tini is present.
+## This configuration will allow gitlab-runner-ubi-images users to explicitly enabled the use of `tini` instead of `dumb-init`
+useTini: false
+
+## Specify a imagePullPolicy for the main runner deployment
+## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
+##
+## Note: it does not apply to job containers launched by this executor.
+## Use `pull_policy` in [runners.kubernetes] to change it.
+##
+## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
+##
+imagePullPolicy: IfNotPresent
+
+## Specifying ImagePullSecrets on a Pod
+## Kubernetes supports specifying container image registry keys on a Pod.
+## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
+##
+# imagePullSecrets:
+#   - name: "image-pull-secret"
+
+## Timeout, in seconds, for liveness and readiness probes of a runner pod.
+# probeTimeoutSeconds: 1
+
+# How many runner pods to launch.
+#
+replicas: 1
+
+# How many old ReplicaSets for this Deployment you want to retain
+revisionHistoryLimit: 3
+
+# The GitLab Server URL (with protocol) that want to register the runner against
+# ref: https://docs.gitlab.com/runner/commands/index.html#gitlab-runner-register
+#
+gitlabUrl: https://gitlab.epfl.ch/
+
+## DEPRECATED: The Registration Token for adding new Runners to the GitLab Server.
+##
+## ref: https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html
+##
+# runnerRegistrationToken: ""
+
+## The Runner Token for adding new Runners to the GitLab Server. This must
+## be retrieved from your GitLab Instance. It is token of already registered runner.
+## ref: (we don't yet have docs for that, but we want to use existing token)
+##
+# runnerToken: ""
+#
+
+## Unregister all runners before termination
+##
+## Updating the runner's chart version or configuration will cause the runner container
+## to be terminated and created again. This may cause your Gitlab instance to reference
+## non-existant runners. Un-registering the runner before termination mitigates this issue.
+## ref: https://docs.gitlab.com/runner/commands/index.html#gitlab-runner-unregister
+##
+# unregisterRunners: true
+
+## When stopping the runner, give it time to wait for its jobs to terminate.
+##
+## Updating the runner's chart version or configuration will cause the runner container
+## to be terminated with a graceful stop request. terminationGracePeriodSeconds
+## instructs Kubernetes to wait long enough for the runner pod to terminate gracefully.
+## ref: https://docs.gitlab.com/runner/commands/#signals
+terminationGracePeriodSeconds: 3600
+
+## Set the certsSecretName in order to pass custom certficates for GitLab Runner to use
+## Provide resource name for a Kubernetes Secret Object in the same namespace,
+## this is used to populate the /home/gitlab-runner/.gitlab-runner/certs/ directory
+## ref: https://docs.gitlab.com/runner/configuration/tls-self-signed.html#supported-options-for-self-signed-certificates-targeting-the-gitlab-server
+##
+# certsSecretName:
+
+## Configure the maximum number of concurrent jobs
+## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section
+##
+concurrent: 2
+
+## Defines in seconds how often to check GitLab for a new builds
+## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section
+##
+checkInterval: 60
+
+## Configure GitLab Runner's logging level. Available values are: debug, info, warn, error, fatal, panic
+## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section
+##
+# logLevel:
+
+## Configure GitLab Runner's logging format. Available values are: runner, text, json
+## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section
+##
+# logFormat:
+
+## Configure GitLab Runner's Sentry DSN.
+## ref https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-global-section
+##
+# sentryDsn:
+
+## A custom bash script that will be executed prior to the invocation
+## gitlab-runner process
+#
+#preEntrypointScript: |
+#  echo "hello"
+
+## Specify whether the runner should start the session server.
+## Defaults to false
+## ref:
+##
+## When sessionServer is enabled, the user can either provide a public publicIP
+## or rely on the external IP auto discovery
+## When a serviceAccountName is used with the automounting to the pod disable,
+## we recommend the usage of the publicIP
+sessionServer:
+  enabled: false
+  # annotations: {}
+  # timeout: 1800
+  # internalPort: 8093
+  # externalPort: 9000
+  # publicIP: ""
+  # loadBalancerSourceRanges:
+  #   - 1.2.3.4/32
+
+## For RBAC support:
+rbac:
+  create: true
+
+  ## Define list of rules to be added to the rbac role permissions.
+  ## Each rule supports the keys:
+  ## - apiGroups: default "" (indicates the core API group) if missing or empty.
+  ## - resources: default "*" if missing or empty.
+  ## - verbs: default "*" if missing or empty.
+  ##
+  ## Read more about the recommended rules on the following link
+  ##
+  ## ref: https://docs.gitlab.com/runner/executors/kubernetes.html#configuring-executor-service-account
+  ##
+  rules:
+    - apiGroups: [""]
+      resources: ["configmaps", "pods", "pods/attach", "secrets", "services"]
+      verbs: ["get", "list", "watch", "create", "patch", "update", "delete"]
+    - apiGroups: [""]
+      resources: ["pods/exec"]
+      verbs: ["create", "patch", "delete"]
+
+  ## Run the gitlab-bastion container with the ability to deploy/manage containers of jobs
+  ## cluster-wide or only within namespace
+  clusterWideAccess: false
+
+  ## Use the following Kubernetes Service Account name if RBAC is disabled in this Helm chart (see rbac.create)
+  ##
+  # serviceAccountName: default
+
+  ## Specify annotations for Service Accounts, useful for annotations such as eks.amazonaws.com/role-arn
+  ##
+  ## ref: https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html
+  ##
+  # serviceAccountAnnotations: {}
+
+  ## Use podSecurity Policy
+  ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
+  podSecurityPolicy:
+    enabled: false
+    resourceNames:
+      - gitlab-runner
+
+  ## Specify one or more imagePullSecrets used for pulling the runner image
+  ##
+  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account
+  ##
+  # imagePullSecrets: []
+
+## Configure integrated Prometheus metrics exporter
+##
+## ref: https://docs.gitlab.com/runner/monitoring/#configuration-of-the-metrics-http-server
+##
+metrics:
+  enabled: false
+
+  ## Define a name for the metrics port
+  ##
+  portName: metrics
+
+  ## Provide a port number for the integrated Prometheus metrics exporter
+  ##
+  port: 9252
+
+  ## Configure a prometheus-operator serviceMonitor to allow autodetection of
+  ## the scraping target. Requires enabling the service resource below.
+  ##
+  serviceMonitor:
+    enabled: false
+
+    ## Provide additional labels to the service monitor ressource
+    ##
+    ## labels: {}
+
+    ## Define a scrape interval (otherwise prometheus default is used)
+    ##
+    ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
+    ##
+    # interval: ""
+
+    ## Specify the scrape protocol scheme e.g., https or http
+    ##
+    # scheme: "http"
+
+    ## Supply a tls configuration for the service monitor
+    ##
+    ## ref: https://github.com/helm/charts/blob/master/stable/prometheus-operator/crds/crd-servicemonitor.yaml
+    ##
+    # tlsConfig: {}
+
+    ## The URI path where prometheus metrics can be scraped from
+    ##
+    # path: "/metrics"
+
+    ## A list of MetricRelabelConfigs to apply to samples before ingestion
+    ##
+    ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
+    ##
+    # metricRelabelings: []
+
+    ## A list of RelabelConfigs to apply to samples before scraping
+    ##
+    ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
+    ##
+    ## relabelings: []
+
+## Configure a service resource e.g., to allow scraping metrics via
+## prometheus-operator serviceMonitor
+service:
+  enabled: false
+
+  ## Provide additonal labels for the service
+  ##
+  # labels: {}
+
+  ## Provide additonal annotations for the service
+  ##
+  # annotations: {}
+
+  ## Define a specific ClusterIP if you do not want a dynamic one
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#choosing-your-own-ip-address
+  ##
+  # clusterIP: ""
+
+  ## Define a list of one or more external IPs for this service
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
+  ##
+  # externalIPs: []
+
+  ## Provide a specific loadbalancerIP e.g., of an external Loadbalancer
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
+  ##
+  # loadBalancerIP: ""
+
+  ## Provide a list of source IP ranges to have access to this service
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#aws-nlb-support
+  ##
+  # loadBalancerSourceRanges: []
+
+  ## Specify the service type e.g., ClusterIP, NodePort, Loadbalancer or ExternalName
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
+  ##
+  type: ClusterIP
+
+  ## Specify the services metrics nodeport if you use a service of type nodePort
+  ##
+  # metrics:
+
+  ## Specify the node port under which the prometheus metrics of the runner are made
+  ## available.
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport
+  ##
+  # nodePort: ""
+
+  ## Provide a list of additional ports to be exposed by this service
+  ##
+  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
+  ##
+  # additionalPorts: []
+
+## Configuration for the Pods that the runner launches for each new job
+##
+runners:
+  # runner configuration, where the multi line strings is evaluated as
+  # template so you can specify helm values inside of it.
+  #
+  # tpl: https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function
+  # runner configuration: https://docs.gitlab.com/runner/configuration/advanced-configuration.html
+  config: |
+    [[runners]]
+      [runners.kubernetes]
+        namespace = "{{.Release.Namespace}}"
+        image = "ubuntu:16.04"
+      [runners.kubernetes.dns_config]
+        nameservers = ["8.8.8.8"]
+
+  ## Which executor should be used
+  ##
+  # executor: kubernetes
+
+  ## DEPRECATED: Specify whether the runner should be locked to a specific project: true, false.
+  ##
+  ## ref: https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html
+  ##
+  # locked: true
+
+  ## DEPRECATED: Specify the tags associated with the runner. Comma-separated list of tags.
+  ##
+  ## ref: https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html
+  ##
+  # tags: ""
+
+  ## Specify the name for the runner.
+  ##
+  # name: ""
+
+  ## DEPRECATED:Specify the maximum timeout (in seconds) that will be set for job when using this Runner
+  ##
+  ## ref: https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html
+  ##
+  # maximumTimeout: ""
+
+  ## DEPRECATED: Specify if jobs without tags should be run.
+  ##
+  ## ref: https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html
+  ##
+  # runUntagged: true
+
+  ## DEPRECATED: Specify whether the runner should only run protected branches.
+  ##
+  ## ref: https://docs.gitlab.com/ee/ci/runners/new_creation_workflow.html
+  ##
+  # protected: true
+
+  ## The name of the secret containing runner-token and runner-registration-token
+  # secret: gitlab-runner
+
+  ## Distributed runners caching
+  ## ref: https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching
+  ##
+  ## If you want to use s3 based distributing caching:
+  ## First of all you need to uncomment General settings and S3 settings sections.
+  ##
+  ## Create a secret 's3access' containing 'accesskey' & 'secretkey'
+  ## ref: https://aws.amazon.com/blogs/security/wheres-my-secret-access-key/
+  ##
+  ## $ kubectl create secret generic s3access \
+  ##   --from-literal=accesskey="YourAccessKey" \
+  ##   --from-literal=secretkey="YourSecretKey"
+  ## ref: https://kubernetes.io/docs/concepts/configuration/secret/
+  ##
+  ## If you want to use gcs based distributing caching:
+  ## First of all you need to uncomment General settings and GCS settings sections.
+  ##
+  ## Access using credentials file:
+  ## Create a secret 'google-application-credentials' containing your application credentials file.
+  ## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnerscachegcs-section
+  ## You could configure
+  ## $ kubectl create secret generic google-application-credentials \
+  ##   --from-file=gcs-application-credentials-file=./path-to-your-google-application-credentials-file.json
+  ## ref: https://kubernetes.io/docs/concepts/configuration/secret/
+  ##
+  ## Access using access-id and private-key:
+  ## Create a secret 'gcsaccess' containing 'gcs-access-id' & 'gcs-private-key'.
+  ## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnerscachegcs-section
+  ## You could configure
+  ## $ kubectl create secret generic gcsaccess \
+  ##   --from-literal=gcs-access-id="YourAccessID" \
+  ##   --from-literal=gcs-private-key="YourPrivateKey"
+  ## ref: https://kubernetes.io/docs/concepts/configuration/secret/
+  ##
+  ## If you want to use Azure-based distributed caching:
+  ## First, uncomment General settings.
+  ##
+  ## Create a secret 'azureaccess' containing 'azure-account-name' & 'azure-account-key'
+  ## ref: https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction
+  ##
+  ## $ kubectl create secret generic azureaccess \
+  ##   --from-literal=azure-account-name="YourAccountName" \
+  ##   --from-literal=azure-account-key="YourAccountKey"
+  ## ref: https://kubernetes.io/docs/concepts/configuration/secret/
+
+  cache:
+    {}
+    ## S3 the name of the secret.
+    # secretName: s3access
+    ## Use this line for access using gcs-access-id and gcs-private-key
+    # secretName: gcsaccess
+    ## Use this line for access using google-application-credentials file
+    # secretName: google-application-credentials
+    ## Use this line for access using Azure with azure-account-name and azure-account-key
+    # secretName: azureaccess
+
+## Specify the name of the scheduler which used to schedule runner pods.
+## Kubernetes supports multiple scheduler configurations.
+## ref: https://kubernetes.io/docs/reference/scheduling
+# schedulerName: "my-custom-scheduler"
+
+## Configure securitycontext for the main container
+## ref: http://kubernetes.io/docs/user-guide/security-context/
+##
+securityContext:
+  allowPrivilegeEscalation: false
+  readOnlyRootFilesystem: false
+  runAsNonRoot: true
+  privileged: false
+  capabilities:
+    drop: ["ALL"]
+
+## Configure securitycontext valid for the whole pod
+## ref: http://kubernetes.io/docs/user-guide/security-context/
+##
+podSecurityContext:
+  runAsUser: 100
+  # runAsGroup: 65533
+  fsGroup: 65533
+  # supplementalGroups: [65533]
+
+  ## Note: values for the ubuntu image:
+  # runAsUser: 999
+  # fsGroup: 999
+
+## Configure resource requests and limits
+## ref: http://kubernetes.io/docs/user-guide/compute-resources/
+##
+resources:
+  {}
+  # limits:
+  #   memory: 256Mi
+  #   cpu: 200m
+  # requests:
+  #   memory: 128Mi
+  #   cpu: 100m
+
+## Affinity for pod assignment
+## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
+##
+affinity: {}
+
+## Node labels for pod assignment
+## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+##
+nodeSelector:
+  {}
+  # Example: The gitlab runner manager should not run on spot instances so you can assign
+  # them to the regular worker nodes only.
+  # node-role.kubernetes.io/worker: "true"
+
+## List of node taints to tolerate (requires Kubernetes >= 1.6)
+## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations:
+  []
+  # Example: Regular worker nodes may have a taint, thus you need to tolerate the taint
+  # when you assign the gitlab runner manager with nodeSelector or affinity to the nodes.
+  # - key: "node-role.kubernetes.io/worker"
+  #   operator: "Exists"
+
+## Configure environment variables that will be present when the registration command runs
+## This provides further control over the registration process and the config.toml file
+## ref: `gitlab-runner register --help`
+## ref: https://docs.gitlab.com/runner/configuration/advanced-configuration.html
+##
+# envVars:
+#   - name: RUNNER_EXECUTOR
+#     value: kubernetes
+
+## list of hosts and IPs that will be injected into the pod's hosts file
+hostAliases:
+  []
+  # Example:
+  # - ip: "127.0.0.1"
+  #   hostnames:
+  #   - "foo.local"
+  #   - "bar.local"
+  # - ip: "10.1.2.3"
+  #   hostnames:
+  #   - "foo.remote"
+  #   - "bar.remote"
+
+## Annotations to be added to manager pod
+##
+podAnnotations:
+  {}
+  # Example:
+  # iam.amazonaws.com/role: <my_role_arn>
+
+## Labels to be added to manager pod
+##
+podLabels:
+  {}
+  # Example:
+  # owner.team: <my_cool_team>
+
+## HPA support for custom metrics:
+## This section enables runners to autoscale based on defined custom metrics.
+## In order to use this functionality, Need to enable a custom metrics API server by
+## implementing "custom.metrics.k8s.io" using supported third party adapter
+## Example: https://github.com/directxman12/k8s-prometheus-adapter
+##
+#hpa: {}
+# minReplicas: 1
+# maxReplicas: 10
+# metrics:
+# - type: Pods
+#   pods:
+#     metricName: gitlab_runner_jobs
+#     targetAverageValue: 400m
+
+## Configure priorityClassName for manager pod. See k8s docs for more info on how pod priority works:
+##  https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
+priorityClassName: ""
+
+## Secrets to be additionally mounted to the containers.
+## All secrets are mounted through init-runner-secrets volume
+## and placed as readonly at /init-secrets in the init container
+## and finally copied to an in-memory volume runner-secrets that is
+## mounted at /secrets.
+secrets:
+  []
+  # Example:
+  # - name: my-secret
+  # - name: myOtherSecret
+  #   items:
+  #     - key: key_one
+  #       path: path_one
+
+## Additional config files to mount in the containers in `/configmaps`.
+##
+## Please note that a number of keys are reserved by the runner.
+## See https://gitlab.com/gitlab-org/charts/gitlab-runner/-/blob/main/templates/configmap.yaml
+## for a current list.
+configMaps: {}
+
+## Additional volumeMounts to add to the runner container
+##
+volumeMounts:
+  []
+  # Example:
+  # - name: my-volume
+  #   mountPath: /mount/path
+
+## Additional volumes to add to the runner deployment
+##
+volumes:
+  []
+  # Example:
+  # - name: my-volume
+  #   persistentVolumeClaim:
+  #     claimName: my-pvc
-- 
GitLab