<@U04S8PLJWMT> on google gke installation, in mssq...
# replication-ask-ai
a
@kapa.ai on google gke installation, in mssql source pod i see errors in log: 2025-12-11 141858,280 [main] INFO i.m.r.Micronaut(start):183 - No embedded container found. Running as CLI application Exception in thread "main" io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [io.airbyte.workers.workload.WorkloadOutputWriter] Message: /secrets/gcs-log-creds/gcp.json Path Taken: new @j.i.Singleton i.a.c.ConnectorWatcher(@Named("output") Path outputPath, @Named("configDir") String configDir, @Value int fileTimeoutMinutes, @Value int fileTimeoutMinutesWithinSync, SidecarInput sidecarInput, ConnectorMessageProcessor connectorMessageProcessor, AirbyteMessageSerDeProvider serDeProvider, AirbyteProtocolVersionedMigratorFactory airbyteProtocolVersionedMigratorFactory, GsonPksExtractor gsonPksExtractor, WorkloadApiClient workloadApiClient, WorkloadOutputWriter outputWriter, SidecarLogContextFactory logContextFactory, HeartbeatMonitor heartbeatMonitor, MetricClient metricClient) \---> new @j.i.Singleton i.a.c.ConnectorWatcher(@Named("output") Path outputPath, @Named("configDir") String configDir, @Value int fileTimeoutMinutes, @Value int fileTimeoutMinutesWithinSync, SidecarInput sidecarInput, ConnectorMessageProcessor connectorMessageProcessor, AirbyteMessageSerDeProvider serDeProvider, AirbyteProtocolVersionedMigratorFactory airbyteProtocolVersionedMigratorFactory, GsonPksExtractor gsonPksExtractor, WorkloadApiClient workloadApiClient, [WorkloadOutputWriter outputWriter], SidecarLogContextFactory logContextFactory, HeartbeatMonitor heartbeatMonitor, MetricClient metricClient) \---> new @j.i.Singleton i.a.w.w.WorkloadOutputWriter([@Named("outputDocumentStore") StorageClient storageClient], AirbyteApiClient airbyteApiClient, MetricClient metricClient) at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2352) at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150) at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000) at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762) at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1781) at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:210) at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2130) at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1360) at io.airbyte.workers.workload.$WorkloadOutputWriter$Definition.instantiate(Unknown Source) at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337) at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150) at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000) at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762) at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1781) at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:210) at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2130) at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1360) at io.airbyte.connectorSidecar.$ConnectorWatcher$Definition.instantiate(Unknown Source) at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337) at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150) at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000) at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762) at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1781) at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:855) at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:847) at io.airbyte.connectorSidecar.ApplicationKt.main(Application.kt:25) at io.airbyte.connectorSidecar.ApplicationKt.main(Application.kt) Caused by: java.nio.file.NoSuchFileException: /secrets/gcs-log-creds/gcp.json at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:261) at java.base/java.nio.file.Files.newByteChannel(Files.java:380) at java.base/java.nio.file.Files.newByteChannel(Files.java:432) at java.base/java.nio.file.Files.readAllBytes(Files.java:3281) at io.airbyte.commons.storage.StorageClientKt.gcsClient(StorageClient.kt:544) at io.airbyte.commons.storage.GcsStorageClient.<init>(StorageClient.kt:272) at io.airbyte.commons.storage.StorageClientFactory.create(StorageClient.kt:72) at io.airbyte.connectorSidecar.config.ApplicationFactory.workloadStorageClient(ApplicationFactory.kt:18) at io.airbyte.connectorSidecar.config.$ApplicationFactory$WorkloadStorageClient0$Definition.instantiate(Unknown Source) at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337) ... 29 more what is the issue?
k
The error indicates that the connector sidecar is trying to initialize a GCS storage client but cannot find the credentials file at
/secrets/gcs-log-creds/gcp.json
inside the MSSQL source pod: >
Caused by: java.nio.file.NoSuchFileException: /secrets/gcs-log-creds/gcp.json
From the issues and docs, this happens when: 1. The GCS credentials secret is not mounted into job/connector pods, or 2. The Helm values for the container orchestrator secret name/mount path don’t match where the file actually is, or 3. The GCS storage configuration keys differ between Helm v1 and v2. Relevant points from the knowledge sources: - Jobs/connector pods expect the GCP JSON at
/secrets/gcs-log-creds/gcp.json
and will fail if it’s missing. [[GCP JSON not mounted](https://github.com/airbytehq/airbyte/issues/65153); [Using container orchestrator](https://discuss.airbyte.io/t/2207)] - For Helm v2, you must explicitly configure the container orchestrator secret and mount path so that the GCP JSON is available in job pods: [[GCP JSON not mounted](https://github.com/airbytehq/airbyte/issues/65153)]
Copy code
yaml   global:     workloads:       containerOrchestrator:         secretName: "airbyte-gcs-logs-creds"         secretMountPath: "/secrets/gcs-log-creds"
(Replace
"airbyte"
in the secret name with your Helm release name.) [[GCP JSON not mounted](https://github.com/airbytehq/airbyte/issues/65153)] - When using GCS storage with Helm v2, some keys changed compared to v1 (case-sensitive
type
, and
credentialsJsonSecretKey
instead of
credentialsPath
). [[Container launcher not using creds](https://github.com/airbytehq/airbyte/issues/68177); [global.storage.secretName issue](https://github.com/airbytehq/airbyte/issues/48842)] So the issue is: the GCS credentials file is not present at
/secrets/gcs-log-creds/gcp.json
in the MSSQL source pod because the secret is not mounted (or not mounted at that path) for workload/connector pods.
To fix, based on the sources: 1. Ensure you have a Kubernetes secret containing
gcp.json
(e.g.
airbyte-gcs-logs-creds
or
<release-name>-gcs-logs-creds
) with the key
gcp.json
. [[State & logging storage](https://docs.airbyte.com/platform/deploying-airbyte/integrations/storage#values)] 2. In your Helm values, set:
Copy code
yaml    global:      workloads:        containerOrchestrator:          secretName: "<your-release-name>-gcs-logs-creds"          secretMountPath: "/secrets/gcs-log-creds"
so that
/secrets/gcs-log-creds/gcp.json
exists in job/connector pods. [[GCP JSON not mounted](https://github.com/airbytehq/airbyte/issues/65153)] 3. If you’re on Helm v2 and using GCS for storage, also verify the
global.storage
section uses the correct keys (
type: "GCS"
or
"gcs"
depending on chart, and
credentialsJsonSecretKey
if applicable) as described in the issues. [[Container launcher not using creds](https://github.com/airbytehq/airbyte/issues/68177); [global.storage.secretName issue](https://github.com/airbytehq/airbyte/issues/48842)] Once the secret is correctly mounted at
/secrets/gcs-log-creds
with a
gcp.json
file, the
WorkloadOutputWriter
/
GcsStorageClient
should initialize and the MSSQL source pod should start successfully.