Kong/kubernetes-ingress-controller

Add feature flag to skip consumer sync to Konnect

lahabana opened this issue · 4 comments

Is there an existing issue for this?

  • I have searched the existing issues

Does this enhancement require public documentation?

  • I have added an Acceptance Criteria item for adding and/or adjusting public documentation (if applicable)

Problem Statement

Some users have a lot of consumers. This can make Konnect sync very slow and cause dataplane sync issues (xref: #6188 ).

Users are ok to not sync consumers as a workaround until Konnect provide a better solution for this.

Proposed Solution

  • add --SkipConsumerKonnectSync feature flag which bypasses consumers when syncing in Konnect

Additional information

No response

Acceptance Criteria

  • Add feature flag and skip sync
  • Validate that it works in Konnect
  • Document this new flag

add --SkipConsumerKonnectSync feature flag which bypasses consumers when syncing in Konnect

To be specific, the idea is to skip consumer credentials, not the consumers themselves.

We should also use the FeatureGates functionality rather than a new flag as we have pre-wired usage metrics for feature gates

There was an offline discussion around only using FeatureGates because they have metrics. Maybe we should just rework the telemetry lib to add telemetry for this.

No need to extend the telemetry package. It's already capable of sending "fixed payloads", which is done in KIC via:

fixedPayload := Payload{
"v": metadata.Release,
"kv": kongVersion,
"db": kongDB,
"rf": routerFlavor,
"id": instanceIDProvider.GetID(), // universal unique identifier for this system
}
.

It's just a matter of serializing config or CLI flags/envs.

@mheap agrees that we don't need a FeatureGate for this.