What kind of refresh policy should we adopt here (my guess is that we don't need to as to the controller pod needs to be restarted to get on the latest k8s node version)?
As this detection is based on heuristics it should be possible for users to set it in configuration in case the heuristics are wrong.
Acceptance Criteria
[ ] There's an API in controllers that enables us to write platform specific code without writing the discovery ourselves
[ ] Users can explicitly set their platform parameters and not rely on heuristics
Problem Statement
We have a few issues that require platform specific behaviour. While ideally there shouldn't be any, sometimes it is still required.
We should have a component to detect Kubernetes platform information so we can easily write code that's conditional to the platform detected.
Issues that would leverage this component:
Proposed Solution
A lot of the detection code already exists in telemetry: https://github.com/Kong/kubernetes-telemetry/blob/a8f70df68515496b91e46e04fead4116e1df25b9/pkg/telemetry/workflowsk8s.go#L32-L63
Some open questions:
As this detection is based on heuristics it should be possible for users to set it in configuration in case the heuristics are wrong.
Acceptance Criteria