Skip to content

chore(deps): update helm release gitlab to v9.8.4 - autoclosed#4576

Merged
rxbn merged 1 commit intomasterfrom
renovate/gitlab-9.x
Feb 11, 2026
Merged

chore(deps): update helm release gitlab to v9.8.4 - autoclosed#4576
rxbn merged 1 commit intomasterfrom
renovate/gitlab-9.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 10, 2026

This PR contains the following updates:

Package Update Change
gitlab (source) patch 9.8.39.8.4

Release Notes

gitlab-org/charts/gitlab (gitlab)

v9.8.4

Compare Source

No changes.


Configuration

📅 Schedule: 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

Path: apps/gitlab/gitlab/gitlab/helmrelease.yaml
Version: 9.8.3 -> 9.8.4

@@ -1346,8 +1346,8 @@
 release: gitlab
 heritage: Helm
 data:
- gitlabVersion: "18.8.3"
- gitlabChartVersion: "9.8.3"
+ gitlabVersion: "18.8.4"
+ gitlabChartVersion: "9.8.4"
 ---
 # Source: gitlab/charts/minio/templates/minio_pvc.yaml
 kind: PersistentVolumeClaim
@@ -1566,13 +1566,13 @@
 heritage: Helm
 app.kubernetes.io/name: gitlab
 annotations:
- checksum/config: 542e7114733cf7f97d7d248ff7d5f92814d831001385eaad716ce4ee8c588593
- checksum/config-sshd: b80bc8271b54e191be6cb063b7db93c98f202a501297c77ee7081de04e994cac
+ checksum/config: 15ebba6ed1e8af5319f892d3dcf414d1e7e247b9d122e08a33756c9cad11ffa2
+ checksum/config-sshd: b8d41f2c1d6c497c76df73324e5ea3dc6396273aedc335736c4a43b2313d6f78
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 spec:
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1597,7 +1597,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1769,7 +1769,7 @@
 app.kubernetes.io/name: gitlab
 queue-pod-name: all-in-1
 annotations:
- checksum/configmap: d6a7228f7b5141e584b2b871d7745ca874effbfc13cce121fdd587158abc262b
+ checksum/configmap: b56470e7d3ec5cda124e58edf6c12924376e81a4f91ca63bde821e8a1dfd0d5f
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 gitlab.com/prometheus_scrape: "true"
 gitlab.com/prometheus_port: "3807"
@@ -1797,7 +1797,7 @@
 terminationGracePeriodSeconds: 30
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1823,7 +1823,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1848,7 +1848,7 @@
 requests:
 cpu: 50m
 - name: dependencies
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -1893,7 +1893,7 @@
 cpu: 50m
 containers:
 - name: sidekiq
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2116,7 +2116,7 @@
 heritage: Helm
 app.kubernetes.io/name: gitlab
 annotations:
- checksum/config: f3ebd89bb7dd7ce0c168b22aed89569b557cb1ba1b2a19adebae9c0c0c9f3537
+ checksum/config: 430f0950733ffd91740089230540bed993912106baf35429ec217b905fc337d0
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 spec:
 securityContext:
@@ -2128,7 +2128,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2154,7 +2154,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2194,7 +2194,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:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2403,7 +2403,7 @@
 app.kubernetes.io/name: gitlab
 gitlab.com/webservice-name: default
 annotations:
- checksum/config: b2754b7313aef306e55dac88e1aeb0dbf219cca640688cf011941f09d229b303
+ checksum/config: d09e72150a77069d11609bc23c59aed95d1ce0cda7ebfa70652392e6635f6e08
 cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
 gitlab.com/prometheus_scrape: "true"
 gitlab.com/prometheus_port: "8083"
@@ -2431,7 +2431,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2458,7 +2458,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:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2492,7 +2492,7 @@
 requests:
 cpu: 50m
 - name: dependencies
- image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2534,7 +2534,7 @@
 cpu: 50m
 containers:
 - name: webservice
- image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2643,7 +2643,7 @@
 cpu: 300m
 memory: 2.5G
 - name: gitlab-workhorse
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -2907,7 +2907,7 @@
 medium: "Memory"
 initContainers:
 - name: configure
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3009,7 +3009,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3034,7 +3034,7 @@
 requests:
 cpu: 50m
 - name: configure
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3306,7 +3306,7 @@
 heritage: Helm
 app.kubernetes.io/name: gitlab
 annotations:
- checksum/config: 52f9d0de479414092c4b9714b3a3dfcdc57d41fcb980fe346614ea91c5f858c6
+ checksum/config: 316199008f93a4e562f2334ce8a05fb98dfdbc97ca8fcfdab4d1d7d7722eba9e
 gitlab.com/prometheus_scrape: "true"
 gitlab.com/prometheus_port: "9236"
 gitlab.com/prometheus_path: /metrics
@@ -3317,7 +3317,7 @@
 terminationGracePeriodSeconds: 30
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3342,7 +3342,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3381,7 +3381,7 @@
 automountServiceAccountToken: false
 containers:
 - name: gitaly
- image: "registry.gitlab.com/gitlab-org/build/cng/gitaly:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitaly:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3669,7 +3669,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-migrations-94d0e99
+ name: gitlab-migrations-3e321c5
 namespace: default
 labels:
 app: migrations
@@ -3693,7 +3693,7 @@
 automountServiceAccountToken: false
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3718,7 +3718,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3744,7 +3744,7 @@
 restartPolicy: OnFailure
 containers:
 - name: migrations
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v18.8.4"
 args:
 - /bin/bash
 - -c
@@ -3876,7 +3876,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-minio-create-buckets-bbbe8e8
+ name: gitlab-minio-create-buckets-73c0849
 namespace: default
 labels:
 app: minio
