Hi everyone, I have upgraded airbyte to v2 and am ...
# ask-community-for-troubleshooting
m
Hi everyone, I have upgraded airbyte to v2 and am getting issue with
Copy code
MountVolume.SetUp failed for volume "gcs-log-creds-volume" : references non-existent secret key: GOOGLE_APPLICATION_CREDENTIALS_JSON
my values.yaml is
Copy code
global:
  edition: community
  #airbyteUrl: <https://airbyte.brkarlsen.no> 

  database:
    secretName: database-secret
    host: "10.61.80.33"
    port: 5432
    name: "airbyte" # Previously `database`
    userSecretKey: "DATABASE_USER"
    passwordSecretKey: "DATABASE_PASSWORD" # Previously `secretKey`

  storage:
    storageSecretName: gcs-log-creds # Previously `storageSecretName`
    type: gcs # Change "GCS" to lowercase
    secretName: gcs-log-creds # Previously `storageSecretName`
    bucket:
      log: brk-airbytev2                                                   
      state: brk-airbytev2
      workloadOutput: brk-airbytev2
      activityPayload: brk-airbytev2
    gcs:
      projectId: brk-analytics
      #credentialsJson: | __CREDENTIALS__
      credentialsJsonPath: /secrets/gcs-log-creds/gcp.json


  workloads:
    containerOrchestrator:
      secretName: gcs-log-creds
      secretMountPath: /secrets/gcs-log-creds
    
 
postgresql:
  enabled: false
worker:
  redinessProbe:
    enabled: false
  livnessProbe:
    enabled: false
webapp:
  enabled: false
and the snip from secrets is
Copy code
target:
    name: gcs-log-creds # The name of the Secret resource that will be created in the cluster.
  data:
    - secretKey: gcp.json  # The key of the secret in the secret resource.
      remoteRef:
        key: airbyte-sa # The key of the secret in the secret manager.
        #property: gcp.json
could anybody who know how to solve this problem, 🙂
k
Your error message:
Copy code
MountVolume.SetUp failed for volume "gcs-log-creds-volume" : references non-existent secret key: GOOGLE_APPLICATION_CREDENTIALS_JSON
indicates that Airbyte is looking for a key named
GOOGLE_APPLICATION_CREDENTIALS_JSON
in your Kubernetes secret (
gcs-log-creds
), but it does not exist. ### Key Issues Identified 1. Secret Key Name Mismatch Your secret contains a key named
gcp.json
, but Airbyte is looking for
GOOGLE_APPLICATION_CREDENTIALS_JSON
. This mismatch is the root cause of the error. 2. Helm Chart Key Usage In Helm chart v2, the correct way to reference an existing secret for GCS credentials is to use
global.storage.secretName
(not
storageSecretName
). The documentation and user feedback indicate that
storageSecretName
was used in v1, but in v2, you should use
secretName
only ([see user feedback](https://github.com/airbytehq/airbyte/issues/68178)). 3. credentialsJson vs credentialsJsonPath The
credentialsJsonPath
field is not documented as a supported key in Helm chart v2 for GCS. Instead, you should either: - Provide the base64-encoded credentials directly in
credentialsJson
, or - Reference an existing secret using
secretName
and ensure the key is named
GOOGLE_APPLICATION_CREDENTIALS_JSON
([see docs](https://docs.airbyte.com/platform/next/deploying-airbyte/chart-v2-community#update-your-valuesyaml-file)). ### How to Fix #### Option 1: Rename the Secret Key Update your Kubernetes secret so that the key is
GOOGLE_APPLICATION_CREDENTIALS_JSON
instead of
gcp.json
. For example:
Copy code
yaml apiVersion: v1 kind: Secret metadata:   name: gcs-log-creds type: Opaque data:   GOOGLE_APPLICATION_CREDENTIALS_JSON: <base64-encoded-gcp-json>
#### Option 2: Use credentialsJson in values.yaml If you want Airbyte to create the secret for you, set:
Copy code
yaml global:   storage:     type: gcs     bucket:       log: brk-airbytev2       state: brk-airbytev2       workloadOutput: brk-airbytev2       activityPayload: brk-airbytev2     gcs:       projectId: brk-analytics       credentialsJson: <base64-encoded-gcp-json>
Do not set
secretName
or
storageSecretName
in this case. #### Option 3: Reference the Secret and Key Correctly If you want to use your own secret and key name, you must ensure Airbyte is configured to look for the correct key. However, the current chart expects
GOOGLE_APPLICATION_CREDENTIALS_JSON
as the key. If you cannot change the key in your secret, you may need to use a workaround by setting environment variables for the container orchestrator, as described in [this issue](https://github.com/airbytehq/airbyte/issues/65153):
Copy code
yaml global:   workloads:     containerOrchestrator:       secretName: gcs-log-creds       secretMountPath: /secrets/gcs-log-creds
But you still need the key to be named
GOOGLE_APPLICATION_CREDENTIALS_JSON
unless you customize the chart templates. --- Summary: Rename your secret key from
gcp.json
to
GOOGLE_APPLICATION_CREDENTIALS_JSON
in the
gcs-log-creds
secret, or use the
credentialsJson
field in your
values.yaml
and let Airbyte create the secret for you. The documentation and user feedback confirm this is the expected setup for Helm chart v2 and GCS log storage ([see docs](https://docs.airbyte.com/platform/next/deploying-airbyte/chart-v2-community#update-your-valuesyaml-file), [user feedback](https://github.com/airbytehq/airbyte/issues/68178), [workarounds](https://github.com/airbytehq/airbyte/issues/65153)).