Almost nothing under "Deploy Airbyte" leads to a working installation using Helm on K8s. #47256
Replies: 10 comments 18 replies
-
@jesperbagge, you need to add these keys |
Beta Was this translation helpful? Give feedback.
-
@kagodarog i added those keys to the secret |
Beta Was this translation helpful? Give feedback.
-
@jesperbagge, It's not that secret. At least with the latest helm version 1.1.0 there's a secret named airbyte-secrets that you need to update. |
Beta Was this translation helpful? Give feedback.
-
I am running into the same failures with the documentation of custom integrations (https://docs.airbyte.com/deploying-airbyte/#4-optional-for-customized-installations-only-customize-your-deployment) being wrong. The secrets in There is that new |
Beta Was this translation helpful? Give feedback.
-
Thanks! Will try this at work tomorrow. This however further proves the mess that the docs / chart is in. |
Beta Was this translation helpful? Give feedback.
-
@remisalmon setting |
Beta Was this translation helpful? Give feedback.
-
@jesperbagge I successfully deployed Airbyte to GKE and using Cloud SQL for database, cloud storage for logs and secret manager for secrets. Here are the relevant bits from my Terraform file. I'm not sure if it's significantly different for AWS. In addition to this, in the values.yaml I'm setting
|
Beta Was this translation helpful? Give feedback.
-
@jesperbagge can you post your values.yaml and secret.yaml file with the sensitive data stripped? |
Beta Was this translation helpful? Give feedback.
-
Attached is a secrets.yaml file and values.yaml file that I have successfully used to deploy Airbyte 1.1.0 on AWS, using RDS, S3, and Secrets Manager: Secrets.yaml
values.yaml
|
Beta Was this translation helpful? Give feedback.
-
hey @jesperbagge, I ran into an issue similar to yours while upgrading airbyte to 1.2.0 from 0.67 with helm where the temporal pods would end in a crashloop state. If you're using postgres as an external database which enforces ssl, turns out you have to change the env variables names from Hope this helps!
|
Beta Was this translation helpful? Give feedback.
-
Page URL
No response
Description
Hello. I have for three days tried to deploy Airbyte 1.1.0 on K8s using the official documentation and have failed monumentally. Almost every aspect of the documentation to deploy Airbyte is outright wrong.
State and Logging Storage
For S3, the documentation details secret keys that should be named
s3-access-key-id
ands3-secret-access-key
and that I should invoke their values using the keyglobal.storage.storageSecretName
. This breaks the Helm parser. According to an archived thread on Slack it should instead beglobal.storage.secretName
. At least when using this key the parser doesn't break here. However the Helm deployment will instead fail due to thatSecret.stringData.AWS_ACCESS_KEY_ID
andSecret.stringData.AWS_SECRET_ACCESS_KEY
has unknown objects of type "nil". It seems that the supplied secrets never gets picked up. AddingSecret.stringData.AWS_ACCESS_KEY_ID
andSecret.stringData.AWS_SECRET_ACCESS_KEY
to my K8s secrets does not help.There is also a sidenote in the documentation that if I want to use another S3-compatible interface, then the
endpoint
-key should be supplied. The documentation does not mention where this key should be supplied. Perhaps it should be underglobal.storage.s3
but I can't test that since the deployment fails anyhow.Secret Management
According to the documentation the four supported secret managers are AWS Secrets Manager, Google Secrets Manager, Azure Key Vault and Hashicorp Vault. However there are only configuration examples of the first three. I asked ChatGPT if it knew how to configure Hashicorp Vault as a secrets manager for Airbyte. It gave a suggestion that looked promising but the deployment failed due to Helm parsing errors.
External database
The documentation first outlines how to disable the internal Postgres db by setting
postgresql.enabled: false
. This will make the Helm parser fail, complaining about "nil" inSecret.stringData.DATABASE_PASSWORD
andSecret.stringData.DATABASE_USER
.Skipping the setting
postgresql.enabled: false
will allow the deployment to continue but will make theairbyte-bootloader
pod fail because it cannot connect to the external database. After a lot of trial and errors andprintenv
inside the failing pod I came to the conclusion that the only way to get at least something to work is to set the envDATABASE_URL
to something likejdbc:postgresql://external-db.com:5432/airbyte
. That was the only way to make the bootloader care about anything else than references to a K8s-internal service.It still ultimately fails, though because the temporal pod fails to connect to a database. Probably another reference somewhere that doesn't get set properly.
All in all. The current state of the documentation and Helm chart is a mess.
Beta Was this translation helpful? Give feedback.
All reactions