airbytehq / airbytehq/airbyte

[helm] workload-api-server chart uses inconsistent GCS secret logic from server/worker/workload-launcher

Đang mở
#44,525 9 bình luận 4 reaction 1 người được giao Được @perangel nhận Xem trên GitHub
area/platform community helm team/deployments type/bug
Ngôn ngữ chính
Python
Star
22.1k
Fork
5.3k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

### Helm Chart Version

0.445.3

### What step the error happened?

Upgrading the Platform or Helm Chart

### Relevant information

# Problem

I'm attempting to set up my OSS Airbyte deployment to use GCS logging. Relevant chart values are below (from a FluxCD patch):

```yaml
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: airbyte
spec:
values:
global:
# gcs-credentials-ext is a secret that contains the GCS credentials, created externally to the helm deployment
storage:
type: "GCS"
storageSecretName: gcs-credentials-ext
bucket:
log: my_log_bucket
state: my_log_bucket
workloadOutput: my_log_bucket
```

`gcs-credentials-ext` was created externally to the Helm chart deployment, as I wanted to avoid having my base64 encoded credentials held in source control at `global.storage.gcs.credentialsJson`

# Analysis

When I run the helm install, the pod for `airbyte-workload-api-server` gets stuck in the `ContainerCreating` state, with the following error:

`Warning FailedMount 3s (x4 over 6s) kubelet MountVolume.SetUp failed for volume "gcs-log-creds-volume" : secret "airbyte-gcs-log-creds" not found`

Upon analysis of the workload API server template, this is due to the `secretName` defaulting to `releasename-gcs-log-creds` because it is looking for a value `.Values.global.credVolumeOverride`). See - https://github.com/airbytehq/airbyte-platform/blob/f8146bdc352726509bc5bbd8870052e666178944/charts/airbyte-workload-api-server/templates/deployment.yaml#L202

This is at odds with the other components that refer to the same secret (they all use `Values.global.storage.storageSecretName`):

* Workload launcher - https://github.com/airbytehq/airbyte-platform/blob/f8146bdc352726509bc5bbd8870052e666178944/charts/airbyte-workload-launcher/templates/deployment.yaml#L596
* Worker - https://github.com/airbytehq/airbyte-platform/blob/f8146bdc352726509bc5bbd8870052e666178944/charts/airbyte-worker/templates/deployment.yaml#L587
* Server - https://github.com/airbytehq/airbyte-platform/blob/f8146bdc352726509bc5bbd8870052e666178944/charts/airbyte-server/templates/deployment.yaml#L516

# Proposal

I propose that this line https://github.com/airbytehq/airbyte-platform/blob/f8146bdc352726509bc5bbd8870052e666178944/charts/airbyte-workload-api-server/templates/deployment.yaml#L202, be changed from:

`secretName: {{ ternary (printf "%s-gcs-log-creds" ( .Release.Name )) (.Values.global.credVolumeOverride) (eq .Values.global.deploymentMode "oss") }}`

to:

`secretName: {{ ternary (printf "%s-gcs-log-creds" ( .Release.Name )) .Values.global.storage.storageSecretName (not ((.Values.global.storage).storageSecretName)) }}`

### Relevant log output

_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.