feat: make OverlayExtensionConfig `ExtensionIPRange` field immutable (#3056)

feat: make extensionIPRange field immutable
This commit is contained in:
robogatikov 2024-11-01 13:35:47 -04:00 коммит произвёл GitHub
Родитель 2938c1feb6
Коммит 5d14000083
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
2 изменённых файлов: 14 добавлений и 2 удалений

Просмотреть файл

@ -31,9 +31,13 @@ type OverlayExtensionConfigList struct {
}
// OverlayExtensionConfigSpec defines the desired state of OverlayExtensionConfig.
// +kubebuilder:validation:XValidation:rule="!has(oldSelf.extensionIPRange) || has(self.extensionIPRange)", message="ExtensionIPRange is required once set"
type OverlayExtensionConfigSpec struct {
// ExtensionIPRange field defines a CIDR that should be able to reach routing domain ip addresses.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
// +kubebuilder:validation:MaxLength=43
// 43 is max length of IPv6 CIDR string
ExtensionIPRange string `json:"extensionIPRange,omitempty"`
}

Просмотреть файл

@ -48,10 +48,18 @@ spec:
description: OverlayExtensionConfigSpec defines the desired state of OverlayExtensionConfig.
properties:
extensionIPRange:
description: ExtensionIPRange field defines a CIDR that should be
able to reach routing domain ip addresses.
description: |-
ExtensionIPRange field defines a CIDR that should be able to reach routing domain ip addresses.
43 is max length of IPv6 CIDR string
maxLength: 43
type: string
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
type: object
x-kubernetes-validations:
- message: ExtensionIPRange is required once set
rule: '!has(oldSelf.extensionIPRange) || has(self.extensionIPRange)'
status:
description: OverlayExtensionConfigStatus defines the observed state of
OverlayExtensionConfig