@@ -19,6 +19,9 @@ const (
1919 loadBalancerLocationIdAnnotation = "servers.com/load-balancer-location-id"
2020 loadBalancerProxyProtocolAnnotation = "servers.com/proxy-protocol"
2121 loadBalancerClusterAnnotation = "servers.com/cluster-id"
22+
23+ loadBalancerServiceUUIDLabel = "k8s.servers.com/service-id"
24+ loadBalancerClusterNameLabel = "k8s.servers.com/cluster-name"
2225)
2326
2427type loadBalancers struct {
@@ -71,6 +74,11 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
7174 // empty value for cluster id still returns nil
7275 lbClusterID := l .extractLBClusterID (service )
7376
77+ defaultLabels := map [string ]string {
78+ loadBalancerServiceUUIDLabel : string (service .UID ),
79+ loadBalancerClusterNameLabel : sanitizeLabelValue (clusterName ),
80+ }
81+
7482 if loadBalancer == nil {
7583 locationID , err := l .extractLocationID (service )
7684 if err != nil {
@@ -83,6 +91,7 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
8391 input .LocationID = locationID
8492 input .Name = l .GetLoadBalancerName (ctx , clusterName , service )
8593 input .ClusterID = lbClusterID
94+ input .Labels = defaultLabels
8695
8796 loadBalancer , err = l .client .LoadBalancers .CreateL4LoadBalancer (ctx , input )
8897 if err != nil {
@@ -95,6 +104,7 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
95104 } else {
96105 name := l .GetLoadBalancerName (ctx , clusterName , service )
97106
107+ mergedLabels := mergeDefaultLabels (loadBalancer .Labels , defaultLabels )
98108 input := cli.L4LoadBalancerUpdateInput {}
99109 input .VHostZones = vhostZones
100110 input .UpstreamZones = upstreamZones
@@ -104,6 +114,7 @@ func (l *loadBalancers) EnsureLoadBalancer(ctx context.Context, clusterName stri
104114 input .SharedCluster = new (bool )
105115 * input .SharedCluster = true
106116 }
117+ input .Labels = mergedLabels
107118
108119 loadBalancer , err = l .client .LoadBalancers .UpdateL4LoadBalancer (ctx , loadBalancer .ID , input )
109120 if err != nil {
@@ -128,13 +139,19 @@ func (l *loadBalancers) UpdateLoadBalancer(ctx context.Context, clusterName stri
128139 if err != nil {
129140 return err
130141 }
142+ defaultLabels := map [string ]string {
143+ loadBalancerServiceUUIDLabel : string (service .UID ),
144+ loadBalancerClusterNameLabel : sanitizeLabelValue (clusterName ),
145+ }
146+ mergedLabels := mergeDefaultLabels (loadBalancer .Labels , defaultLabels )
131147
132148 name := l .GetLoadBalancerName (ctx , clusterName , service )
133149
134150 input := cli.L4LoadBalancerUpdateInput {}
135151 input .VHostZones = vhostZones
136152 input .UpstreamZones = upstreamZones
137153 input .Name = & name
154+ input .Labels = mergedLabels
138155
139156 _ , err = l .client .LoadBalancers .UpdateL4LoadBalancer (ctx , loadBalancer .ID , input )
140157 if err != nil {
0 commit comments