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

enable configurable Kubernetes API rate limiting via env vars #1706

Closed
wants to merge 1 commit into from

Conversation

AaronFriel
Copy link
Contributor

Proposed changes

Adds environment variables PULUMI_KUBE_CLIENT_QPS and PULUMI_KUBE_CLIENT_BURST to enable tuning Pulumi for large Kubernetes stacks with kube-apiservers that can handle the load.

Related issues (optional)

Closes #1704

@AaronFriel AaronFriel marked this pull request as draft September 9, 2021 02:00
Copy link
Member

@lblackstone lblackstone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the goal of this change makes sense, but we'd need to plumb the env vars through the Provider schema for consistency. This would allow these values to be set on a per-Provider basis, and also documents the options in the API docs.

While we're making this change, are there any other k8s client settings that would make sense to expose?

@AaronFriel
Copy link
Contributor Author

@lblackstone I'm happy to look at trying to thread the parameters through the provider settings. Go isn't one of my primary languages right now, but I can give it a shot if you think that would be a good MVP.

I felt like the env var first approach might be good to validate it before shipping it as part of the supported API. what do you think?

@AaronFriel
Copy link
Contributor Author

AaronFriel commented Sep 29, 2021

@lblackstone hey! would you like me to plumb these through the provider schema or OK to use the env vars as an MVP for now? If the former, could you point out a couple key files that I should pay attention to when doing that plumbing, or an env var that currently affects the Kube client-go construction?

@lblackstone
Copy link
Member

@AaronFriel Hey, sorry for the delayed response here. (Have been busy working on the AWS Native provider launch!)

I'm about to make some changes to the provider opts anyway, so I can pull in your changes while I'm at it. I'll tag you on the PR when it's ready.

@lblackstone
Copy link
Member

Added this feature in #1748, so I'll close this out now. Thanks for the idea and PR!

@lblackstone lblackstone closed this Oct 1, 2021
@AaronFriel
Copy link
Contributor Author

Thank you!

@AaronFriel AaronFriel deleted the AaronFriel/issue1704 branch October 6, 2021 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Configurable Kubernetes Client Throttling/Rate Limiting
2 participants