Skip to content
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

Feature-2: Made chart more configurable #3

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

onceinarow
Copy link

I was interested in trying this Helm Chart out today. Along the way, I wanted to be able to configure it a little better. As a result, I made a number of values more configurable, most notably the Ingress.yaml TLS configuration and the config.yaml content.

@jamesread
Copy link
Contributor

Hey @onceinarow , thanks very much for taking the time to write this up, and on the whole I'm generally very happy with the changes, and this should be fine.

Your suggestion to make the service port configurable, as well as being able to specify the config, totally make sense.

I'm curious about specifying the replica count though - I don't mind it, but what benefit is there for multiple instances of OliveTin with the same config? Each instance would only be able to store its own logs for example.

I'm on holiday at the moment, so would probably finish this review in a few days of that's okay.

@onceinarow
Copy link
Author

I'm curious about specifying the replica count though - I don't mind it, but what benefit is there for multiple instances of OliveTin with the same config? Each instance would only be able to store its own logs for example.

If each pod is treated as a separate instance of OliveTin, then it will not make sense to have more than one. My assumption was that this being a configurable variable provides the ability to horizontally scale the deployment in cases where one instance is not sufficient to support all incoming requests. It’s generally a standard to make replicas configurable so I added it while going through. The main thing I needed was the TLS config and simply added some configuration while I was in there. The beauty of configuration like this is that you can default it to 1 and maybe nobody will ever have to change it.

@jamesread
Copy link
Contributor

Gotcha, but I don't want people to think that OliveTin can "magically" scale like that, having two instances unaware of each other, using the same config is likely to cause unexpected behaviour.

I do have a potential design in mind for "scaling out" OliveTin, but that isn't even written down as a design yet, and I'm not sure if it makes sense to take the project in this direction.

If we want to keep replicas, and have meaning, changing the deployment to a StatefulSet would at least make logical sense.

However I think that leaving replicas out of values.yml for now makes the most sense, and let advanced users who know what they're doing change it as a post-deployment operation.

Happy to keep the discussion going, but the main thing I want to avoid is people assuming that changing replicas to 2 makes OliveTin do something intelligent at the moment - it doesn't... yet.

@onceinarow
Copy link
Author

Gotcha, but I don't want people to think that OliveTin can "magically" scale like that, having two instances unaware of each other, using the same config is likely to cause unexpected behaviour.

Sounds good, removed the configurable setting in the latest commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants