You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// EnableGRPCGateway enables the gRPC-Gateway proxy for etcd.
@@ -310,8 +310,10 @@ type SchedulingConstraints struct {
310
310
}
311
311
312
312
// EtcdSpec defines the desired state of Etcd
313
-
// +kubebuilder:validation:XValidation:message="etcd.spec.storageClass is an immutable field.",rule="has(oldSelf.storageClass) == has(self.storageClass)"
314
-
// +kubebuilder:validation:XValidation:message="etcd.spec.volumeClaimTemplate is an immutable field.",rule="has(oldSelf.volumeClaimTemplate) == has(self.volumeClaimTemplate)"
313
+
// +kubebuilder:validation:XValidation:message="etcd.spec.storageClass field cannot be added or removed dynamically.",rule="has(oldSelf.storageClass) == has(self.storageClass)"
314
+
// +kubebuilder:validation:XValidation:message="etcd.spec.volumeClaimTemplate field cannot be added or removed dynamically.",rule="has(oldSelf.volumeClaimTemplate) == has(self.volumeClaimTemplate)"
315
+
// +kubebuilder:validation:XValidation:message="etcd.spec.replicas must be equal to length of etcd.spec.externallyManagedMemberAddresses when etcd.spec.externallyManagedMemberAddresses is specified.",rule="has(self.externallyManagedMemberAddresses) ? self.replicas == self.externallyManagedMemberAddresses.size() : true"
316
+
// +kubebuilder:validation:XValidation:message="etcd.spec.externallyManagedMemberAddresses field cannot be added or removed dynamically.",rule="has(oldSelf.externallyManagedMemberAddresses) == has(self.externallyManagedMemberAddresses)"
315
317
typeEtcdSpecstruct {
316
318
// selector is a label query over pods that should match the replica count.
317
319
// It must match the pod template's labels.
@@ -358,6 +360,12 @@ type EtcdSpec struct {
358
360
// run as root. By default, they run as non-root with user 'nobody'.
359
361
// +optional
360
362
RunAsRoot*bool`json:"runAsRoot,omitempty"`
363
+
// ExternallyManagedMemberAddresses defines the list of addresses of externally managed etcd members. Specifying this
364
+
// will disable components that are involved in management of etcd members like Pods, Services and PDBs.
365
+
// Allowed values include: IPv4/IPv6 addresses and hostnames. Protocol or port shall not be specified.
0 commit comments