Skip to content

chore(deps): update helm release gitlab to v10.2.1 - #4931

Merged
rxbn merged 1 commit into
masterfrom
renovate/gitlab-and-gitlab-runner
Jul 29, 2026
Merged

chore(deps): update helm release gitlab to v10.2.1#4931
rxbn merged 1 commit into
masterfrom
renovate/gitlab-and-gitlab-runner

Conversation

@renovate

@renovate renovate Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
gitlab (source) patch 10.2.010.2.1

Release Notes

gitlab-org/charts/gitlab (gitlab)

v10.2.1

Compare Source


Configuration

📅 Schedule: (in timezone Europe/Zurich)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions

Copy link
Copy Markdown

Path: apps/gitlab/gitlab/gitlab/helmrelease.yaml
Version: 10.2.0 -> 10.2.1

@@ -849,8 +849,8 @@
 release: gitlab
 heritage: Helm
 data:
- gitlabVersion: "19.2.0"
- gitlabChartVersion: "10.2.0"
+ gitlabVersion: "19.2.1"
+ gitlabChartVersion: "10.2.1"
 ---
 # Source: gitlab/charts/gitlab/charts/gitaly/templates/service.yaml
 apiVersion: v1
@@ -980,13 +980,13 @@
 heritage: Helm
 app.kubernetes.io/name: gitlab
 annotations:
- checksum/config: 125faf496213cdc432b866431bd32c23e57f01323d64c1dadcf729639fec4799
- checksum/config-sshd: 5c37dc2f3bd9bdc763bd113a2fe6a455a55006ba76a065aa1edc2e8e125c695d
+ checksum/config: 2f2490b5b336d5c6a17cf0b7c58b89e32937bdc8e92294c501976e6ecc830d22
+ checksum/config-sshd: 940b89189a348e29496be10dba80f7c1277fb85ddb436b2714172e63b9036dbe
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 spec:
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1011,7 +1011,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1183,7 +1183,7 @@
 app.kubernetes.io/name: gitlab
 queue-pod-name: all-in-1
 annotations:
- checksum/configmap: 365d0afd1d0e5a6bf5adf90a19d76a2f295dae6b61066d08e3af098262ea96ae
+ checksum/configmap: 24db1427e490bce43da7e226d5293516323270626f9b5e6dff2c7b9c94631a05
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 gitlab.com/prometheus_scrape: "true"
 gitlab.com/prometheus_port: "3807"
@@ -1211,7 +1211,7 @@
 terminationGracePeriodSeconds: 30
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1237,7 +1237,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1262,7 +1262,7 @@
 requests:
 cpu: 50m
 - name: dependencies
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1307,7 +1307,7 @@
 cpu: 50m
 containers:
 - name: sidekiq
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1517,7 +1517,7 @@
 heritage: Helm
 app.kubernetes.io/name: gitlab
 annotations:
- checksum/config: 51fd19857227e0a07a25d5a91d2dbbb56d404db8ad4eb230a319cd05c5fe2fb3
+ checksum/config: b3b117958914f8816127956f674515fb4ce8e6c910cbf8f4a002a139082eca3d
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 spec:
 securityContext:
@@ -1553,7 +1553,7 @@
 - name: toolbox-secrets
 mountPath: /init-secrets
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1579,7 +1579,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1619,7 +1619,7 @@
 - /bin/bash
 - -c
 - cp -v -r -L /etc/gitlab/.s3cfg $HOME/.s3cfg && while sleep 3600; do :; done # alpine sleep has no infinity
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1877,7 +1877,7 @@
 app.kubernetes.io/name: gitlab
 gitlab.com/webservice-name: default
 annotations:
- checksum/config: 4dae537b3d43ccd9470a9975e080d88c6bfe8ef484c3cb313ad2a994cf976400
+ checksum/config: 876f24980a4d7c233ceb16497634c77b17ef5528343c3b79d15c25fcecac0e22
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 gitlab.com/prometheus_scrape: "true"
 gitlab.com/prometheus_port: "8083"
