airbytehq / airbyte

The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
https://airbyte.com
Other
14.72k stars 3.78k forks source link

[deploy] Worker failing to start with external S3 configuration #37379

Open damian-aifinyo opened 2 months ago

damian-aifinyo commented 2 months ago

Helm Chart Version

0.64.185

What step the error happened?

On deploy

Revelant information

I'm trying to deploy airbyte on my EKS cluster (I followed indications from https://docs.airbyte.com/deploying-airbyte/on-kubernetes-via-helm), I configure and external S3 bucket and an external DB (hosted on RDS). Everything seems to be correct during deploy I can even access the web panel. But the problem is the worker, it never finish to start, the error mention that the region should not be empty. I configure it as indicated. I don't know if I need to define it somewhere else. Here is my values file and the extra resources (secrets)

global:
  database:
    secretName: "db-secrets"
    secretValue: "DATABASE_PASSWORD"

  state:
    storage:
      type: "S3"

  logs:
    accessKey:
      password: ""
      existingSecret: "airbyte-logs-secrets"
      existingSecretKey: "AWS_KEY"
    secretKey:
      password: ""
      existingSecret: "airbyte-logs-secrets"
      existingSecretKey: "AWS_SECRET_KEY"

  storage:
    type: "S3"

  minio:
    enabled: false
    nodeSelector: {}
    tolerations: []
    affinity: {}

worker:
  extraEnv:
    - name: AWS_ACCESS_KEY_ID
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_KEY
    - name: AWS_SECRET_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_SECRET_KEY
    - name: STATE_STORAGE_S3_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_KEY
    - name: STATE_STORAGE_S3_SECRET_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_SECRET_KEY
    - name: STATE_STORAGE_S3_BUCKET_NAME
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: S3_LOG_BUCKET
    - name: STATE_STORAGE_S3_REGION
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: S3_LOG_BUCKET_REGION

server:
  extraEnv:
    - name: AWS_ACCESS_KEY_ID
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_KEY
    - name: AWS_SECRET_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_SECRET_KEY
    - name: STATE_STORAGE_S3_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_KEY
    - name: STATE_STORAGE_S3_SECRET_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: AWS_SECRET_KEY
    - name: STATE_STORAGE_S3_BUCKET_NAME
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: S3_LOG_BUCKET
    - name: STATE_STORAGE_S3_REGION
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: S3_LOG_BUCKET_REGION

postgresql:
  enabled: false

externalDatabase:
  host: <my-host>
  user: <my-user>
  database: airbyte
  password: ""
  existingSecret: "db-secrets"
  existingSecretPasswordKey: "DATABASE_PASSWORD"
  port: 5432
  jdbcUrl: ""
apiVersion: v1
kind: Secret
metadata:
  name: airbyte-logs-secrets
type: Opaque
stringData:
  AWS_KEY: <my-key>
  AWS_SECRET_KEY: <my-secret>
  S3_LOG_BUCKET: <my-bucket>
  S3_LOG_BUCKET_REGION: eu-central-1
apiVersion: v1
kind: Secret
metadata:
  name: db-secrets
type: Opaque
stringData:
  DATABASE_PASSWORD: <db-pass>

All resources were deploy on the same namespace, connection to db seems to be correct (it was populated correctly)

Relevant log output

2024-04-17 14:50:43 INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'DEBUG' for logger: 'io.airbyte.bootloader'
2024-04-17 14:50:45 INFO i.a.f.ConfigFileClient(<init>):105 - path /flags does not exist, will return default flag values
2024-04-17 14:50:48 ERROR i.m.r.Micronaut(handleStartupException):343 - Error starting Micronaut server: Error instantiating bean of type [io.airbyte.workers.storage.S3StorageClient]: region must not be blank or empty.
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [io.airbyte.workers.storage.S3StorageClient]: region must not be blank or empty.
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2349) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2302) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1091) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.createBean(DefaultBeanContext.java:1071) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.BeanContext.createBean(BeanContext.java:157) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.airbyte.workers.storage.StorageClientFactory.get(StorageClient.kt:342) ~[io.airbyte-airbyte-commons-worker-0.57.3.jar:?]
    at io.airbyte.workers.config.CloudStorageBeanFactory.workloadStorageClient(CloudStorageBeanFactory.java:50) ~[io.airbyte-airbyte-workers-0.57.3.jar:?]
    at io.airbyte.workers.config.$CloudStorageBeanFactory$WorkloadStorageClient2$Definition.instantiate(Unknown Source) ~[io.airbyte-airbyte-workers-0.57.3.jar:?]
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2332) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2302) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2314) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3116) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3018) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2979) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2753) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1752) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2165) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1328) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.airbyte.workers.workload.$JobOutputDocStore$Definition.instantiate(Unknown Source) ~[io.airbyte-airbyte-commons-worker-0.57.3.jar:?]
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2332) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2302) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2314) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3116) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3018) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2979) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2753) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1752) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2165) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1328) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.airbyte.workers.temporal.check.connection.$CheckConnectionActivityImpl$Definition.instantiate(Unknown Source) ~[io.airbyte-airbyte-workers-0.57.3.jar:?]
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2332) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2302) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2314) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3116) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3018) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2979) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2753) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1752) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2165) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1328) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.airbyte.workers.config.$ActivityBeanFactory$CheckConnectionActivities0$Definition.instantiate(Unknown Source) ~[io.airbyte-airbyte-workers-0.57.3.jar:?]
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2332) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2302) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2314) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3116) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3018) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2979) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2753) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:1815) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractBeanResolutionContext.findBean(AbstractBeanResolutionContext.java:112) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.resolveOptionalBean(AbstractInitializableBeanDefinition.java:2309) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractInitializableBeanDefinition.findBeanForField(AbstractInitializableBeanDefinition.java:1908) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.airbyte.workers.$ApplicationInitializer$Definition.inject(Unknown Source) ~[io.airbyte-airbyte-workers-0.57.3.jar:?]
    at io.airbyte.workers.$ApplicationInitializer$Definition.instantiate(Unknown Source) ~[io.airbyte-airbyte-workers-0.57.3.jar:?]
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2332) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2302) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2314) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3116) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3018) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2979) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2953) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:3568) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveBeanRegistrations(DefaultBeanContext.java:3516) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBeanRegistrations(DefaultBeanContext.java:3486) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:1453) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:899) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:889) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.event.ApplicationEventPublisherFactory$2.lambda$$1(ApplicationEventPublisherFactory.java:215) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.core.util.SupplierUtil$1.get(SupplierUtil.java:47) ~[micronaut-core-4.3.14.jar:4.3.14]
    at io.micronaut.context.event.ApplicationEventPublisherFactory$2.publishEvent(ApplicationEventPublisherFactory.java:226) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.http.server.netty.discovery.NettyServiceDiscovery.onStart(NettyServiceDiscovery.java:54) ~[micronaut-http-server-netty-4.3.14.jar:4.3.14]
    at io.micronaut.http.server.netty.discovery.$NettyServiceDiscovery$Definition$Exec.dispatch(Unknown Source) ~[micronaut-http-server-netty-4.3.14.jar:4.3.14]
    at io.micronaut.context.AbstractExecutableMethodsDefinition$DispatchedExecutableMethod.invoke(AbstractExecutableMethodsDefinition.java:456) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:3903) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.aop.chain.AdapterIntroduction.intercept(AdapterIntroduction.java:84) ~[micronaut-aop-4.3.14.jar:4.3.14]
    at io.micronaut.aop.chain.MethodInterceptorChain.proceed(MethodInterceptorChain.java:138) ~[micronaut-aop-4.3.14.jar:4.3.14]
    at io.micronaut.http.server.netty.discovery.NettyServiceDiscovery$ApplicationEventListener$onStart1$Intercepted.onApplicationEvent(Unknown Source) ~[micronaut-http-server-netty-4.3.14.jar:4.3.14]
    at io.micronaut.context.event.ApplicationEventPublisherFactory.notifyEventListeners(ApplicationEventPublisherFactory.java:266) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.event.ApplicationEventPublisherFactory$2.publishEvent(ApplicationEventPublisherFactory.java:226) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.http.server.netty.NettyHttpServer.fireStartupEvents(NettyHttpServer.java:638) ~[micronaut-http-server-netty-4.3.14.jar:4.3.14]
    at io.micronaut.http.server.netty.NettyHttpServer.start(NettyHttpServer.java:309) ~[micronaut-http-server-netty-4.3.14.jar:4.3.14]
    at io.micronaut.runtime.Micronaut.start(Micronaut.java:80) [micronaut-context-4.3.14.jar:4.3.14]
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:328) [micronaut-context-4.3.14.jar:4.3.14]
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:314) [micronaut-context-4.3.14.jar:4.3.14]
    at io.airbyte.workers.Application.main(Application.java:15) [io.airbyte-airbyte-workers-0.57.3.jar:?]
