-
Notifications
You must be signed in to change notification settings - Fork 593
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
KIC 2.0 - Proxy interface and Async Cache Resolution Server #1274
Conversation
Licenses differ between commit e92b8f4d195cd4e30de981126fc746eb2ca35d1d and base:
|
Codecov Report
@@ Coverage Diff @@
## next #1274 +/- ##
==========================================
- Coverage 56.73% 56.28% -0.46%
==========================================
Files 34 34
Lines 3356 3383 +27
==========================================
Hits 1904 1904
- Misses 1311 1338 +27
Partials 141 141
Continue to review full report at Codecov.
|
How does
work in practice? Will attempts to submit an Ingress/KongPlugin/etc. to the K8S API server fail, similar to something that fails an admission webhook check? How will |
The new Proxy interface allows async implementations that controllers and a controller-runtime based controller managers can use to update the Kong Proxy's Admin APIs using only K8s objects and having no need to understand Kong DSL.
I've actually pulled this out of scope for now and added that scope to https://github.com/Kong/kubernetes-ingress-controller/issues/1275, the intention now is to decide how this works in a later and isolated scope.
As of updates today, there is a simple boolean that flips to indicate whether an update needs to be performed, based on whether an object has been processed in the cycle. For this point in the alpha it does mean there can be some Otherwise if you still feel there's more that needs to be resolved here we can look at other approaches? |
The status components are now pushed back for a later iteration: https://github.com/Kong/kubernetes-ingress-controller/issues/1275
While working on the problem of asynchronous object caching, conversion and Admin API updating resolution I took a look at how this was handled in 1.x to decide whether I wanted to try and use the existing logic or experiment with a new solution.
After careful consideration and syncing with @hbagdi and @mflendrich about some ideas, this PR is a proposal to provide a new interface and backend server mechanism to handle the conversion of Kubernetes API object changes to Kong Admin API updates.
Some of the advantages intended by this new implementation include (but are not limited to):
- abstract interface allows for potential multiple backend implementations (including test implementations which can make it easier to unit test some areas of the code)
- greatly improved logging capabilities of the object resolution process
Resolves #1267
Followup Items: