GitLab Runner Helm chart sets GOOGLE_APPLICATION_CREDENTIALS breaking Workload Identity for docker+machine executor
## Problem The GitLab Runner Helm chart sets `GOOGLE_APPLICATION_CREDENTIALS` globally in the entrypoint script when GCS cache credentials are configured. This breaks Workload Identity for the `docker+machine` executor because docker-machine subprocesses inherit this env var and authenticate with the GCS cache service account (which lacks compute permissions) instead of the Workload Identity service account. ## Affected Code [`templates/configmap.yaml#L45-49`](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/blob/main/templates/configmap.yaml?ref_type=heads#L45-49): ```bash if [[ -f /secrets/gcs-application-credentials-file ]]; then export GOOGLE_APPLICATION_CREDENTIALS="/secrets/gcs-application-credentials-file" fi ``` ## Impact VM creation fails with `403 Forbidden: Required 'compute.projects.get' permission`. Users must choose between GCS cache OR Workload Identity for VM creation. ## Workaround Remove `runners.cache.secretName` from Helm values. Trade-off: jobs run without cache. ## Proposed Fix Replace `GOOGLE_APPLICATION_CREDENTIALS` with `CACHE_GCS_CREDENTIALS_FILE` in the entrypoint script. This env var is scoped to the cache subsystem only, so docker-machine falls back to ADC (Workload Identity) for VM creation. ## Configuration - Helm chart version: 0.87.1 - GitLab Runner version: 18.11.1 - Executor: `docker+machine` ## Related - Parent: gitlab-com/gl-infra/production-engineering#28835
issue