Remove reference to internal types in kuberc types
* Remove unserialized types from public APIs
Also remove defaulting
* Don't do conversion gen for plugin policy types
Because the plugin policy types are explicitly allowed to be empty, they
should not affect conversion. The autogenerated conversion functions for
the `Preference` type will leave those fields empty.
* Remove defaulting tests
Comments and simplifications (h/t jordan liggitt)
Signed-off-by: Peter Engelbert <pmengelbert@gmail.com>
- Rescheduling on binding failure using taints or device removal
- Triggering binding timeout when BindingConditions remain unmet
- Recovery to a device without BindingConditions after binding timeout
Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
To improve maintainability and reduce the size of dra_test.go,
this commit extracts the function "testDeviceBindingConditions"
into a new file: binding_conditions_test.go.
No functional changes are introduced.
Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
Add comprehensive integration tests covering:
- Peer-aggregated discovery merging across multiple API servers
- CRD/APIService exclusion from peer discovery
- Profile-based content negotiation (nopeer)
- Cache invalidation on local discovery changes
- Request routing to peer servers
Part of KEP-4020: Unknown Version Interoperability Proxy
Wire up peer proxy infrastructure in kube-apiserver:
- Add UnknownVersionInteroperabilityProxy feature gate
- Configure peer proxy with identity lease selectors
- Register CRD and APIService informers with exclusion filters
- Start peer discovery sync and GV cleanup workers
Includes extractors for CRDs and APIServices to identify which
GroupVersions should be excluded from peer discovery.
Part of KEP-4020: Unknown Version Interoperability Proxy
Integrate peerproxy and peer-aggregated discovery into generic API server:
- Add PeerProxyConfiguration to server config
- Wire up peer discovery cache sync as post-start hook
- Connect local discovery invalidation callbacks
- Add GV deletion workers and reaper for safe cleanup
Part of KEP-4020: Unknown Version Interoperability Proxy
Add callback mechanism to notify peer-aggregated discovery handler
when local discovery changes, enabling efficient cache invalidation.
Part of KEP-4020: Unknown Version Interoperability Proxy
Implement peer-aggregated discovery that merges local and peer discovery
documents into a unified view. Features:
- Deterministic merging using topological sort
- Short-circuit optimizations when content/order unchanged
- Resource capability merging (verbs, subresources)
- ETag-based caching
- Prometheus metrics for cache hits/misses
The wrapper routes requests to either local-only or peer-aggregated
handlers based on Accept header profile.
Part of KEP-4020: Unknown Version Interoperability Proxy
Add support for 'profile=nopeer' in Accept headers to allow clients
to opt out of peer-aggregated discovery and request local-only results.
Updates discovery client to set appropriate Accept headers based on
whether peer-aggregated discovery is desired.
Part of KEP-4020: Unknown Version Interoperability Proxy