feat(KongConsumer) delete consumers not present in k8s #81
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem:
When KongConsumer custom resource is created, a consumer entity is
created in Kong. But when the custom resource is deleted in k8s, the
change is not propagated to Kong. This results in an odd and confusing
behavior(#58) where consumers can be created but never deleted in Kong via
ingress controller.
Solution:
Perform complete sync like we do for all other entities in Kong. This
means that after this change, consumers present in Kong but not present
in k8s will be deleted.
This reverses the past decision of allowing users to manage consumer entity in Kong via ingress controller and by other means outside the controller.
The long term solution will involve storing more metadata in Kong to
detect if an entity is created by the ingress controller or via another
mechanism.
Breaking change:
Consumers created in Kong directly will be deleted if the corresponding
custom resource (KongConsumer) is not present in k8s object store.