mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 05:57:25 +00:00
apiextensions: add x-kubernetes-embedded-resource wiring to handler
This commit is contained in:
parent
b51c800c16
commit
3cd511b86c
@ -605,6 +605,7 @@ func (r *crdHandler) getOrCreateServingInfoFor(crd *apiextensions.CustomResource
|
|||||||
kind,
|
kind,
|
||||||
validator,
|
validator,
|
||||||
statusValidator,
|
statusValidator,
|
||||||
|
structuralSchemas,
|
||||||
statusSpec,
|
statusSpec,
|
||||||
scaleSpec,
|
scaleSpec,
|
||||||
),
|
),
|
||||||
@ -1024,7 +1025,7 @@ func (v *unstructuredSchemaCoercer) apply(u *unstructured.Unstructured) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
objectMeta, foundObjectMeta, err := schemaobjectmeta.GetObjectMeta(u, v.dropInvalidMetadata)
|
objectMeta, foundObjectMeta, err := schemaobjectmeta.GetObjectMeta(u.Object, v.dropInvalidMetadata)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -1034,8 +1035,14 @@ func (v *unstructuredSchemaCoercer) apply(u *unstructured.Unstructured) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if !v.preserveUnknownFields && gv.Group == v.structuralSchemaGK.Group && kind == v.structuralSchemaGK.Kind {
|
if gv.Group == v.structuralSchemaGK.Group && kind == v.structuralSchemaGK.Kind {
|
||||||
structuralpruning.Prune(u.Object, v.structuralSchemas[gv.Version])
|
if !v.preserveUnknownFields {
|
||||||
|
// TODO: switch over pruning and coercing at the root to schemaobjectmeta.Coerce too
|
||||||
|
structuralpruning.Prune(u.Object, v.structuralSchemas[gv.Version], false)
|
||||||
|
}
|
||||||
|
if err := schemaobjectmeta.Coerce(nil, u.Object, v.structuralSchemas[gv.Version], false, v.dropInvalidMetadata); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// restore meta fields, starting clean
|
// restore meta fields, starting clean
|
||||||
@ -1046,7 +1053,7 @@ func (v *unstructuredSchemaCoercer) apply(u *unstructured.Unstructured) error {
|
|||||||
u.SetAPIVersion(apiVersion)
|
u.SetAPIVersion(apiVersion)
|
||||||
}
|
}
|
||||||
if foundObjectMeta {
|
if foundObjectMeta {
|
||||||
if err := schemaobjectmeta.SetObjectMeta(u, objectMeta); err != nil {
|
if err := schemaobjectmeta.SetObjectMeta(u.Object, objectMeta); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user