Slide 20
Slide 20 text
▶ Immutable ConfigMap の実装
20
if oldCfg.Immutable != nil && *oldCfg.Immutable {
if newCfg.Immutable == nil || !*newCfg.Immutable {
allErrs = append(allErrs, field.Forbidden(field.NewPath("immutable"), "field is
immutable when `immutable` is set"))
}
if !reflect.DeepEqual(newCfg.Data, oldCfg.Data) {
allErrs = append(allErrs, field.Forbidden(field.NewPath("data"), "field is immutable
when `immutable` is set"))
}
if !reflect.DeepEqual(newCfg.BinaryData, oldCfg.BinaryData) {
allErrs = append(allErrs, field.Forbidden(field.NewPath("binaryData"), "field is
immutable when `immutable` is set"))
}
}
https://github.com/kubernetes/kubernetes/blob/v1.19.2/pkg/apis/core/validation/validation.go#L5234 ΑΓൈਮ