@@ -1905,7 +1905,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1932,7 +1932,7 @@
 - name: configure
 command: ['sh']
 args: ['-c', 'sh -x /config-webservice/configure ; sh -x /config-workhorse/configure ; mkdir -p -m 3770 /tmp/gitlab']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1966,7 +1966,7 @@
 requests:
 cpu: 50m
 - name: dependencies
- image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2008,7 +2008,7 @@
 cpu: 50m
 containers:
 - name: webservice
- image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2117,7 +2117,7 @@
 cpu: 300m
 memory: 2.5G
 - name: gitlab-workhorse
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2354,7 +2354,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2379,7 +2379,7 @@
 requests:
 cpu: 50m
 - name: configure
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2654,7 +2654,7 @@
 heritage: Helm
 app.kubernetes.io/name: gitlab
 annotations:
- checksum/config: d988e3758e2fb33eeac292ca0aa9fe3894aec79e2a2af695b3c49516fbcde2ad
+ checksum/config: d42e50b94079dd49ac227fc4143f53e53feabbfe98b575d72f9fa3cff7a1a3f6
 gitlab.com/prometheus_scrape: "true"
 gitlab.com/prometheus_port: "9236"
 gitlab.com/prometheus_path: /metrics
@@ -2665,7 +2665,7 @@
 terminationGracePeriodSeconds: 30
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2690,7 +2690,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2729,7 +2729,7 @@
 automountServiceAccountToken: false
 containers:
 - name: gitaly
- image: "registry.gitlab.com/gitlab-org/build/cng/gitaly:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitaly:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2849,7 +2849,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-migrations-f4ca7ae
+ name: gitlab-migrations-0f66da1
 namespace: default
 labels:
 app: migrations
@@ -2873,7 +2873,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2898,7 +2898,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2924,7 +2924,7 @@
 restartPolicy: OnFailure
 containers:
 - name: migrations
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.2.1"
 args:
 - /bin/bash
 - -c
@@ -3049,7 +3049,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-registry-migrations-92ba573
+ name: gitlab-registry-migrations-9e5f26a
 namespace: default
 labels:
 app: registry-migrations
@@ -3072,7 +3072,7 @@
 type: RuntimeDefault
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3097,7 +3097,7 @@
 requests:
 cpu: 50m
 - name: configure
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3215,11 +3215,11 @@
 metadata:
 labels:
 app: toolbox
- chart: toolbox-10.2.0
+ chart: toolbox-10.2.1
 release: gitlab
 heritage: Helm
 annotations:
- checksum/config: 51fd19857227e0a07a25d5a91d2dbbb56d404db8ad4eb230a319cd05c5fe2fb3
+ checksum/config: b3b117958914f8816127956f674515fb4ce8e6c910cbf8f4a002a139082eca3d
 cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
 spec:
 restartPolicy: OnFailure
@@ -3255,7 +3255,7 @@
 - name: toolbox-secrets
 mountPath: /init-secrets
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v19.2.1
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3281,7 +3281,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3311,7 +3311,7 @@
 - /bin/bash
 - -c
 - cp /etc/gitlab/.s3cfg $HOME/.s3cfg && backup-utility --backend-data s3 --backend-backup s3 --s3tool-data s3cmd --s3tool-backup s3cmd --s3config /etc/gitlab/backup-object-storage.s3cfg --maximum-backups 3 # alpine sleep has no infinity
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v19.2.1"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3553,7 +3553,7 @@
 "helm.sh/hook-weight": "-3"
 "helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation
 data:
