-
Notifications
You must be signed in to change notification settings - Fork 46
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
Run devlake as a deployment instead of statefulset #130
Conversation
Hi @albinvass, I think DevLake would need a .env file to work: https://github.com/apache/incubator-devlake/blob/main/backend/core/config/config_viper.go#L37. I agree that this isn't following the 12-factor app rules, nor is it cloud-native. I'd propose creating an issue in the main repo to support loading configurations from ENV vars; then the chart update would be easy:
Are you good with Golang? If so, maybe you can contribute a PR to add this small feature :) But it seems other deployment methods (like docker-compose) still rely on the .env file, so bear in mind to support both .env file and ENV vars. |
To clarify, The only reason Theoretically, the
|
I'm assuming the I did a quick scan of the docs and can't find any mention of the encode key in the documentation, maybe I missed it? In any case I feel like the importance of the secret should be more pronounced, and the easiest way to do it is to fail on start if it's not available. The devlake executable could even have a command or tool to generate the secret for the user. |
It is described in Upgrade. Yes, I agree with you, hence #5235 |
hi @albinvass , thanks for looking into the issue and creating the pr! |
Looks good to me, thanks! I'll close this PR in favour of yours. |
Currently the devlake pods are deployed with a statefulset and uses a persistent volume to generate a .env file on start.
This creates seemingly unecessary limits on how the deployment configuration can be updated, and limits how pods can be scheduled in a cluster.
Instead of generate a configmap for the
.env
file and run devlake as a deployment.