Summary
Auto-discover available Cilium API versions (v2 stable vs v2alpha1) at startup instead of hardcoding. This enables:
- Forward compatibility with Cilium 1.16+ stable APIs
- Graceful fallback to v2alpha1 for older Cilium versions
- Lazy controller registration if Cilium isn't installed yet (background polling until available)
Motivation
Currently the operator hardcodes Cilium v2alpha1 API versions. As Cilium stabilizes its APIs, we should detect and prefer the stable v2 versions automatically.
Implementation Notes
- Probe the Kubernetes API server for available Cilium CRD versions
- Prefer v2, fall back to v2alpha1
- Register PoolSync and BGPSync controllers lazily via a
CiliumControllerStarter runnable
Summary
Auto-discover available Cilium API versions (v2 stable vs v2alpha1) at startup instead of hardcoding. This enables:
Motivation
Currently the operator hardcodes Cilium v2alpha1 API versions. As Cilium stabilizes its APIs, we should detect and prefer the stable v2 versions automatically.
Implementation Notes
CiliumControllerStarterrunnable