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

#2168 WatchKube discovery provider #2173

Closed
wants to merge 1 commit into from

Conversation

kick2nick
Copy link
Contributor

@kick2nick kick2nick commented Oct 13, 2024

Closes #2168

Proposed Changes

  • WatchKube service discovery provider that utilizes k8s watch api requests for efficient detection of changes.

It's proof of concept that needs improvements (see comments) and tests.
Tested locally, it works as expected, but with older versions of KubeClient which can be used with newer one after fix tintoy/dotnet-kube-client#163.

@raman-m raman-m added Service Discovery Ocelot feature: Service Discovery Kubernetes Service discovery by Kubernetes proposal Proposal for a new functionality in Ocelot labels Oct 13, 2024
@raman-m
Copy link
Member

raman-m commented Oct 13, 2024

Nikolay, thank you for your submission. Please note that this pull request is not yet ready for code review. I recommend marking it as a draft and proceeding with the development.

Tested locally, it works as expected, but with older versions of KubeClient which can be used with newer one after fix tintoy/dotnet-kube-client#163.

🆗 Consequently, we must await the official resolution of the issue in the integrated library and resume development post-release of the fix.
It is a standard strategy to upgrade to the latest version; hence, we consistently utilize the most recent package version, which is currently v2.5.10, as referenced here:

<PackageReference Include="KubeClient" Version="2.5.10" />
<PackageReference Include="KubeClient.Extensions.DependencyInjection" Version="2.5.10" />

Downgrading the version is not an option❕
My suggestion is to prioritize addressing the bug at tintoy/dotnet-kube-client#163: reach out to the repository owner and designate this PR as a draft. Best of luck!

P.S.

Please be aware that the PR may be merged in 2 or more releases, and it might not be included in the November'24 release. Note that with the .NET 9 release scheduled for November, the delivery timeline is uncertain due to the concurrent release of the .NET 9 edition of dotnet-kube-client. Additionally, I believe it's unfeasible to develop this feature within two weeks for inclusion in the October'24 release. It appears to be impossible.

@raman-m raman-m changed the title Added 'WatchKube' discovery provider #2168 WatchKube discovery provider Oct 13, 2024
@raman-m raman-m marked this pull request as draft October 13, 2024 13:45
@raman-m
Copy link
Member

raman-m commented Oct 13, 2024

P.P.S

feature branch: kick2nick:develop

It's your decision, but the best practice is to always create a separate feature branch from develop, since develop is the default branch of the fork that needs to be synchronized with the upstream repository.

@kick2nick kick2nick deleted the branch ThreeMammals:develop October 14, 2024 18:05
@kick2nick kick2nick closed this Oct 14, 2024
@kick2nick kick2nick deleted the develop branch October 14, 2024 18:05
@kick2nick kick2nick restored the develop branch October 14, 2024 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Kubernetes Service discovery by Kubernetes proposal Proposal for a new functionality in Ocelot Service Discovery Ocelot feature: Service Discovery
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Watch request fails with InvalidOperationException
2 participants