Kevin Lefevre
03/09/2026, 6:03 PMMicronaut(handleStartupException):362 - Error starting Micronaut server: Error instantiating bean of type [io.airbyte.commons.storage.GcsStorageClient]: Is a directorykapa.ai
03/09/2026, 6:03 PMError instantiating bean of type [io.airbyte.commons.storage.GcsStorageClient]
Caused by: java.io.IOException: Is a directory
happens when Airbyte tries to read the GCS credentials path, but the path points to a directory instead of a JSON file. [Docs/helm case]
Based on the issues:
1. Storage type must be lowercase gcs
The Helm chart does case-sensitive checks on global.storage.type. If you set GCS (uppercase) as in the docs, the GCS secret is not mounted correctly, which can lead to invalid paths and this error. Use:
global:
storage:
type: gcs
instead of GCS. [Docs/helm case]
2. Check that credentialsJsonPath points to a file, not a directory
The error Is a directory indicates that the path Micronaut is trying to read is a directory. Verify in your values that the path you configure for the GCS JSON (or the mount path used by the chart) ends with the actual JSON filename (e.g. /secrets/gcp-creds/gcp.json) and that this file exists in the pod, not just the directory. A similar misconfiguration produced:
Error instantiating bean of type [io.airbyte.commons.storage.GcsStorageClient]: /secrets/gcp-creds/gcp.json
when the file was not correctly mounted. [GCP JSON not mounted]
3. Helm v2 + GCS mounting is fragile
There are open issues indicating that the Helm v2 chart has problems correctly wiring GCS credentials into job pods and the platform, especially around how paths and secrets are handled. [Helm v2 launcher; GCP JSON not mounted]
Given the knowledge sources, the concrete steps you can take are:
• Ensure global.storage.type: gcs (lowercase).
• Confirm that the configured credentials path (e.g. global.storage.gcs.credentialsJsonPath or equivalent) is a file path, not just a directory.
• Exec into the server and worker pods and check that:
◦ The secret is mounted.
◦ The JSON file exists at the exact path Airbyte is configured to use.
◦ That path is not a directory.
The knowledge sources do not provide a fully documented, step‑by‑step Helm v2 + GCS configuration, so if after correcting the case and path you still see the error, it may be hitting the same unresolved Helm v2 GCS issues described in those GitHub issues. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.