Merge pull request #116550 from alculquicondor/fix-bind-uid
Preserve UID and ResourceVersion in BindingREST Kubernetes-commit: 15894cfc85cab64df081bb753b8ccf32a243da68
This commit is contained in:
commit
0ad7c4e505
8
go.mod
8
go.mod
|
|
@ -42,9 +42,9 @@ require (
|
|||
google.golang.org/protobuf v1.28.1
|
||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
||||
gopkg.in/square/go-jose.v2 v2.6.0
|
||||
k8s.io/api v0.0.0-20230316002315-c80582ebe125
|
||||
k8s.io/api v0.0.0-20230316181320-bad7d34a01c9
|
||||
k8s.io/apimachinery v0.0.0-20230315054728-8d1258da8f38
|
||||
k8s.io/client-go v0.0.0-20230316040718-4666344cbcd7
|
||||
k8s.io/client-go v0.0.0-20230317001143-1517ffb8d37c
|
||||
k8s.io/component-base v0.0.0-20230315065615-6b9bb8ecc3d0
|
||||
k8s.io/klog/v2 v2.90.1
|
||||
k8s.io/kms v0.0.0-20230315071547-f5c193c64781
|
||||
|
|
@ -124,9 +124,9 @@ require (
|
|||
)
|
||||
|
||||
replace (
|
||||
k8s.io/api => k8s.io/api v0.0.0-20230316002315-c80582ebe125
|
||||
k8s.io/api => k8s.io/api v0.0.0-20230316181320-bad7d34a01c9
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20230315054728-8d1258da8f38
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20230316040718-4666344cbcd7
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20230317001143-1517ffb8d37c
|
||||
k8s.io/component-base => k8s.io/component-base v0.0.0-20230315065615-6b9bb8ecc3d0
|
||||
k8s.io/kms => k8s.io/kms v0.0.0-20230315071547-f5c193c64781
|
||||
)
|
||||
|
|
|
|||
8
go.sum
8
go.sum
|
|
@ -878,12 +878,12 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
|
|||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
k8s.io/api v0.0.0-20230316002315-c80582ebe125 h1:sNLUUpJNxIYmttU1YQIm4nhSD2jK3wOkSQVsqhlFh2A=
|
||||
k8s.io/api v0.0.0-20230316002315-c80582ebe125/go.mod h1:aZ6MBt4NMLXSxkSKFkoDaP4hTutnZIvH5dCSpOis9g4=
|
||||
k8s.io/api v0.0.0-20230316181320-bad7d34a01c9 h1:RX71Fts5hM4MOPrwU2mAILmdHSQipOntTKs8SVRvZNA=
|
||||
k8s.io/api v0.0.0-20230316181320-bad7d34a01c9/go.mod h1:aZ6MBt4NMLXSxkSKFkoDaP4hTutnZIvH5dCSpOis9g4=
|
||||
k8s.io/apimachinery v0.0.0-20230315054728-8d1258da8f38 h1:n1qDRCTPAXwyXYg7eSpWDO9FdW79lwAQ9dAr1vETpn4=
|
||||
k8s.io/apimachinery v0.0.0-20230315054728-8d1258da8f38/go.mod h1:5ikh59fK3AJ287GUvpUsryoMFtH9zj/ARfWCo3AyXTM=
|
||||
k8s.io/client-go v0.0.0-20230316040718-4666344cbcd7 h1:94RqmF9IE9dqxNjr6CRIlO+lVabE46SzrOptrmHAiCc=
|
||||
k8s.io/client-go v0.0.0-20230316040718-4666344cbcd7/go.mod h1:L61adAiamj+NzecNEOyWV9fYq4VVrOCcn2enXFUiJL8=
|
||||
k8s.io/client-go v0.0.0-20230317001143-1517ffb8d37c h1:29TaJLdOV+6YadAIsdLLH5ImjgMWTuEm3a/COrgIGoI=
|
||||
k8s.io/client-go v0.0.0-20230317001143-1517ffb8d37c/go.mod h1:+yf0C0ynOsv3GhBRexl/5CJzyS/uxZJ1Gtn6N5GuVmc=
|
||||
k8s.io/component-base v0.0.0-20230315065615-6b9bb8ecc3d0 h1:IjneP02MOB07PIP9+PQjKrOIZEZ5T7umR+GIZkU4h0U=
|
||||
k8s.io/component-base v0.0.0-20230315065615-6b9bb8ecc3d0/go.mod h1:kTuptveA6tUMLMKnaq4AbIAAk7IcdhwkbljAV3JZRpM=
|
||||
k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw=
|
||||
|
|
|
|||
|
|
@ -162,8 +162,13 @@ func createHandler(r rest.NamedCreater, scope *RequestScope, admit admission.Int
|
|||
userInfo, _ := request.UserFrom(ctx)
|
||||
|
||||
if objectMeta, err := meta.Accessor(obj); err == nil {
|
||||
// Wipe fields which cannot take user-provided values
|
||||
preserveObjectMetaSystemFields := false
|
||||
if c, ok := r.(rest.SubresourceObjectMetaPreserver); ok && len(scope.Subresource) > 0 {
|
||||
preserveObjectMetaSystemFields = c.PreserveRequestObjectMetaSystemFieldsOnSubresourceCreate()
|
||||
}
|
||||
if !preserveObjectMetaSystemFields {
|
||||
rest.WipeObjectMetaSystemFields(objectMeta)
|
||||
}
|
||||
|
||||
// ensure namespace on the object is correct, or error if a conflicting namespace was set in the object
|
||||
if err := rest.EnsureObjectNamespaceMatchesRequestNamespace(rest.ExpectedNamespaceForResource(namespace, scope.Resource), objectMeta); err != nil {
|
||||
|
|
|
|||
|
|
@ -209,6 +209,13 @@ type NamedCreater interface {
|
|||
Create(ctx context.Context, name string, obj runtime.Object, createValidation ValidateObjectFunc, options *metav1.CreateOptions) (runtime.Object, error)
|
||||
}
|
||||
|
||||
// SubresourceObjectMetaPreserver adds configuration options to a Creater for subresources.
|
||||
type SubresourceObjectMetaPreserver interface {
|
||||
// PreserveRequestObjectMetaSystemFieldsOnSubresourceCreate indicates that a
|
||||
// handler should preserve fields of ObjectMeta that are managed by the system.
|
||||
PreserveRequestObjectMetaSystemFieldsOnSubresourceCreate() bool
|
||||
}
|
||||
|
||||
// UpdatedObjectInfo provides information about an updated object to an Updater.
|
||||
// It requires access to the old object in order to return the newly updated object.
|
||||
type UpdatedObjectInfo interface {
|
||||
|
|
|
|||
Loading…
Reference in New Issue