@@ -3936,7 +3936,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-registry-migrations-2bda581
+ name: gitlab-registry-migrations-3fa1119
 namespace: default
 labels:
 app: registry-migrations
@@ -3959,7 +3959,7 @@
 type: RuntimeDefault
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -3984,7 +3984,7 @@
 requests:
 cpu: 50m
 - name: configure
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -4102,11 +4102,11 @@
 metadata:
 labels:
 app: toolbox
- chart: toolbox-9.8.3
+ chart: toolbox-9.8.4
 release: gitlab
 heritage: Helm
 annotations:
- checksum/config: f3ebd89bb7dd7ce0c168b22aed89569b557cb1ba1b2a19adebae9c0c0c9f3537
+ checksum/config: 430f0950733ffd91740089230540bed993912106baf35429ec217b905fc337d0
 cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
 spec:
 restartPolicy: OnFailure
@@ -4118,7 +4118,7 @@
 type: RuntimeDefault
 initContainers:
 - name: certificates
- image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/certificates:v18.8.4
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -4144,7 +4144,7 @@
 cpu: 50m
 - name: configure
 command: ['sh', '/config/configure']
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -4174,7 +4174,7 @@
 - /bin/bash
 - -c
 - cp /etc/gitlab/.s3cfg $HOME/.s3cfg && backup-utility # alpine sleep has no infinity
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-toolbox-ce:v18.8.4"
 securityContext:
 allowPrivilegeEscalation: false
 capabilities:
@@ -4358,7 +4358,7 @@
 "helm.sh/hook-weight": "-3"
 "helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation
 data:
- generate-secrets: "# vim: set filetype=sh:\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-9.8.3 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\n# Redis password\ngenerate_secret_if_needed \"gitlab-redis-secret\" --from-literal=\"secret\"=$(gen_random 'a-zA-Z0-9' 64)\n\n\n\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# Minio secret\ngenerate_secret_if_needed \"gitlab-minio-secret\" --from-literal=accesskey=$(gen_random 'a-zA-Z0-9' 64) --from-literal=secretkey=$(gen_random 'a-zA-Z0-9' 64)\n\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\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-9.8.4 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\n# Redis password\ngenerate_secret_if_needed \"gitlab-redis-secret\" --from-literal=\"secret\"=$(gen_random 'a-zA-Z0-9' 64)\n\n\n\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# Minio secret\ngenerate_secret_if_needed \"gitlab-minio-secret\" --from-literal=accesskey=$(gen_random 'a-zA-Z0-9' 64) --from-literal=secretkey=$(gen_random 'a-zA-Z0-9' 64)\n\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
@@ -4508,7 +4508,7 @@
 apiVersion: v1
 kind: Pod
 metadata:
- name: gitlab-webservice-test-runner-exlts
+ name: gitlab-webservice-test-runner-tyoyt
 namespace: default
 annotations:
 "helm.sh/hook": test
@@ -4520,7 +4520,7 @@
 spec:
 containers:
 - name: test-runner
- image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ce:v18.8.4
 command: ['sh', '/tests/test_login']
 volumeMounts:
 - name: tests
@@ -4545,7 +4545,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-shared-secrets-da205a7
+ name: gitlab-shared-secrets-6ec1836
 namespace: default
 labels:
 app: gitlab
@@ -4572,7 +4572,7 @@
 restartPolicy: Never
 containers:
 - name: gitlab
- image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v18.8.4
 command: ['/bin/bash', '/scripts/generate-secrets']
 securityContext:
 allowPrivilegeEscalation: false
@@ -4599,7 +4599,7 @@
 apiVersion: batch/v1
 kind: Job
 metadata:
- name: gitlab-shared-secrets-da205a7-selfsign
+ name: gitlab-shared-secrets-6ec1836-selfsign
 namespace: default
 labels:
 app: gitlab
@@ -4624,7 +4624,7 @@
 restartPolicy: Never
 initContainers:
 - name: cfssl-self-sign
- image: registry.gitlab.com/gitlab-org/build/cng/cfssl-self-sign:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/cfssl-self-sign:v18.8.4
 env:
 - name: CA_SUBJECT
 value: "GitLab Helm Chart" # defaults to GitLab in container
@@ -4650,11 +4650,11 @@
 cpu: 50m
 containers:
 - name: kubectl
- image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v18.8.3
+ image: registry.gitlab.com/gitlab-org/build/cng/kubectl:v18.8.4
 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-9.8.3 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-9.8.3 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-9.8.3 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-9.8.4 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-9.8.4 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-9.8.4 release=gitlab heritage=Helm \n"
 volumeMounts:
 - name: certs-path
 mountPath: /output
@@ -4696,7 +4696,7 @@
 restartPolicy: Never
 containers:
 - name: run-check
- image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.3"
+ image: "registry.gitlab.com/gitlab-org/build/cng/gitlab-base:v18.8.4"
 command: ['/bin/sh', '/scripts/runcheck']
 securityContext:
 allowPrivilegeEscalation: false
@@ -4707,9 +4707,9 @@
 runAsUser: 65534
 env:
 - name: GITLAB_VERSION
- value: '18.8.3'
+ value: '18.8.4'
 - name: CHART_VERSION
- value: '9.8.3'
+ value: '9.8.4'
 volumeMounts:
 - name: chart-info
 mountPath: /chart-info

@rxbn rxbn merged commit 0fb7e1b into master Feb 11, 2026
2 checks passed
@rxbn rxbn deleted the renovate/gitlab-9.x branch February 11, 2026 17:03
@renovate renovate bot changed the title chore(deps): update helm release gitlab to v9.8.4 chore(deps): update helm release gitlab to v9.8.4 - autoclosed Feb 11, 2026
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