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
16.09k stars 4.12k forks source link

[helm] Refactor StatefulSets to NOT be deployed by helm hooks #35288

Open mhemken-vts opened 8 months ago

mhemken-vts commented 8 months ago

Helm Chart Version

all

What step the error happened?

On deploy

Revelant information

Helm Hooks are an antipattern:

Airbyte should be using Kubernetes-native implementations to enforce lifecycle, for example init-containers.

Relevant log output

No logs. The architecture of this chart is problematic.
marcosmarxm commented 8 months ago

Thanks for reporting the issue @mhemken-vts at the moment engineering team is working to refactor the helm chart. I added the issue to their backlog to evaluate what its possible to implement.

mhemken-vts commented 8 months ago

Thank you @marcosmarxm !

I've run into a production outage with our Airbyte deployment again. Getting the minio configuration rolled out to all of the components is proving to be elusive. Helm fails because the db and mino statefulsets do not receive the new values because the statefulsets are not included in the lifecycle of the helm release. That's because they are deployed with helm hooks.

This is a production outage.

I am the only person on our team with the kubernetes + helm + CI + airbyte knowledge to troubleshoot.

Thank you for putting this on the roadmap. Let me know if there's any input from an end user that would help here.

mhemken-vts commented 8 months ago

May I suggest an alternative to Helm? https://timoni.sh/

Why? Because YAML is a data serialization language and should be treated as such. Helm treats it as plain text. That is the fundamental failure of Helm.

octavia-squidington-iii commented 1 month ago

At Airbyte, we seek to be clear about the project priorities and roadmap. This issue has not had any activity for 180 days, suggesting that it's not as critical as others. It's possible it has already been fixed. It is being marked as stale and will be closed in 20 days if there is no activity. To keep it open, please comment to let us know why it is important to you and if it is still reproducible on recent versions of Airbyte.

andrew-d-969 commented 1 month ago

The problem still exists Resources such as services and statefulsets should not be managed using Helm hooks