- generate-secrets: "# vim: set filetype=sh:\n\n# Fail fast on errors.\nset -e\nset -o pipefail\n\nnamespace=default\nrelease=gitlab\nenv=production\n\npushd $(mktemp -d)\n\n# Args pattern, length\nfunction gen_random(){\n head -c 4096 /dev/urandom | LC_CTYPE=C tr -cd $1 | head -c $2\n}\n\n# Args: length\nfunction gen_random_base64(){\n local len=\"$1\"\n gen_random_bytes \"$len\" | base64 -w0\n}\n\n# Args: length\nfunction gen_random_bytes(){\n local len=\"$1\"\n head -c \"$len\" /dev/urandom\n}\n\n# Args: yaml file, search path\nfunction fetch_rails_value(){\n local value=$(yq --prettyPrint --no-colors \".${2}\" $1)\n\n # Don't return null values\n if [ \"${value}\" != \"null\" ]; then echo \"${value}\"; fi\n}\n\n# Args: secretname\nfunction label_secret(){\n local secret_name=$1\n# Remove application labels if they exist\n kubectl --namespace=$namespace label \\\n secret $secret_name $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\n\n kubectl --namespace=$namespace label \\\n --overwrite \\\n secret $secret_name app=gitlab chart=gitlab-10.2.0 release=gitlab heritage=Helm \n}\n\n# Args: secretname, args\nfunction generate_secret_if_needed(){\n local secret_args=( \"${@:2}\")\n local secret_name=$1\n\n if ! $(kubectl --namespace=$namespace get secret $secret_name > /dev/null 2>&1); then\n kubectl --namespace=$namespace create secret generic $secret_name ${secret_args[@]}\n else\n echo \"secret \\\"$secret_name\\\" already exists.\"\n\n for arg in \"${secret_args[@]}\"; do\n local from=$(echo -n ${arg} | cut -d '=' -f1)\n\n if [ -z \"${from##*literal*}\" ]; then\n local key=$(echo -n ${arg} | cut -d '=' -f2)\n local desiredValue=$(echo -n ${arg} | cut -d '=' -f3-)\n local flags=\"--namespace=$namespace --allow-missing-template-keys=false\"\n\n if ! $(kubectl $flags get secret $secret_name -ojsonpath=\"{.data.${key}}\" > /dev/null 2>&1); then\n echo \"key \\\"${key}\\\" does not exist. patching it in.\"\n\n if [ \"${desiredValue}\" != \"\" ]; then\n desiredValue=$(echo -n \"${desiredValue}\" | base64 -w 0)\n fi\n\n kubectl --namespace=$namespace patch secret ${secret_name} -p \"{\\\"data\\\":{\\\"$key\\\":\\\"${desiredValue}\\\"}}\"\n fi\n fi\n done\n fi\n\n label_secret $secret_name\n}\n\n# Initial root password\ngenerate_secret_if_needed \"gitlab-gitlab-initial-root-password\" --from-literal=\"password\"=$(gen_random 'a-zA-Z0-9' 64)\n\n# Gitlab shell\ngenerate_secret_if_needed \"gitlab-gitlab-shell-secret\" --from-literal=\"secret\"=$(gen_random 'a-zA-Z0-9' 64)\n\n# Gitaly secret\ngenerate_secret_if_needed \"gitlab-gitaly-secret\" --from-literal=\"token\"=$(gen_random 'a-zA-Z0-9' 64)\n\n# Gitlab runner secret\ngenerate_secret_if_needed \"gitlab-gitlab-runner-secret\" --from-literal=runner-registration-token=$(gen_random 'a-zA-Z0-9' 64) --from-literal=runner-token=\"\"\n\n# GitLab Pages API secret\n\n\n# GitLab Pages auth secret for hashing cookie store when using access control\n\n\n# GitLab Pages OAuth secret\n\n\n\n\n\n\n\n\n# Registry certificates\nmkdir -p certs\nopenssl req -new -newkey rsa:4096 -subj \"/CN=gitlab-issuer\" -nodes -x509 -keyout certs/registry-example-com.key -out certs/registry-example-com.crt -days 3650\ngenerate_secret_if_needed \"gitlab-registry-secret\" --from-file=registry-auth.key=certs/registry-example-com.key --from-file=registry-auth.crt=certs/registry-example-com.crt\n\n# config/secrets.yaml\nif [ -n \"$env\" ]; then\n rails_secret=\"gitlab-rails-secret\"\n\n # Fetch the values from the existing secret if it exists\n if $(kubectl --namespace=$namespace get secret $rails_secret > /dev/null 2>&1); then\n kubectl --namespace=$namespace get secret $rails_secret -o jsonpath=\"{.data.secrets\\.yml}\" | base64 --decode > secrets.yml\n secret_key_base=$(fetch_rails_value secrets.yml \"${env}.secret_key_base\")\n otp_key_base=$(fetch_rails_value secrets.yml \"${env}.otp_key_base\")\n db_key_base=$(fetch_rails_value secrets.yml \"${env}.db_key_base\")\n openid_connect_signing_key=$(fetch_rails_value secrets.yml \"${env}.openid_connect_signing_key\")\n encrypted_settings_key_base=$(fetch_rails_value secrets.yml \"${env}.encrypted_settings_key_base\")\n\n active_record_encryption_primary_keys=$(fetch_rails_value secrets.yml \"${env}.active_record_encryption_primary_key\")\n active_record_encryption_deterministic_keys=$(fetch_rails_value secrets.yml \"${env}.active_record_encryption_deterministic_key\")\n active_record_encryption_key_derivation_salt=$(fetch_rails_value secrets.yml \"${env}.active_record_encryption_key_derivation_salt\")\n fi;\n\n # Generate defaults for any unset secrets\n secret_key_base=\"${secret_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n otp_key_base=\"${otp_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n db_key_base=\"${db_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n openid_connect_signing_key=\"${openid_connect_signing_key:-$(openssl genrsa 2048)}\"\n encrypted_settings_key_base=\"${encrypted_settings_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n\n # 1. We set the following two keys as an array to support keys rotation.\n # The last key in the array is always used to encrypt data:\n # https://github.com/rails/rails/blob/v7.0.8.4/activerecord/lib/active_record/encryption/key_provider.rb#L21\n # while all the keys are used (in the order they're defined) to decrypt data:\n # https://github.com/rails/rails/blob/v7.0.8.4/activerecord/lib/active_record/encryption/cipher.rb#L26.\n # This allows to rotate keys by adding a new key as the last key, and start a re-encryption process that\n # runs in the background: https://gitlab.com/gitlab-org/gitlab/-/issues/494976\n # 2. We use the same method and length as Rails' defaults:\n # https://github.com/rails/rails/blob/v7.0.8.4/activerecord/lib/active_record/railties/databases.rake#L537-L540\n active_record_encryption_primary_keys=${active_record_encryption_primary_keys:-\"- $(gen_random 'a-zA-Z0-9' 32)\"}\n active_record_encryption_deterministic_keys=${active_record_encryption_deterministic_keys:-\"- $(gen_random 'a-zA-Z0-9' 32)\"}\n active_record_encryption_key_derivation_salt=${active_record_encryption_key_derivation_salt:-$(gen_random 'a-zA-Z0-9' 32)}\n\n # Update the existing secret\n cat << EOF > rails-secrets.yml\napiVersion: v1\nkind: Secret\nmetadata:\n name: $rails_secret\ntype: Opaque\nstringData:\n secrets.yml: |-\n $env:\n secret_key_base: $secret_key_base\n otp_key_base: $otp_key_base\n db_key_base: $db_key_base\n encrypted_settings_key_base: $encrypted_settings_key_base\n openid_connect_signing_key: |\n$(echo \"${openid_connect_signing_key}\" | awk '{print \" \" $0}')\n active_record_encryption_primary_key:\n $active_record_encryption_primary_keys\n active_record_encryption_deterministic_key:\n $active_record_encryption_deterministic_keys\n active_record_encryption_key_derivation_salt: $active_record_encryption_key_derivation_salt\nEOF\n kubectl --validate=false --namespace=$namespace apply -f rails-secrets.yml\n label_secret $rails_secret\nfi\n\n# Shell ssh host keys\nssh-keygen -A\nmkdir -p host_keys\ncp /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub host_keys/\ngenerate_secret_if_needed \"gitlab-gitlab-shell-host-keys\" --from-file host_keys\n\n# Gitlab-workhorse secret\ngenerate_secret_if_needed \"gitlab-gitlab-workhorse-secret\" --from-literal=\"shared_secret\"=$(gen_random 'a-zA-Z0-9' 32 | base64)\n\n# Registry http.secret secret\ngenerate_secret_if_needed \"gitlab-registry-httpsecret\" --from-literal=\"secret\"=$(gen_random 'a-z0-9' 128 | base64 -w 0)\n\n# Container Registry notification_secret\ngenerate_secret_if_needed \"gitlab-registry-notification\" --from-literal=\"secret\"=[\\\"$(gen_random 'a-zA-Z0-9' 32)\\\"]\n"
+ generate-secrets: "# vim: set filetype=sh:\n\n# Fail fast on errors.\nset -e\nset -o pipefail\n\nnamespace=default\nrelease=gitlab\nenv=production\n\npushd $(mktemp -d)\n\n# Args pattern, length\nfunction gen_random(){\n head -c 4096 /dev/urandom | LC_CTYPE=C tr -cd $1 | head -c $2\n}\n\n# Args: length\nfunction gen_random_base64(){\n local len=\"$1\"\n gen_random_bytes \"$len\" | base64 -w0\n}\n\n# Args: length\nfunction gen_random_bytes(){\n local len=\"$1\"\n head -c \"$len\" /dev/urandom\n}\n\n# Args: yaml file, search path\nfunction fetch_rails_value(){\n local value=$(yq --prettyPrint --no-colors \".${2}\" $1)\n\n # Don't return null values\n if [ \"${value}\" != \"null\" ]; then echo \"${value}\"; fi\n}\n\n# Args: secretname\nfunction label_secret(){\n local secret_name=$1\n# Remove application labels if they exist\n kubectl --namespace=$namespace label \\\n secret $secret_name $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\n\n kubectl --namespace=$namespace label \\\n --overwrite \\\n secret $secret_name app=gitlab chart=gitlab-10.2.1 release=gitlab heritage=Helm \n}\n\n# Args: secretname, args\nfunction generate_secret_if_needed(){\n local secret_args=( \"${@:2}\")\n local secret_name=$1\n\n if ! $(kubectl --namespace=$namespace get secret $secret_name > /dev/null 2>&1); then\n kubectl --namespace=$namespace create secret generic $secret_name ${secret_args[@]}\n else\n echo \"secret \\\"$secret_name\\\" already exists.\"\n\n for arg in \"${secret_args[@]}\"; do\n local from=$(echo -n ${arg} | cut -d '=' -f1)\n\n if [ -z \"${from##*literal*}\" ]; then\n local key=$(echo -n ${arg} | cut -d '=' -f2)\n local desiredValue=$(echo -n ${arg} | cut -d '=' -f3-)\n local flags=\"--namespace=$namespace --allow-missing-template-keys=false\"\n\n if ! $(kubectl $flags get secret $secret_name -ojsonpath=\"{.data.${key}}\" > /dev/null 2>&1); then\n echo \"key \\\"${key}\\\" does not exist. patching it in.\"\n\n if [ \"${desiredValue}\" != \"\" ]; then\n desiredValue=$(echo -n \"${desiredValue}\" | base64 -w 0)\n fi\n\n kubectl --namespace=$namespace patch secret ${secret_name} -p \"{\\\"data\\\":{\\\"$key\\\":\\\"${desiredValue}\\\"}}\"\n fi\n fi\n done\n fi\n\n label_secret $secret_name\n}\n\n# Initial root password\ngenerate_secret_if_needed \"gitlab-gitlab-initial-root-password\" --from-literal=\"password\"=$(gen_random 'a-zA-Z0-9' 64)\n\n# Gitlab shell\ngenerate_secret_if_needed \"gitlab-gitlab-shell-secret\" --from-literal=\"secret\"=$(gen_random 'a-zA-Z0-9' 64)\n\n# Gitaly secret\ngenerate_secret_if_needed \"gitlab-gitaly-secret\" --from-literal=\"token\"=$(gen_random 'a-zA-Z0-9' 64)\n\n# Gitlab runner secret\ngenerate_secret_if_needed \"gitlab-gitlab-runner-secret\" --from-literal=runner-registration-token=$(gen_random 'a-zA-Z0-9' 64) --from-literal=runner-token=\"\"\n\n# GitLab Pages API secret\n\n\n# GitLab Pages auth secret for hashing cookie store when using access control\n\n\n# GitLab Pages OAuth secret\n\n\n\n\n\n\n\n\n# Registry certificates\nmkdir -p certs\nopenssl req -new -newkey rsa:4096 -subj \"/CN=gitlab-issuer\" -nodes -x509 -keyout certs/registry-example-com.key -out certs/registry-example-com.crt -days 3650\ngenerate_secret_if_needed \"gitlab-registry-secret\" --from-file=registry-auth.key=certs/registry-example-com.key --from-file=registry-auth.crt=certs/registry-example-com.crt\n\n# config/secrets.yaml\nif [ -n \"$env\" ]; then\n rails_secret=\"gitlab-rails-secret\"\n\n # Fetch the values from the existing secret if it exists\n if $(kubectl --namespace=$namespace get secret $rails_secret > /dev/null 2>&1); then\n kubectl --namespace=$namespace get secret $rails_secret -o jsonpath=\"{.data.secrets\\.yml}\" | base64 --decode > secrets.yml\n secret_key_base=$(fetch_rails_value secrets.yml \"${env}.secret_key_base\")\n otp_key_base=$(fetch_rails_value secrets.yml \"${env}.otp_key_base\")\n db_key_base=$(fetch_rails_value secrets.yml \"${env}.db_key_base\")\n openid_connect_signing_key=$(fetch_rails_value secrets.yml \"${env}.openid_connect_signing_key\")\n encrypted_settings_key_base=$(fetch_rails_value secrets.yml \"${env}.encrypted_settings_key_base\")\n\n active_record_encryption_primary_keys=$(fetch_rails_value secrets.yml \"${env}.active_record_encryption_primary_key\")\n active_record_encryption_deterministic_keys=$(fetch_rails_value secrets.yml \"${env}.active_record_encryption_deterministic_key\")\n active_record_encryption_key_derivation_salt=$(fetch_rails_value secrets.yml \"${env}.active_record_encryption_key_derivation_salt\")\n fi;\n\n # Generate defaults for any unset secrets\n secret_key_base=\"${secret_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n otp_key_base=\"${otp_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n db_key_base=\"${db_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n openid_connect_signing_key=\"${openid_connect_signing_key:-$(openssl genrsa 2048)}\"\n encrypted_settings_key_base=\"${encrypted_settings_key_base:-$(gen_random 'a-f0-9' 128)}\" # equivalent to secureRandom.hex(64)\n\n # 1. We set the following two keys as an array to support keys rotation.\n # The last key in the array is always used to encrypt data:\n # https://github.com/rails/rails/blob/v7.0.8.4/activerecord/lib/active_record/encryption/key_provider.rb#L21\n # while all the keys are used (in the order they're defined) to decrypt data:\n # https://github.com/rails/rails/blob/v7.0.8.4/activerecord/lib/active_record/encryption/cipher.rb#L26.\n # This allows to rotate keys by adding a new key as the last key, and start a re-encryption process that\n # runs in the background: https://gitlab.com/gitlab-org/gitlab/-/issues/494976\n # 2. We use the same method and length as Rails' defaults:\n # https://github.com/rails/rails/blob/v7.0.8.4/activerecord/lib/active_record/railties/databases.rake#L537-L540\n active_record_encryption_primary_keys=${active_record_encryption_primary_keys:-\"- $(gen_random 'a-zA-Z0-9' 32)\"}\n active_record_encryption_deterministic_keys=${active_record_encryption_deterministic_keys:-\"- $(gen_random 'a-zA-Z0-9' 32)\"}\n active_record_encryption_key_derivation_salt=${active_record_encryption_key_derivation_salt:-$(gen_random 'a-zA-Z0-9' 32)}\n\n # Update the existing secret\n cat << EOF > rails-secrets.yml\napiVersion: v1\nkind: Secret\nmetadata:\n name: $rails_secret\ntype: Opaque\nstringData:\n secrets.yml: |-\n $env:\n secret_key_base: $secret_key_base\n otp_key_base: $otp_key_base\n db_key_base: $db_key_base\n encrypted_settings_key_base: $encrypted_settings_key_base\n openid_connect_signing_key: |\n$(echo \"${openid_connect_signing_key}\" | awk '{print \" \" $0}')\n active_record_encryption_primary_key:\n $active_record_encryption_primary_keys\n active_record_encryption_deterministic_key:\n $active_record_encryption_deterministic_keys\n active_record_encryption_key_derivation_salt: $active_record_encryption_key_derivation_salt\nEOF\n kubectl --validate=false --namespace=$namespace apply -f rails-secrets.yml\n label_secret $rails_secret\nfi\n\n# Shell ssh host keys\nssh-keygen -A\nmkdir -p host_keys\ncp /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub host_keys/\ngenerate_secret_if_needed \"gitlab-gitlab-shell-host-keys\" --from-file host_keys\n\n# Gitlab-workhorse secret\ngenerate_secret_if_needed \"gitlab-gitlab-workhorse-secret\" --from-literal=\"shared_secret\"=$(gen_random 'a-zA-Z0-9' 32 | base64)\n\n# Registry http.secret secret\ngenerate_secret_if_needed \"gitlab-registry-httpsecret\" --from-literal=\"secret\"=$(gen_random 'a-z0-9' 128 | base64 -w 0)\n\n# Container Registry notification_secret\ngenerate_secret_if_needed \"gitlab-registry-notification\" --from-literal=\"secret\"=[\\\"$(gen_random 'a-zA-Z0-9' 32)\\\"]\n"
 ---
 # Source: gitlab/templates/upgrade_check_hook.yaml
 apiVersion: v1
