Aaditi Thakkar
09/26/2024, 7:40 PMuser
09/26/2024, 7:40 PMvalues.yaml
file, you need to specify these values under the global
section. Here's an example of how you can do this: yaml global: secretsManager: type: awsSecretManager awsSecretManager: region: <aws-region> authenticationType: credentials accessKeyIdSecretKey: <your-access-key-id> secretAccessKeySecretKey: <your-secret-access-key>
In this example, replace <aws-region>
with your AWS region, <your-access-key-id>
with your AWS Secrets Manager access key ID, and <your-secret-access-key>
with your AWS Secrets Manager secret access key. Before deploying, ensure you've already created a Kubernetes secret containing both your AWS Secrets Manager access key ID, and secret access key. By default, secrets are expected in the airbyte-config-secrets
Kubernetes secret, under the aws-secret-manager-access-key-id
and aws-secret-manager-secret-access-key
keys. You can create these secrets using kubectl
or by applying a Kubernetes manifest to your cluster. Here's an example of how you can create a Kubernetes secret using `kubectl`: bash kubectl create secret generic airbyte-config-secrets \ --from-literal=aws-secret-manager-access-key-id='<your-access-key-id>' \ --from-literal=aws-secret-manager-secret-access-key='<your-secret-access-key>' \ --namespace airbyte
Replace <your-access-key-id>
and <your-secret-access-key>
with your actual AWS Secrets Manager access key ID and secret access key. For more information, refer to the [Airbyte documentation](https://docs.airbyte.com/deploying-airbyte/integrations/secrets#values) and [this GitHub issue](https://github.com/airbytehq/airbyte/issues/32203).Aaditi Thakkar
09/26/2024, 7:48 PMuser
09/26/2024, 7:48 PMuser
09/26/2024, 7:48 PMvalues.yaml
file is because of how Helm and Kubernetes handle sensitive data. The values.yaml
file is used by Helm to configure your deployment. When you specify your access key and ID in the values.yaml
file, you're telling Helm where to find these values in your Kubernetes secrets. On the other hand, Kubernetes secrets are used to store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys. Storing this type of sensitive information in a Secret is safer and more flexible than putting it verbatim in a Pod definition or in a container image. So, in essence, you're not duplicating the actual sensitive data (the access key and ID). You're storing the sensitive data in a Kubernetes secret, and then referencing that secret in your values.yaml
file. For more information, refer to the [Airbyte documentation](https://docs.airbyte.com/deploying-airbyte/creating-secrets) and [this GitHub issue](https://github.com/airbytehq/airbyte/issues/32203).