Description
Tell us about the problem you're trying to solve
In general, Kubernetes (k8s) still handles persistent storage poorly, and many implementations disable PVs and PVCs entirely. Kubernetes really excels at running stateless container workloads. Statefulness in Kubernetes is convoluted at best and most environments prefer offloading this to a managed database provider if possible. In my opinion, the airbyte helm chart should facilitate this pattern (even encourage it).
Right now, the helm chart creates the RELEASE-NAME-airbyte-data
PVC which is mounted to the server container, and it cannot be disabled.
I found the following indications that this volume is indeed no longer necessary:
- 🐛 Save Temporal Workflow Id to the DB instead of the Workspace volume. #5850
- 🎉 Migrate config persistence to database #4670
Describe the solution you’d like
We should expose a configuration option server.persistence.enabled
in the helm chart values.yaml
to allow disabling the volume creation. It should be set to true
by default for backwards compatibility.
Edit: Feedback from @alafanechere told me the PVCs are in fact already unused and can be safely removed. That solution works just as well (actually better). See PR.
Describe the alternative you’ve considered or used
I've created this option and it seems to run fine locally - however I'd love some advice on what potentials risks there are with running airbyte in this way.
Are you willing to submit a PR?
Yes, to follow shortly.