-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a helm chart/package #1868
Comments
@MChorfa thanks for creating this issue. While we publish kubernetes manifests, we do not yet publish helmcharts. We will let you know when we do. |
@MChorfa is the helm package a matter of discovery or an operational preference compared to kustomize/bare deployment yamls? We are looking at helm right now and thinking through whether we support helm or kustomise or both. |
The most common denominator is helm for most deployments. I would prioritize Helm first and then look at kustomize |
I've got a very raw helm chart I'm working on if there is interest in the contribution: master...jonstacks:master Its probably missing a few things and needs some work on the configuration, but has some CI checks too. We are going to be trying out airbyte in the next few weeks to see if it solves some of our pain points and I'll be updating my fork with some fixes and improvements as we land on a configuration we could potentially ship to our production environment if airbyte is a good fit. |
@jonstacks that's pretty neat! I especially like the readme. |
@jonstacks amazing work. Don't forget nodeSelectors on deployments :) and tolerations. Happy to make a PR too. |
@foogunlana, thank you :). Just got it up and running a few days ago, but should have a PR out mid next week. |
Steps going forward for this:
|
See number #1868. This creates an initial helm chart for installing Airbyte in Kubernetes to make it easier for users who are more familiar with helm. It also includes GitHub actions to help continually test that the chart works in the most basic case. All of the templates are based off of the kustomize folder, but minio and postgres have been removed in favor of adding the bitnami helm charts as dependencies since they have an active community and allow easily tweaking their install.
* Update check connection method * #5796 silence printing full config when config validation fails (#5879) * - #5796 silence printing full config when config validation fails * fix unit tests after config validation check changes Co-authored-by: Marcos Eliziario Santos <[email protected]> * Format google-search-console schemas (#6047) * Update ads_insights.json (#5946) fix ads_insights schema according to [facebook docs](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/) and my own data * Bump connectors version + update docs (#6060) * 🐛 Source Facebook Marketing: Convert values' types according to schema types (#4978) * Convert values' types according to schema types * Put streams back to `configured_catalog.json` Put back `ads_insights` and `ads_insights_age_and_gender` streams. * Pickup changes from #5946 * Implement change request + fix previous PR * Update schema * Remove items_type from convert_to_schema_types() * Bump connectors version * add oauth to connector_base dependencies (#6064) * use spec when persisting source configs (#6036) * switch most usages of writing sources to using specs * fix other usages * fix test * only wait on the server in the scheduler, not the worker * fix * rephrase sanity check and remove stdout * 🎉 Source Stripe: Add `PaymentIntents` stream (#6004) * Add `PaymentIntents` stream * Update docs * Implement change request + few updates Split `source.py` file into `source.py` and `streams.py` files. Update `payment_intents.json` file. * Bump connectors version + update docs * Add skeleton for databricks destination (#5629) Co-authored-by: Liren Tu <[email protected]> Co-authored-by: LiRen Tu <[email protected]> * Revert "Add skeleton for databricks destination (#5629)" (#6066) This reverts commit 79256c4. * 🎉 New Destination: Databricks (#5998) Implement new destination connector for databricks delta lake. Resolves #2075. Co-authored-by: George Claireaux <[email protected]> Co-authored-by: Sherif A. Nada <[email protected]> * Source PostHog: add support for self-hosted instances (#6058) * publish #6058 (#6059) * Destination Kafka: correct spec json and data types in config (#6040) * correct spec json and data types in config * bump version * correct tests * correct config parser NPE * format files Co-authored-by: Marcos Marx <[email protected]> * Fix or delete broken links (#6069) * Fix more doc issues (#6072) * 🎉 Added optional platform flag for build image script (#6000) * Fix dependabot security alert. (#6073) * Pin set value to greater than 4.0.1 to fix security warning. * Format the rest of the connectors. * add coverage report (#6045) Co-authored-by: Dmytro Rezchykov <[email protected]> * Fix the format of the data returned by Google Ads oauth to match the config accepted by the connector (#6032) * update salesforce docs (#6081) * 🎉 Source Github: add caching for all streams (#5949) * Source Github: add checking for all streams * bump version, update changelogs * Disable automatic migration acceptance test (#5988) - The automatic migration acceptance test no longer works because of the new Flyway migration system. - The file-based migration system is being deprecated. * 🎉 CDK: Add requests native authenticator support (#5731) * Add requests native auth class * Update init file. Update type annotations. Bump version. * Update TokenAuthenticator implementation. Update Oauth2Authenticator implemetation. Add CHANGELOG.md record. * Update Oauth2Authenticator default value setting. Update CHANGELOG.md * Add requests native authenticator tests * Add CDK requests native __call__ method tests. Update CHANGELOG.md * Add outdated auth deprication messages * Update requests native auth __call__ method tests * Bump CDK version to 0.1.20 * Interface changes to support separating secrets from the config (#6065) * Interface changes to support separating secrets from the config * Cleanup from PR comments and whitespace * Update log message for empty env variable (#6115) Co-authored-by: Jared Rhizor <[email protected]> * Bump Airbyte version from 0.29.17-alpha to 0.29.18-alpha (#6125) Co-authored-by: davinchia <[email protected]> * return auth spec in the API when getting definition specification (#6121) * Ignore python test coverage files (#6144) * CDK: support nested refs resolving (#6044) Co-authored-by: Dmytro Rezchykov <[email protected]> * feat: path for nested fields (#6130) * feat: path for nested fields * fix: clipRule error * fix: remove field name * Fix request middleware for ConnectionService (#6148) * Jamakase/update onboarding flow (#5656) * Doc explains normalization full-refresh implications (#6097) * update docs * add info in quickstart connection page * update abhi comments Co-authored-by: Marcos Marx <[email protected]> * Fix migration validation issue (#6154) Resolves #6151. * Bump Airbyte version from 0.29.18-alpha to 0.29.19-alpha (#6156) Co-authored-by: tuliren <[email protected]> * Add information on which destinations support Incremental - Deduped History in their docs (#6031) Co-authored-by: Abhi Vaidyanatha <[email protected]> * Update Airbyte Spec acknowledgements. (#6155) Co-authored-by: Abhi Vaidyanatha <[email protected]> * Update new integration request * Add back the migration acceptance test (#6163) * 🎉 Create a Helm Chart For Airbyte (#5891) See number #1868. This creates an initial helm chart for installing Airbyte in Kubernetes to make it easier for users who are more familiar with helm. It also includes GitHub actions to help continually test that the chart works in the most basic case. All of the templates are based off of the kustomize folder, but minio and postgres have been removed in favor of adding the bitnami helm charts as dependencies since they have an active community and allow easily tweaking their install. * Fix OAuth Summary strings (#6143) Co-authored-by: Marcos Eliziario Santos <[email protected]> Co-authored-by: Marcos Eliziario Santos <[email protected]> Co-authored-by: oleh.zorenko <[email protected]> Co-authored-by: Mauro <[email protected]> Co-authored-by: Sherif A. Nada <[email protected]> Co-authored-by: Jared Rhizor <[email protected]> Co-authored-by: George Claireaux <[email protected]> Co-authored-by: Liren Tu <[email protected]> Co-authored-by: LiRen Tu <[email protected]> Co-authored-by: coeurdestenebres <[email protected]> Co-authored-by: Marcos Marx <[email protected]> Co-authored-by: Marcos Marx <[email protected]> Co-authored-by: Harsha Teja Kanna <[email protected]> Co-authored-by: Davin Chia <[email protected]> Co-authored-by: Dmytro <[email protected]> Co-authored-by: Dmytro Rezchykov <[email protected]> Co-authored-by: Yevhenii <[email protected]> Co-authored-by: Jenny Brown <[email protected]> Co-authored-by: davinchia <[email protected]> Co-authored-by: Iakov Salikov <[email protected]> Co-authored-by: Artem Astapenko <[email protected]> Co-authored-by: tuliren <[email protected]> Co-authored-by: Abhi Vaidyanatha <[email protected]> Co-authored-by: Abhi Vaidyanatha <[email protected]> Co-authored-by: Jonathan Stacks <[email protected]> Co-authored-by: Christophe Duong <[email protected]>
* Add GET_FBA_INVENTORY_AGED_DATA data * Add GET_MERCHANT_LISTINGS_ALL_DATA stream support * Update schemas * Update configured_catalog.json * Update connector to airbyte-cdk * Add amazon seller partner test creds * Update state sample files * Apply code format * Update acceptance-test-config.yml * Add dummy integration test * Refactor auth signature. Update streams.py * Remove print_function import from auth.py * Refactor source class. Add pydantic spec. PR fixes. * Add dummy integration test * Typing added. Add _create_prepared_request docstring. * Add extra streams and schemas * Update docs and spec * Post merge code fixes * Fix test setup * Fix test setup * Add sample_state.json * Update reports streams logics. Update test and config files. * Update tests config. Small code style fixes. * Add reports stream slices. Update check_connection method. * Post review fixes. * Streams update * Add reports document retrieval and decrypting. Update schemas and configs. * Add CVS parsing into result rows * Update ReportsAmazonSPStream class to be the child of Stream class. Update GET_FLAT_FILE_OPEN_LISTINGS_DATA and GET_MERCHANT_LISTINGS_ALL_DATA schemas. * Schema updates * Source check method updated * Update ReportsAmazonSPStream retry report logics * Update check_connection source method * Update reports read_records method. Update report schemas. * Update streams.py * Update acceptance tests config. Add small code fixes. * Update report read_records logics * Add reports streams rate limit handling logics. Add rate limit unit tests. * Source Amazon SP: Update reports streams logics. (#5311) * Update check connection method * #5796 silence printing full config when config validation fails (#5879) * - #5796 silence printing full config when config validation fails * fix unit tests after config validation check changes Co-authored-by: Marcos Eliziario Santos <[email protected]> * Format google-search-console schemas (#6047) * Update ads_insights.json (#5946) fix ads_insights schema according to [facebook docs](https://developers.facebook.com/docs/marketing-api/reference/adgroup/insights/) and my own data * Bump connectors version + update docs (#6060) * 🐛 Source Facebook Marketing: Convert values' types according to schema types (#4978) * Convert values' types according to schema types * Put streams back to `configured_catalog.json` Put back `ads_insights` and `ads_insights_age_and_gender` streams. * Pickup changes from #5946 * Implement change request + fix previous PR * Update schema * Remove items_type from convert_to_schema_types() * Bump connectors version * add oauth to connector_base dependencies (#6064) * use spec when persisting source configs (#6036) * switch most usages of writing sources to using specs * fix other usages * fix test * only wait on the server in the scheduler, not the worker * fix * rephrase sanity check and remove stdout * 🎉 Source Stripe: Add `PaymentIntents` stream (#6004) * Add `PaymentIntents` stream * Update docs * Implement change request + few updates Split `source.py` file into `source.py` and `streams.py` files. Update `payment_intents.json` file. * Bump connectors version + update docs * Add skeleton for databricks destination (#5629) Co-authored-by: Liren Tu <[email protected]> Co-authored-by: LiRen Tu <[email protected]> * Revert "Add skeleton for databricks destination (#5629)" (#6066) This reverts commit 79256c4. * 🎉 New Destination: Databricks (#5998) Implement new destination connector for databricks delta lake. Resolves #2075. Co-authored-by: George Claireaux <[email protected]> Co-authored-by: Sherif A. Nada <[email protected]> * Source PostHog: add support for self-hosted instances (#6058) * publish #6058 (#6059) * Destination Kafka: correct spec json and data types in config (#6040) * correct spec json and data types in config * bump version * correct tests * correct config parser NPE * format files Co-authored-by: Marcos Marx <[email protected]> * Fix or delete broken links (#6069) * Fix more doc issues (#6072) * 🎉 Added optional platform flag for build image script (#6000) * Fix dependabot security alert. (#6073) * Pin set value to greater than 4.0.1 to fix security warning. * Format the rest of the connectors. * add coverage report (#6045) Co-authored-by: Dmytro Rezchykov <[email protected]> * Fix the format of the data returned by Google Ads oauth to match the config accepted by the connector (#6032) * update salesforce docs (#6081) * 🎉 Source Github: add caching for all streams (#5949) * Source Github: add checking for all streams * bump version, update changelogs * Disable automatic migration acceptance test (#5988) - The automatic migration acceptance test no longer works because of the new Flyway migration system. - The file-based migration system is being deprecated. * 🎉 CDK: Add requests native authenticator support (#5731) * Add requests native auth class * Update init file. Update type annotations. Bump version. * Update TokenAuthenticator implementation. Update Oauth2Authenticator implemetation. Add CHANGELOG.md record. * Update Oauth2Authenticator default value setting. Update CHANGELOG.md * Add requests native authenticator tests * Add CDK requests native __call__ method tests. Update CHANGELOG.md * Add outdated auth deprication messages * Update requests native auth __call__ method tests * Bump CDK version to 0.1.20 * Interface changes to support separating secrets from the config (#6065) * Interface changes to support separating secrets from the config * Cleanup from PR comments and whitespace * Update log message for empty env variable (#6115) Co-authored-by: Jared Rhizor <[email protected]> * Bump Airbyte version from 0.29.17-alpha to 0.29.18-alpha (#6125) Co-authored-by: davinchia <[email protected]> * return auth spec in the API when getting definition specification (#6121) * Ignore python test coverage files (#6144) * CDK: support nested refs resolving (#6044) Co-authored-by: Dmytro Rezchykov <[email protected]> * feat: path for nested fields (#6130) * feat: path for nested fields * fix: clipRule error * fix: remove field name * Fix request middleware for ConnectionService (#6148) * Jamakase/update onboarding flow (#5656) * Doc explains normalization full-refresh implications (#6097) * update docs * add info in quickstart connection page * update abhi comments Co-authored-by: Marcos Marx <[email protected]> * Fix migration validation issue (#6154) Resolves #6151. * Bump Airbyte version from 0.29.18-alpha to 0.29.19-alpha (#6156) Co-authored-by: tuliren <[email protected]> * Add information on which destinations support Incremental - Deduped History in their docs (#6031) Co-authored-by: Abhi Vaidyanatha <[email protected]> * Update Airbyte Spec acknowledgements. (#6155) Co-authored-by: Abhi Vaidyanatha <[email protected]> * Update new integration request * Add back the migration acceptance test (#6163) * 🎉 Create a Helm Chart For Airbyte (#5891) See number #1868. This creates an initial helm chart for installing Airbyte in Kubernetes to make it easier for users who are more familiar with helm. It also includes GitHub actions to help continually test that the chart works in the most basic case. All of the templates are based off of the kustomize folder, but minio and postgres have been removed in favor of adding the bitnami helm charts as dependencies since they have an active community and allow easily tweaking their install. * Fix OAuth Summary strings (#6143) Co-authored-by: Marcos Eliziario Santos <[email protected]> Co-authored-by: Marcos Eliziario Santos <[email protected]> Co-authored-by: oleh.zorenko <[email protected]> Co-authored-by: Mauro <[email protected]> Co-authored-by: Sherif A. Nada <[email protected]> Co-authored-by: Jared Rhizor <[email protected]> Co-authored-by: George Claireaux <[email protected]> Co-authored-by: Liren Tu <[email protected]> Co-authored-by: LiRen Tu <[email protected]> Co-authored-by: coeurdestenebres <[email protected]> Co-authored-by: Marcos Marx <[email protected]> Co-authored-by: Marcos Marx <[email protected]> Co-authored-by: Harsha Teja Kanna <[email protected]> Co-authored-by: Davin Chia <[email protected]> Co-authored-by: Dmytro <[email protected]> Co-authored-by: Dmytro Rezchykov <[email protected]> Co-authored-by: Yevhenii <[email protected]> Co-authored-by: Jenny Brown <[email protected]> Co-authored-by: davinchia <[email protected]> Co-authored-by: Iakov Salikov <[email protected]> Co-authored-by: Artem Astapenko <[email protected]> Co-authored-by: tuliren <[email protected]> Co-authored-by: Abhi Vaidyanatha <[email protected]> Co-authored-by: Abhi Vaidyanatha <[email protected]> Co-authored-by: Jonathan Stacks <[email protected]> Co-authored-by: Christophe Duong <[email protected]> * Bump source version. Update source docs. * Mock time.sleep in test_reports_stream_send_request_backoff_exception test * Acceptance test basic_read test disabled Co-authored-by: Marcos Eliziario Santos <[email protected]> Co-authored-by: Marcos Eliziario Santos <[email protected]> Co-authored-by: oleh.zorenko <[email protected]> Co-authored-by: Mauro <[email protected]> Co-authored-by: Sherif A. Nada <[email protected]> Co-authored-by: Jared Rhizor <[email protected]> Co-authored-by: George Claireaux <[email protected]> Co-authored-by: Liren Tu <[email protected]> Co-authored-by: LiRen Tu <[email protected]> Co-authored-by: coeurdestenebres <[email protected]> Co-authored-by: Marcos Marx <[email protected]> Co-authored-by: Marcos Marx <[email protected]> Co-authored-by: Harsha Teja Kanna <[email protected]> Co-authored-by: Davin Chia <[email protected]> Co-authored-by: Dmytro <[email protected]> Co-authored-by: Dmytro Rezchykov <[email protected]> Co-authored-by: Yevhenii <[email protected]> Co-authored-by: Jenny Brown <[email protected]> Co-authored-by: davinchia <[email protected]> Co-authored-by: Iakov Salikov <[email protected]> Co-authored-by: Artem Astapenko <[email protected]> Co-authored-by: tuliren <[email protected]> Co-authored-by: Abhi Vaidyanatha <[email protected]> Co-authored-by: Abhi Vaidyanatha <[email protected]> Co-authored-by: Jonathan Stacks <[email protected]> Co-authored-by: Christophe Duong <[email protected]>
May I suggest moving the helm charts ( The main reason being that helm charts are usually evolving independently and maintained by a different group of people than the devs of the product such as a devops team. The helm charts should also have it’s own independent versioning (git tags) and not necessarily following the product’s releases. I've seen this pattern in a couple of OSS repos such as Argo, Concourse, Hashicorp Vault, and others... Let me know what you think, cheers! |
I might add publish it on https://artifacthub.io . |
Yes, would be better to version the chart on its own repo as, as they evolve / version independently of the product / tool. |
Hey all, thanks for your comments. I will be looking much more into this this week and next. We are definitely planning to publish on artifacthub. We haven't yet decided to split this out or not, very open to doing so. My current understanding of the arguments for moving the Airbyte charts into a separate repo is around portability - it would make the lives of teams who only want Airbyte helm charts easier since the git pull would only refresh helm related files. Is that correct? Would publishing the charts to artifact hub solve this? Or do folks think there is still benefit from splitting the charts out? |
When I originally set this up, I was roughly following what Apache Airflow did for their helm chart. They keep it in the repo, but then create specific tags(ex: helm-chart/1.3.0) for releases. I've seen keeping it both in the product repo and outside of the product repo work and don't have a preference either way. I think just getting the helm chart repository set up will solve a lot of problems for people since they can interact with helm tooling and don't have to sync git repos at all and change directories. For example, one could do: helm repo add airbyte https://charts.airbyte.io
helm install airbyte airbyte/airbyte --version <specific-version-to-install> And be off to the races for a test environment(Most would need to specify an override for values.yaml for a production deploy IMO). When it comes time to upgrade, you simply run
to fetch the latest I'm not heavily versed in ArtifactHub, but it looks like its an aggregator for helm repos and doesn't actually host them. It looks like you can point ArtifactHub at a hypothetical IMO, the things that would make a better user experience are(in order of most impactful to least impactful):
|
To anyone reading the above comment without any context: |
Instructions for anyone who want to install this Helm chart: git clone [email protected]:airbytehq/airbyte.git
cd airbyte
helm repo add bitnami https://charts.bitnami.com/bitnami
helm dep build charts/airbyte
helm upgrade --install \
--create-namespace \
--namespace "airbyte" \
--debug \
--wait \
--timeout "600s" \
contra-airbyte ./charts/airbyte |
Did anyone figure out how to add airbyte Helm chart to ArgoCD? |
Setting up automated publishing to Github Pages should be reasonably low effort. Would a PR for that be welcome? |
You should be able to add the current github repo and specify a path to the helm-chart. This Argo section should work. |
@jonstacks this approach would not work when using an umbrella chart where Airbyte chart is a dependency. What might work is git sub-module approach with dependency referenced as file
|
Is there any update on Airbyte hosting the helm chart somewhere? |
Hi any updates or ETA regarding Airbyte hosting the helm chart? Thanks! |
It looks like helm-charts hosted by airbyte are available here: https://docs.airbyte.com/helm-charts/ |
Hi all, yes we have slowly been making progress cleaning up the charts. We have held off announcing it for now as we are still making Helm part of our regular builds. Hoping to get this out in the next week or so! |
That's good news. Do you have an update on when we can expect stable charts? I've been trying to upgrade our charts and the latest few versions are very unstable. If a stable chart is coming soon I'll hold off on the upgrade. |
We are running into some issues making the helm charts part of the PR build tests. Once we do that we can 'call' this stable. I would expect this to be done in the next week or so. @xpuska513 is working on this. |
@davinchia does this mean that the charts at https://docs.airbyte.com/helm-charts/ should not be used yet? We are trying them, |
@xpuska513 can you check this?
|
@simon-oneacrefund you can use them, however they are in beta while we iron out the testing. You should wait till the charts are stable. @xpuska513 can we confirm the charts support upgrading? Last I checked I believe they do. |
Hmm, probably right now upgrade is broken after we switched from using bitnami charts to using just a single deployment. It’s a known issue with PVC management by Helm. |
The latest version is |
About versions, I already made PR that addresses this issue, but it's still waiting for review(it's 2nd week since it was created) The main issue with versioning is with the fact that the current workflow doesn't stick to the airbyte versioning, which causes action that is being used right now to break versioning for helm charts. My PR addresses this by simply integrating release process of Helm charts into airbyte release process. |
Hi, happy to inform you that the release process got updated, so there should be no more issues with publishing and version disappearing from time to time. |
hello 👋 Can someone help me clarify if whether or not it is recommended to use https://artifacthub.io/packages/helm/airbyte/airbyte ? 🙏 |
Not yet. We are still ironing out some issues with the charts in certain situations. They are generally stable for now, however might not work in all cases. |
Hi @davinchia, can you confirm whether the charts are ready for use? |
We are using them in production, for what it is worth. |
Likewise, i made the switch and seems stable |
These should be more or less stable now. It's open since we are doing some minor clean up, however we should no longer run into issues with them. |
@supertopher can we close this issue? i think the work prodeng did to publish helm charts completes it. |
yes we can. there are functioning helm charts, cloud is built on top of OSS helm charts which should help to keep the OSS charts up to date by necessity |
To ease the adoption and deployment, please create helm chart and publish it on https://artifacthub.io
┆Issue is synchronized with this Asana task by Unito
The text was updated successfully, but these errors were encountered: