Helm chart #1220
Replies: 2 comments 1 reply
-
Got that, yes, but it also conflicts with your 3rd goal, so this is not that easy. I am thinking about a good way to solve this. It should at least be configurable and maybe have a default value with the very broad range. Maybe having an "advanced" section or something like this in the values would be a solution.
That is true for
I absolutely agree. It's impossible to make something completely fool proof for people deploying something and don't even read the docs, while expecting it to run perfectly smooth. The replicas however is a pretty important thing I would say, but I would also be fine with leaving this as a note in the comment above the value.
Yes, hardcode directly into the config and don't even make it configurable, as it makes no real sense to ever modify this.
Yeah of course. You don't need any knowledge about it, the env var can be copy & pasted as it is. Just adding this makes quite a big difference, because you can run a small instance with either 50mb (with Hiqlite), or even go up to ~150mb with a tuning in the wrong direction. The default will end up around 100mb, but I guess most people are fine with the "small" tuning. A Pod using Postgres with it will usually even be < 30mb.
Oh yes of course. I always deploy HA, forgot about that. But that's a good solution.
Good question. There are good reasons for doing it and not doing it. I think following Rauthys versions makes the most sense though, at least as soon as the basic chart config is stable, and it's not too far away from that. Following Rauthys versions makes breaking changes in the chart only possible, when Rauthy bumps at least the feature version, but on the other hand, when the chart bumps the version, you will know immediately that it's probably a good idea to look at Rauthys release notes to not miss something. I like the idea of having a basic config inside the values, and for all more advanced deployments, providing a template with the full Rauthy config. I would probably add a link to the Reference Config so people can copy & paste it. This keeps the chart / template maintenance low. |
Beta Was this translation helpful? Give feedback.
-
|
Just pushed an update with implementations of most of the suggestions.
Others:
As for including the config in the values, I don't think its a good practice and would prefer to avoid it because it is GitOps anti pattern. If the deployment, or infrastructure of rauthy is automated, (meaning the values.yaml is most likely in a git repostitory) storing secrets and more specifically encryption keys becomes an issue. There is already 3 ways for the user to configure rauthy.
I am curious to read your thoughts! Edit: updated changes list |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Moving here from the pull request #1206 as the helm chart needs improvement and I acknowledge that the pr was premature from my end.
I currently maintain my own version here.
My goals with the helm chart are three fold
To achieve this I came up with the idea for generating a simple rauthy configuration based on the Minimal Production Configuration. I found that it is achievable without additional user input other than what is already required by the helm templates.
Reflecting on the comments in #1206 :
While I acknowledge this is a large range, even though the secret generation is based on the minimal production configuration it is never recommended for production use. This is made clear in the values.yaml and the NOTES.txt as well. Making this configurable would contradict my first goal.
I will go ahead and implement this 1:1, using shorter, 6 character ids using the encKeyId variable name.
I found during testing that the container failed to start as this configuration was missing, I will double check and remove it if necessarry.
Yes implementing validations is possible, and is probably really easy with the mod helm template function. I am happy to implement this, however validations should not get out of hand as that would contradict the second goal.
Certainly I use this myself. This can be templated into the pod template definition instead of manual configuration in the values.yaml
I am lacking jemalloc knowledge however I am happy to implement default request and limit resources (small, medium, big and open) and their corresponding MALLOC_CONF env var into the pod template. I would also like to add a custom option, where every value is user configurable.
Enabling pod distruption budget by default is not the best idea in kubernetes, when the replica count is 1. This would remove the possibility to run rauthy in standalone mode. However I agree that the template should suggest minAvailable replicas-1. In a coming change I will make the pdb apply when there is more than 1 replica, with the suggested minAvailable configuration.
A secret template can be added to the readme with instructions.
In addition to the above I plan a few more improvements mostly around the readme and notes. I will post an update here once I have progress to share.
A question from my end, should the helm chart version follow rauthy`s version or should it be decoupled?
Beta Was this translation helpful? Give feedback.
All reactions