@@ -78,12 +78,20 @@ var FieldOnlyMarkers = []*definitionWithHelp{
78
78
must (markers .MakeAnyTypeDefinition ("kubebuilder:default" , markers .DescribesField , Default {})).
79
79
WithHelp (Default {}.Help ()),
80
80
81
- must (markers .MakeDefinition ("kubebuilder:pruning:PreserveUnknownFields" , markers .DescribesField , XPreserveUnknownFields {})).
82
- WithHelp (XPreserveUnknownFields {}.Help ()),
83
81
must (markers .MakeDefinition ("kubebuilder:validation:EmbeddedResource" , markers .DescribesField , XEmbeddedResource {})).
84
82
WithHelp (XEmbeddedResource {}.Help ()),
85
83
}
86
84
85
+ // ValidationIshMarkers are field-and-type markers that don't fall under the
86
+ // :validation: prefix, and/or don't have a name that directly matches their
87
+ // type.
88
+ var ValidationIshMarkers = []* definitionWithHelp {
89
+ must (markers .MakeDefinition ("kubebuilder:pruning:PreserveUnknownFields" , markers .DescribesField , XPreserveUnknownFields {})).
90
+ WithHelp (XPreserveUnknownFields {}.Help ()),
91
+ must (markers .MakeDefinition ("kubebuilder:pruning:PreserveUnknownFields" , markers .DescribesType , XPreserveUnknownFields {})).
92
+ WithHelp (XPreserveUnknownFields {}.Help ()),
93
+ }
94
+
87
95
func init () {
88
96
AllDefinitions = append (AllDefinitions , ValidationMarkers ... )
89
97
@@ -99,6 +107,7 @@ func init() {
99
107
}
100
108
101
109
AllDefinitions = append (AllDefinitions , FieldOnlyMarkers ... )
110
+ AllDefinitions = append (AllDefinitions , ValidationIshMarkers ... )
102
111
}
103
112
104
113
// +controllertools:marker:generateHelp:category="CRD validation"
@@ -191,6 +200,10 @@ type Default struct {
191
200
// if nested properties or additionalProperties are specified in the schema.
192
201
// This can either be true or undefined. False
193
202
// is forbidden.
203
+ //
204
+ // NB: The kubebuilder:validation:XPreserveUnknownFields variant is deprecated
205
+ // in favor of the kubebuilder:pruning:PreserveUnknownFields variant. They function
206
+ // identically.
194
207
type XPreserveUnknownFields struct {}
195
208
196
209
// +controllertools:marker:generateHelp:category="CRD validation"
0 commit comments