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

Add Helm Charts #673

Open
XAMPPRocky opened this issue Jan 2, 2023 · 4 comments
Open

Add Helm Charts #673

XAMPPRocky opened this issue Jan 2, 2023 · 4 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed kind/design Proposal discussing new features / fixes and how they should be implemented kind/feature New feature or request priority/low Issues that don't need to be addressed in the near term.

Comments

@XAMPPRocky
Copy link
Collaborator

To make Quilkin installation easier on kubernetes, we should add support for helm for managing Quilkin in your clusters. Combined with #662 the proxy and management servers can work out of the box, with no more than helm install quilkin.

@XAMPPRocky XAMPPRocky added kind/feature New feature or request good first issue Good for newcomers help wanted Extra attention is needed labels Jan 2, 2023
@markmandel
Copy link
Contributor

I love this idea, and we have a few options do doing this on our project (I'd probably just use a GCS bucket, but we can use a OCI registry as well - but that is a bit more complicated).

I'm thinking through the use cases, and what that install would look like.

  • Run in proxy mode, backed by a file
  • Run in proxy mode, backed by Agones (RBAC permissions required)
  • Run ion xDS mode, backed by Agones (RBAC permissions required)
  • Run in xDS mode, backed by a file

Maaybe something like:

$ helm install quilkin --set arguments=proxy quilkin/quilkin

Wherein --arguments lets you define what arguments to pass to the quilkin executable.

$ helm install quilkin --set arguments="manage agones",agones-rbac=true quilkin/quilkin

Where agones-rbac sets everything up to enable Quilkin to have the appropriate permission to read Agones GameServers.

There will likely be a lot of other options we'll want, like replicas and some open ended Pod Template customisation (mounting ConfigMaps definitely comes to mind).

Alternatives could include separate charts for each type of run, but that seems like way too much complexity.

Thoughts?

@markmandel markmandel added the kind/design Proposal discussing new features / fixes and how they should be implemented label Jan 4, 2023
@XAMPPRocky
Copy link
Collaborator Author

Wherein --arguments lets you define what arguments to pass to the quilkin executable.

I think we should maybe go a bit higher level than having the user set the executable arguments. I think the options should be like provider and mode, and then we can have it so that when you set provider=agones it implies Agones RBAC permissions.

helm install quilkin --set mode=proxy --set provider=agones quilkin/quilkin

@markmandel
Copy link
Contributor

We could go that route - although I was trying to avoid the inevitable expansion of 100 helm options by providing the most flexible option up front (check out Agones helm configuration params -- https://agones.dev/site/docs/installation/install-agones/helm/#configuration

It can explode quite fast.

So tradeoffs 😃

This sounds like an excellent topic to walk through some customer user journeys in our next monthly meeting, and list out what each one would create and how, and see what future plans we might envisage, and how that would work as well.

Even fun things like - should proxies be deployed with a Service or no? (then what options on the Service?).

There will probably want to be a Service for an xDS provider, but again, is that private, public, something else?

As we work through, we might find something a bit more generic may work in our favour better (or not!)

@XAMPPRocky XAMPPRocky added the priority/low Issues that don't need to be addressed in the near term. label Jan 25, 2023
@markmandel
Copy link
Contributor

Comments from community meeting - we'll aim for

helm install quilkin --set mode=proxy --set provider=agones quilkin/quilkin

And can expand it over time as more config options are requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed kind/design Proposal discussing new features / fixes and how they should be implemented kind/feature New feature or request priority/low Issues that don't need to be addressed in the near term.
Projects
None yet
Development

No branches or pull requests

2 participants