Skip to content

Commit dd76710

Browse files
committed
update lb to support cluster_id annotation
1 parent e79e9a3 commit dd76710

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

serverscom/loadbalancers.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const (
1818
loadBalancerHostnameAnnotation = "servers.com/load-balancer-hostname"
1919
loadBalancerLocationIdAnnotation = "servers.com/load-balancer-location-id"
2020
loadBalancerProxyProtocolAnnotation = "servers.com/proxy-protocol"
21+
loadBalancerClusterAnnotation = "servers.com/cluster-id"
2122
)
2223

2324
type loadBalancers struct {
@@ -67,6 +68,8 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
6768
return nil, err
6869
}
6970

71+
lbClusterID := l.extractLBClusterID(service)
72+
7073
if loadBalancer == nil {
7174
locationID, err := l.extractLocationID(service)
7275
if err != nil {
@@ -78,6 +81,7 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
7881
input.UpstreamZones = upstreamZones
7982
input.LocationID = locationID
8083
input.Name = l.GetLoadBalancerName(ctx, clusterName, service)
84+
input.ClusterID = lbClusterID
8185

8286
loadBalancer, err = l.client.LoadBalancers.CreateL4LoadBalancer(ctx, input)
8387
if err != nil {
@@ -94,6 +98,7 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
9498
input.VHostZones = vhostZones
9599
input.UpstreamZones = upstreamZones
96100
input.Name = &name
101+
input.ClusterID = lbClusterID
97102

98103
loadBalancer, err = l.client.LoadBalancers.UpdateL4LoadBalancer(ctx, loadBalancer.ID, input)
99104
if err != nil {
@@ -285,3 +290,13 @@ func (l *loadBalancers) buildResult(service *v1.Service, loadBalancer *cli.L4Loa
285290

286291
return &v1.LoadBalancerStatus{Ingress: ingresses}
287292
}
293+
294+
func (l *loadBalancers) extractLBClusterID(service *v1.Service) string {
295+
var clusterID string
296+
297+
if id, ok := service.Annotations[loadBalancerClusterAnnotation]; ok {
298+
clusterID = id
299+
}
300+
301+
return clusterID
302+
}

0 commit comments

Comments
 (0)