diff --git a/api/v1/qdrantcluster_types.go b/api/v1/qdrantcluster_types.go
index e515501..7c70a1a 100644
--- a/api/v1/qdrantcluster_types.go
+++ b/api/v1/qdrantcluster_types.go
@@ -273,6 +273,9 @@ type KubernetesService struct {
// Annotations specifies the annotations for the Service.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
+ // LoadBalancerSourceRanges specifies the allowed CIDR source ranges for the loadBalancer Service.
+ // +optional
+ LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
}
func (s *KubernetesService) GetType() corev1.ServiceType {
diff --git a/api/v1/zz_generated.deepcopy.go b/api/v1/zz_generated.deepcopy.go
index 7a0c9b5..c1edb97 100644
--- a/api/v1/zz_generated.deepcopy.go
+++ b/api/v1/zz_generated.deepcopy.go
@@ -289,6 +289,11 @@ func (in *KubernetesService) DeepCopyInto(out *KubernetesService) {
(*out)[key] = val
}
}
+ if in.LoadBalancerSourceRanges != nil {
+ in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesService.
diff --git a/charts/qdrant-kubernetes-api/templates/region-crds/qdrant.io_qdrantclusters.yaml b/charts/qdrant-kubernetes-api/templates/region-crds/qdrant.io_qdrantclusters.yaml
index 693c2b4..1ec0328 100644
--- a/charts/qdrant-kubernetes-api/templates/region-crds/qdrant.io_qdrantclusters.yaml
+++ b/charts/qdrant-kubernetes-api/templates/region-crds/qdrant.io_qdrantclusters.yaml
@@ -744,6 +744,12 @@ spec:
type: string
description: Annotations specifies the annotations for the Service.
type: object
+ loadBalancerSourceRanges:
+ description: LoadBalancerSourceRanges specifies the allowed CIDR
+ source ranges for the loadBalancer Service.
+ items:
+ type: string
+ type: array
type:
default: ClusterIP
description: 'Type specifies the type of the Service: "ClusterIP",
diff --git a/crds/qdrant.io_qdrantclusters.yaml b/crds/qdrant.io_qdrantclusters.yaml
index daed69f..133f542 100644
--- a/crds/qdrant.io_qdrantclusters.yaml
+++ b/crds/qdrant.io_qdrantclusters.yaml
@@ -743,6 +743,12 @@ spec:
type: string
description: Annotations specifies the annotations for the Service.
type: object
+ loadBalancerSourceRanges:
+ description: LoadBalancerSourceRanges specifies the allowed CIDR
+ source ranges for the loadBalancer Service.
+ items:
+ type: string
+ type: array
type:
default: ClusterIP
description: 'Type specifies the type of the Service: "ClusterIP",
diff --git a/docs/api.md b/docs/api.md
index c81fa84..d5b402c 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -457,6 +457,7 @@ _Appears in:_
| --- | --- | --- | --- |
| `type` _[ServiceType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#servicetype-v1-core)_ | Type specifies the type of the Service: "ClusterIP", "NodePort", "LoadBalancer". | ClusterIP | Optional: \{\}
|
| `annotations` _object (keys:string, values:string)_ | Annotations specifies the annotations for the Service. | | Optional: \{\}
|
+| `loadBalancerSourceRanges` _string array_ | LoadBalancerSourceRanges specifies the allowed CIDR source ranges for the loadBalancer Service. | | Optional: \{\}
|
#### KubernetesStatefulSet