-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Add k8s.io/client-go/applyconfigurations style *ApplyConfigurations for the included CRDs #5783
Description
Is your feature request related to a problem? Please describe.
When creating an operator using server side apply is a very useful tool to reduce complexity in the Reconcile function.
client-go has *ApplyConfigurations for all k8s objects. It would be very useful to have the same in this project, so downstream API users could use those as well.
Describe the solution you'd like
Somewhere in the build systems or scripts run applyconfiguration-gen (and probably something to generate the required openapi.json files). That then allows for example operator-sdk or kubebuilder projects to include these with the Apply clients.
Describe alternatives you've considered
You can use the Unstructured schemas and raw patch endpoints to do the same thing but the .With*(value) functions and the apply endpoints are much much nicer to use. So that this would be possible with for example the cert-manager.io/v1/Certificate entity.
Upon searching further there seem to be several PRs open for this.
#5083
#5383
/kind feature