Caused by: java.lang.IllegalArgumentException: region must not be blank or empty.
    at software.amazon.awssdk.utils.Validate.paramNotBlank(Validate.java:180) ~[utils-2.23.17.jar:?]
    at software.amazon.awssdk.regions.Region.of(Region.java:155) ~[regions-2.23.17.jar:?]
    at software.amazon.awssdk.regions.Region.of(Region.java:151) ~[regions-2.23.17.jar:?]
    at io.airbyte.workers.storage.StorageClientKt.s3Client(StorageClient.kt:316) ~[io.airbyte-airbyte-commons-worker-0.57.3.jar:?]
    at io.airbyte.workers.storage.S3StorageClient.<init>(StorageClient.kt:223) ~[io.airbyte-airbyte-commons-worker-0.57.3.jar:?]
    at io.airbyte.workers.storage.$S3StorageClient$Definition.doInstantiate(Unknown Source) ~[io.airbyte-airbyte-commons-worker-0.57.3.jar:?]
    at io.micronaut.context.AbstractInitializableBeanDefinition.instantiate(AbstractInitializableBeanDefinition.java:774) ~[micronaut-inject-4.3.14.jar:4.3.14]
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2330) ~[micronaut-inject-4.3.14.jar:4.3.14]
    ... 93 more
marcosmarxm commented 2 months ago

Did you change the log4jConfig value in the values.yaml file?

damian-aifinyo commented 2 months ago

Thanks fore the hint! I found this on airbyte-commons/src/main/resources/log4j2-s3.xml

<!-- Note that logging to S3 will leverage the DefaultAWSCredentialsProviderChain for auth. -->
<Property name="s3-bucket">${sys:STORAGE_BUCKET_LOG:-${env:STORAGE_BUCKET_LOG:-}}</Property>
<Property name="s3-region">${sys:AWS_DEFAULT_REGION:-${env:AWS_DEFAULT_REGION:-}}</Property>

So, it is using the AWS_DEFAULT_REGION value, but is not set anywhere on the guide. I added this:

worker:
  extraEnv:
    - name: AWS_DEFAULT_REGION
      valueFrom:
        secretKeyRef:
          name: airbyte-logs-secrets
          key: S3_LOG_BUCKET_REGION

and it worked, but the next issue was the default value for the logs, it was trying to use this:

STORAGE_BUCKET_ACTIVITY_PAYLOAD: airbyte-storage
STORAGE_BUCKET_LOG: airbyte-storage
STORAGE_BUCKET_STATE: airbyte-storage
STORAGE_BUCKET_WORKLOAD_OUTPUT: airbyte-storage

Ignoring the values I set for the logs, I change that manually on the configMap airbyte-airbyte-env with my values and now is working.

again, thanks for the support!

silazare commented 2 months ago

@damian-aifinyo Just faced the same issue and this config section helped to update these envs:

global:
####
  storage:
    type: "S3"
    bucket:
      activityPayload: <bucket_name>
      log: <bucket_name>
      state: <bucket_name>
      workloadOutput: <bucket_name>
apclapp commented 1 month ago

These steps help get past deploy, but in my scenario, any sync attempts fail with a 500 error whose response cites "java.lang.IllegalArgumentException: region must not be blank or empty."

I've used the Airbyte helm chart on and off for months, and every time it comes to install or update, it requires a willingness to dive deep into the source itself and debug the setup; the S3 installation instructions are horrible, the default overrides are buggy. It feels like one of those setups that's just supported enough to claim it exists, while also supported so poorly that users get pushed into the Cloud product.

theblinkingusb commented 2 weeks ago

Both silazare and damian-aifinyo solutions got me moving again - thanks all

Shoban-ideas2it commented 4 days ago

Hi Team, any suggestion for adding the bucket path in the s3 configuration for external logging.

If bucket path added in below format

global:

storage: type: "S3" bucket: activityPayload: /logs log: /logs state: /logs workloadOutput: /logs

  provides an below error
  Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided.
hongbo-miao commented 3 days ago

In my case, I need provide for server as well, so like

global:
  storage:
    type: S3
    bucket:
      activityPayload: production-hm-airbyte
      log: production-hm-airbyte
      state: production-hm-airbyte
      workloadOutput: production-hm-airbyte
server:
  extraEnv:
    - name: AWS_DEFAULT_REGION
      valueFrom:
        secretKeyRef:
          name: hm-airbyte-secret
          key: AIRBYTE_LOG_S3_BUCKET_REGION
worker:
  extraEnv:
    - name: AWS_DEFAULT_REGION
      valueFrom:
        secretKeyRef:
          name: hm-airbyte-secret
          key: AIRBYTE_LOG_S3_BUCKET_REGION