SMP merger and typeoverrides
New package: pkg/typeoverride
Types in this package are the structural equivalent of their original Kubernetes counterparts with the difference, that required fields are declared as optional using omitempty or in certain cases some fields are left off.
The purpose of this is that now these types can be embedded into CRDs and can be used to provide a convenient override mechanism for resources created inside an operator combined with the Merge function in pkg/merge
Breaking change
Changes the signature of the Merge function in pkg/merge
and Unmarshal results directly into base.
Depractions
Base types in the pkg/types
are now deprecated in favour of using pkg/typeoverride
with pkg/merge
Tooling
Upgrade controller-gen to v0.4.1 and fix makefile to always use locally installed version