Merge pull request #102150 from julianvmodesto/ssa-big-last-applied-followup
Make apimachineryvalidation.totalAnnotationSizeLimitB public Kubernetes-commit: 5078091aa5b82bd1de32d209a489645d50713705
This commit is contained in:
commit
e78fb1931d
|
|
@ -928,7 +928,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/apimachinery",
|
"ImportPath": "k8s.io/apimachinery",
|
||||||
"Rev": "cfc896c115eb"
|
"Rev": "2dd32d74a857"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/client-go",
|
"ImportPath": "k8s.io/client-go",
|
||||||
|
|
|
||||||
4
go.mod
4
go.mod
|
|
@ -39,7 +39,7 @@ require (
|
||||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
||||||
gopkg.in/square/go-jose.v2 v2.2.2
|
gopkg.in/square/go-jose.v2 v2.2.2
|
||||||
k8s.io/api v0.0.0-20210523150857-a16591c7eddc
|
k8s.io/api v0.0.0-20210523150857-a16591c7eddc
|
||||||
k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb
|
k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857
|
||||||
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d
|
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d
|
||||||
k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f
|
k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f
|
||||||
k8s.io/klog/v2 v2.8.0
|
k8s.io/klog/v2 v2.8.0
|
||||||
|
|
@ -52,7 +52,7 @@ require (
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
k8s.io/api => k8s.io/api v0.0.0-20210523150857-a16591c7eddc
|
k8s.io/api => k8s.io/api v0.0.0-20210523150857-a16591c7eddc
|
||||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb
|
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857
|
||||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d
|
k8s.io/client-go => k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d
|
||||||
k8s.io/component-base => k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f
|
k8s.io/component-base => k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f
|
||||||
)
|
)
|
||||||
|
|
|
||||||
4
go.sum
4
go.sum
|
|
@ -686,8 +686,8 @@ honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3
|
||||||
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.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||||
k8s.io/api v0.0.0-20210523150857-a16591c7eddc h1:MY1s8HL0z3c7g23mc5sawXXsIBL/kp89slIVNKz9mZ8=
|
k8s.io/api v0.0.0-20210523150857-a16591c7eddc h1:MY1s8HL0z3c7g23mc5sawXXsIBL/kp89slIVNKz9mZ8=
|
||||||
k8s.io/api v0.0.0-20210523150857-a16591c7eddc/go.mod h1:OYWcx23Cf4qX54GQBQLeSSUlvOAvbgMucgB0TrADRHU=
|
k8s.io/api v0.0.0-20210523150857-a16591c7eddc/go.mod h1:OYWcx23Cf4qX54GQBQLeSSUlvOAvbgMucgB0TrADRHU=
|
||||||
k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb h1:kxJH/Hf/+EnvbMiymbBbJ5nVuiQjcHZjfgI57rCtSDc=
|
k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857 h1:WfW9c4wjCfgnqzt83cp2oBTkoKPJwypA05uG6wNC5Ms=
|
||||||
k8s.io/apimachinery v0.0.0-20210521150646-cfc896c115eb/go.mod h1:8Ay3sPKuJtD/dIjPSlQVgJeuW/8JmLTCqDeAv6NSCxU=
|
k8s.io/apimachinery v0.0.0-20210526000320-2dd32d74a857/go.mod h1:8Ay3sPKuJtD/dIjPSlQVgJeuW/8JmLTCqDeAv6NSCxU=
|
||||||
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d h1:3OFKvpkqCdzq+OHoMpZnEY8mW3Hnf4rW7W5ADPrbLLQ=
|
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d h1:3OFKvpkqCdzq+OHoMpZnEY8mW3Hnf4rW7W5ADPrbLLQ=
|
||||||
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d/go.mod h1:EWkJNCU4qOSWrtM+poIXCY937ArhI5w0ACG3zkw0qXE=
|
k8s.io/client-go v0.0.0-20210524185628-39cb8cd8c11d/go.mod h1:EWkJNCU4qOSWrtM+poIXCY937ArhI5w0ACG3zkw0qXE=
|
||||||
k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f h1:5WGHsufGjyHFfwMXj0R/nilyN7HzOrb1XqGO6NErjDY=
|
k8s.io/component-base v0.0.0-20210521071829-2a2fe9bbf92f h1:5WGHsufGjyHFfwMXj0R/nilyN7HzOrb1XqGO6NErjDY=
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,11 @@ import (
|
||||||
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
const totalAnnotationSizeLimitB int64 = 256 * (1 << 10) // 256 kB
|
|
||||||
|
|
||||||
type lastAppliedUpdater struct {
|
type lastAppliedUpdater struct {
|
||||||
fieldManager Manager
|
fieldManager Manager
|
||||||
}
|
}
|
||||||
|
|
@ -94,7 +93,7 @@ func setLastApplied(obj runtime.Object, value string) error {
|
||||||
annotations = map[string]string{}
|
annotations = map[string]string{}
|
||||||
}
|
}
|
||||||
annotations[corev1.LastAppliedConfigAnnotation] = value
|
annotations[corev1.LastAppliedConfigAnnotation] = value
|
||||||
if isAnnotationsValid(annotations) != nil {
|
if err := apimachineryvalidation.ValidateAnnotationsSize(annotations); err != nil {
|
||||||
delete(annotations, corev1.LastAppliedConfigAnnotation)
|
delete(annotations, corev1.LastAppliedConfigAnnotation)
|
||||||
}
|
}
|
||||||
accessor.SetAnnotations(annotations)
|
accessor.SetAnnotations(annotations)
|
||||||
|
|
@ -120,14 +119,3 @@ func buildLastApplied(obj runtime.Object) (string, error) {
|
||||||
}
|
}
|
||||||
return string(lastApplied), nil
|
return string(lastApplied), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func isAnnotationsValid(annotations map[string]string) error {
|
|
||||||
var totalSize int64
|
|
||||||
for k, v := range annotations {
|
|
||||||
totalSize += (int64)(len(k)) + (int64)(len(v))
|
|
||||||
}
|
|
||||||
if totalSize > (int64)(totalAnnotationSizeLimitB) {
|
|
||||||
return fmt.Errorf("annotations size %d is larger than limit %d", totalSize, totalAnnotationSizeLimitB)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue