airbytehq / airbytehq/airbyte

Helm Chart V2: global.extraVolumes missing in server, connector-builder-server, and temporal deployment templates

Aperta
#73,268 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area/platform autoteam community needs-triage team/compose team/platform-move type/bug
Lingua principale
Python
Stelle
22.1k
Fork
5.3k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

### Helm Chart Version

2.0.19

### What step the error happened?

Other

### Relevant information

Three deployment templates have `global.extraVolumeMounts` in the container spec but are missing `global.extraVolumes` in the `volumes:` section. This causes global volume mounts to silently fail, Kubernetes ignores the volumeMount when no matching volume exists.

**Affected templates:**

| Template | `global.extraVolumeMounts` | `global.extraVolumes` |
|----------|---|---|
| `airbyte-server/deployment.yaml` | Present (L210-212) | **Missing** |
| `airbyte-connector-builder-server/deployment.yaml` | Present (L166-168) | **Missing** |
| `airbyte-temporal/deployment.yaml` | **Missing** | **Missing** |

**Working templates (for reference):**

`airbyte-worker/deployment.yaml` and `airbyte-workload-launcher/deployment.yaml` correctly include both `global.extraVolumeMounts` (in container spec) and `global.extraVolumes` (in volumes section).

**Example - `airbyte-server/deployment.yaml`:**

The volumeMounts section correctly includes global mounts:
```yaml
{{- if .Values.global.extraVolumeMounts }}
{{ toYaml .Values.global.extraVolumeMounts | nindent 8 }}
{{- end }}
```

But the volumes section only has component-level volumes, missing the global counterpart:
```yaml
{{- if .Values.server.extraVolumes }}
{{ toYaml .Values.server.extraVolumes | nindent 6 }}
{{- end }}
# Missing: global.extraVolumes block
```

**Fix** - add the following block after `{component}.extraVolumes` in each affected template's `volumes:` section:

```yaml
{{- if .Values.global.extraVolumes }}
{{ toYaml .Values.global.extraVolumes | nindent 6 }}
{{- end }}
```

And for `airbyte-temporal/deployment.yaml`, also add `global.extraVolumeMounts` in the container's `volumeMounts:` section:

```yaml
{{- if .Values.global.extraVolumeMounts }}
{{ toYaml .Values.global.extraVolumeMounts | nindent 8 }}
{{- end }}
```

**Steps to reproduce:**

1. Set `global.extraVolumes` and `global.extraVolumeMounts` in values.yaml to mount any ConfigMap or Secret
2. Deploy Airbyte with Helm Chart V2 (2.0.19)
3. Exec into the server, connector-builder-server, or temporal pods
4. The mounted file does not exist - the volume was silently ignored

**Impact:** We use `global.extraVolumes` to mount a `flags.yml` ConfigMap for feature flag configuration (heartbeat failSync). Without this fix, server, connector-builder-server, and temporal pods don't receive the feature flags file.

**Workaround:** Patch the 3 templates locally to add the missing `global.extraVolumes` / `global.extraVolumeMounts` blocks.

**Environment:**

- Kubernetes: GKE 1.33
- Helm Chart: V2 2.0.19
- Airbyte: 2.0.0 (community edition)
- Deployment method: Kustomize + ArgoCD

### Relevant log output

```shell
No error logs — Kubernetes silently ignores volumeMounts when the referenced volume does not exist in the pod spec. The file simply does not appear at the expected path.
```
---
**Internal Tracking:** https://github.com/airbytehq/oncall/issues/11240

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.