Summary
User is experiencing a 401 error when attempting to log in to the Airbyte dashboard after enabling authentication with Kubernetes secrets in a Helm deployment on GCP. The user has tried disabling secure cookies and is seeking assistance in troubleshooting the issue.
Question
Hello all, I’ve an issue when setting up dashboard authentication on a self-managed Airbyte deployed through Helm v1.2.0 on GCP : I’ve enabled authentication in values, set emailSecretKey
& passwordSecretKey
with kubernetes secrets but when I try to login on dashboard (either on localhost with port-forwarding or using external load balancer IP) with the email/password set in secrets I get a 401 error. I also tried disabling secure cookies to discard the option where it would be due to the fact i’m not using HTTPS yet but I have still the same issue.
I’ve been through a lot of issues/thread but could not find a solution, would someone have an idea of what’s the issue ? 
This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want
to access the original thread.
Join the conversation on Slack
['dashboard-authentication', 'helm', 'kubernetes', 'gcp', '401-error']
Have you run consecutive updates with helm upgrade ...
or always full cleanup and fresh installation with helm install
?
Have you run consecutive updates with helm upgrade ...
or always full cleanup and fresh installation with helm install
?
Thanks for your answer, yes I tried both, upgrade and uninstalling the whole thing and reinstalling with helm install
but I still cannot login
Here is my auth config in values.yml if it helps
auth:
enabled: true
instanceAdmin:
secretName: "airbyte-config-secrets"
firstName: "Airbyte"
lastName: "Admin"
emailSecretKey: "ADMIN_EMAIL"
passwordSecretKey: "ADMIN_PASSWORD"```
okay, and how does definition of airbyte-config-secrets
secret look like?
Like this
kind: Secret
metadata:
name: airbyte-config-secrets
type: Opaque
stringData:
ADMIN_EMAIL: <ADMIN_EMAIL>
ADMIN_PASSWORD: <ADMIN_PASSWORD>
DATABASE_USER: <DATABASE_USER>
DATABASE_PASSWORD: <DATABASE_PASSWORD>```
Also I just tried to remove authentication to test other features and I cannot open source/destination pages because of an API error so it seems something's wrong globally with the API side of the setup
Can you compare password that you set in secret with the one in environment variable
kubectl exec -it $(kubectl get pods -l <http://app.kubernetes.io/name=server|app.kubernetes.io/name=server> -o jsonpath="{.items[0].metadata.name}") -- env | grep "AB_INSTANCE_ADMIN_PASSWORD"
?
The command above does not return anything, I checked by removing the grep part and indeed there is no envvar named AB_INSTANCE_ADMIN_PASSWORD in my server
Ok it was because auth was still disabled, after enabling it again I see a value for AB_INSTANCE_ADMIN_PASSWORD but indeed it’s not the one in my secrets. But when I use it I can login !
It’s good to know that the password from this environment variable worked 
Yes thanks a lot ! I’ll try to understand why I get errors in dashboard now 
indentation matters
auth:
enabled: true
instanceAdmin:
secretName: "airbyte-config-secrets"```
```global:
auth:
enabled: true
secretName: "airbyte-config-secrets"```
it would be nice to have some validator for values.yaml to easier spot issues
Oh you’re right, it’s not nested in instanceAdmin 
I was mislead by airbyte helm chart default value file that was showing the version I used : https://github.com/airbytehq/airbyte-platform/blob/main/charts/airbyte/values.yaml#L42
I didn’t find a better “documentation” for possible values than this file but maybe there is a better place where I can see all possible options and how they could be configured ?
every time I need to check specific helm chart I go to https://github.com/airbytehq/helm-charts and extract archive for the version I need
there are READMEs in helm charts, and most of the time they are useful as descriptions for different options, but when I need to be sure then I check values.yaml and check references to keys