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

Feat/kong cluster plugins #520

Merged
merged 7 commits into from
Feb 3, 2020
Merged

Feat/kong cluster plugins #520

merged 7 commits into from
Feb 3, 2020

Conversation

hbagdi
Copy link
Member

@hbagdi hbagdi commented Jan 28, 2020

KongClusterPlugins allows user to have Plugin configuration at a
cluster-level and share the configuration across multiple workspaces.

This also helps users who want to have different personas for defining a
plugin configuration and using a plugin on a service or ingress as
access to KongClusterPlugin can be setup independent of other resources.

KongPlugin in the namespace takes precedence over KongClusterPlugin.

Global plugins for KongClusterPlugins are also supported.

Based on feedback, in future, we will deperecate global-level KongPlugin
support and instead only KongClusterPlugins will support the global
label. This will solve the problem of a user with access to a
single namespace manipulating proxy behavior for services in all namespaces.

Fix #495

To use `As()` function.
This is same as the new errors.As function introduced in Go 1.13.
We are using the library's function because we use it all over the
place.
We should refactor to remove thie library and use the stdlib functions
introduced in Go 1.13 that provide the same functionality.
This helps in a controller logic to detect 404s vs other errors.
KongClusterPlugins allows user to have Plugin configuration at a
cluster-level and share the configuration across multiple workspaces.

This also helps users who want to have different personas for defining a
plugin configuration and using a plugin on a service or ingress as
access to KongClusterPlugin can be setup independent of other resources.

KongPlugin in the namespace takes precedence over KongClusterPlugin.

Global plugins for KongClusterPlugins are also supported.

Based on feedback, in future, we will deperecate global-level KongPlugin
support and instead only KongClusterPlugins will support the global
label. This will solve the problem of a user with access to a
single namespace manipulating proxy behavior for services in all namespaces.
@hbagdi
Copy link
Member Author

hbagdi commented Jan 28, 2020

cc @rainest

Copy link
Contributor

@rainest rainest left a comment

Choose a reason for hiding this comment

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

APIs look good as-is. We may have some additional decisions down the road related to global plugin handling, but nothing that would block this version of KongClusterPlugin.

@hbagdi hbagdi merged commit fa6bb87 into next Feb 3, 2020
@hbagdi hbagdi deleted the feat/kong-cluster-plugins branch February 3, 2020 18:42
@provgregoryabdo
Copy link

Hey @hbagdi, any idea when you will be cutting a release with this feature in it?

Thank you!

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.

3 participants