@@ -3703,7 +3703,7 @@
 apiVersion: v1
 kind: Pod
 metadata:
- name: gitlab-webservice-test-runner-9jfjm
+ name: gitlab-webservice-test-runner-kb4lq
 namespace: default
 annotations:
 "helm.sh/hook": test
@@ -3715,7 +3715,7 @@
 spec:
 containers:
 - name: test-runner
- image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v19.2.1
 command: ['sh', '/tests/test_login']
 volumeMounts:
 - name: tests
@@ -3740,7 +3740,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-shared-secrets-2149398
+ name: gitlab-shared-secrets-d9fa10b
 namespace: default
 labels:
 app: gitlab
@@ -3767,7 +3767,7 @@
 restartPolicy: Never
 containers:
 - name: gitlab
- image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v19.2.1
 command: ['/bin/bash', '/scripts/generate-secrets']
 securityContext:
 allowPrivilegeEscalation: false
@@ -3794,7 +3794,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-shared-secrets-2149398-selfsign
+ name: gitlab-shared-secrets-d9fa10b-selfsign
 namespace: default
 labels:
 app: gitlab
@@ -3821,7 +3821,7 @@
 restartPolicy: Never
 initContainers:
 - name: cfssl-self-sign
- image: registry.gitlab.com/gitlab-org/build/cng/cfssl-self-sign:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/cfssl-self-sign:v19.2.1
 env:
 - name: CA_SUBJECT
 value: "GitLab Helm Chart" # defaults to GitLab in container
@@ -3847,11 +3847,11 @@
 cpu: 50m
 containers:
 - name: kubectl
- image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v19.2.0
+ image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v19.2.1
 command:
 - /bin/bash
 - -exc
- - "certname=gitlab-wildcard-tls\n# create wildcard certificate secret\nkubectl create secret tls $certname \\\n --cert=/output/wildcard.pem --key=/output/wildcard-key.pem || true\nkubectl --namespace=$namespace label \\\n secret $certname $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\nkubectl --namespace=$namespace label --overwrite \\\n secret $certname app=gitlab chart=gitlab-10.2.0 release=gitlab heritage=Helm \n# create CA certificate secret\nkubectl create secret generic ${certname}-ca \\\n --from-file=cfssl_ca=/output/ca.pem || true\nkubectl --namespace=$namespace label \\\n secret ${certname}-ca $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\nkubectl --namespace=$namespace label --overwrite \\\n secret ${certname}-ca app=gitlab chart=gitlab-10.2.0 release=gitlab heritage=Helm \n# create certificate chain for GitLab Runner\ncat /output/ca.pem /output/wildcard.pem > /tmp/git.${BASE_DOMAIN}.crt\nkubectl create secret generic ${certname}-chain \\\n --from-file=/tmp/git.${BASE_DOMAIN}.crt || true\nkubectl --namespace=$namespace label \\\n secret ${certname}-chain $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\nkubectl --namespace=$namespace label --overwrite \\\n secret ${certname}-chain app=gitlab chart=gitlab-10.2.0 release=gitlab heritage=Helm \n"
+ - "certname=gitlab-wildcard-tls\n# create wildcard certificate secret\nkubectl create secret tls $certname \\\n --cert=/output/wildcard.pem --key=/output/wildcard-key.pem || true\nkubectl --namespace=$namespace label \\\n secret $certname $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\nkubectl --namespace=$namespace label --overwrite \\\n secret $certname app=gitlab chart=gitlab-10.2.1 release=gitlab heritage=Helm \n# create CA certificate secret\nkubectl create secret generic ${certname}-ca \\\n --from-file=cfssl_ca=/output/ca.pem || true\nkubectl --namespace=$namespace label \\\n secret ${certname}-ca $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\nkubectl --namespace=$namespace label --overwrite \\\n secret ${certname}-ca app=gitlab chart=gitlab-10.2.1 release=gitlab heritage=Helm \n# create certificate chain for GitLab Runner\ncat /output/ca.pem /output/wildcard.pem > /tmp/git.${BASE_DOMAIN}.crt\nkubectl create secret generic ${certname}-chain \\\n --from-file=/tmp/git.${BASE_DOMAIN}.crt || true\nkubectl --namespace=$namespace label \\\n secret ${certname}-chain $(echo 'app.kubernetes.io/name=gitlab' | sed -E 's/=[^ ]*/-/g')\nkubectl --namespace=$namespace label --overwrite \\\n secret ${certname}-chain app=gitlab chart=gitlab-10.2.1 release=gitlab heritage=Helm \n"
 volumeMounts:
 - name: certs-path
 mountPath: /output
@@ -3893,7 +3893,7 @@
 restartPolicy: Never
 containers:
 - name: run-check
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.0"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v19.2.1"
 command: ['/bin/sh', '/scripts/runcheck']
 securityContext:
 allowPrivilegeEscalation: false
@@ -3904,9 +3904,9 @@
 runAsUser: 65534
 env:
 - name: GITLAB_VERSION
- value: '19.2.0'
+ value: '19.2.1'
 - name: CHART_VERSION
- value: '10.2.0'
+ value: '10.2.1'
 volumeMounts:
 - name: chart-info
 mountPath: /chart-info

@rxbn
rxbn merged commit 4ffa935 into master Jul 29, 2026
4 checks passed
@rxbn
rxbn deleted the renovate/gitlab-and-gitlab-runner branch July 29, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant