Skip to content

Commit c0c31a2

Browse files
authored
fix: respect proxy protocol default from config for load balancer status (#1131)
1 parent 93f24b6 commit c0c31a2

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

hcloud/cloud.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func (c *cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
195195
Recorder: c.recorder,
196196
}
197197

198-
return newLoadBalancers(lbOps, c.cfg.LoadBalancer.PrivateIngressEnabled, c.cfg.LoadBalancer.IPv6Enabled), true
198+
return newLoadBalancers(lbOps, &c.cfg.LoadBalancer), true
199199
}
200200

201201
func (c *cloud) Clusters() (cloudprovider.Clusters, bool) {

hcloud/load_balancers.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"k8s.io/klog/v2"
1212

1313
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/annotation"
14+
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/config"
1415
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/hcops"
1516
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/metrics"
1617
"github.com/hetznercloud/hcloud-go/v2/hcloud"
@@ -30,17 +31,14 @@ type LoadBalancerOps interface {
3031
}
3132

3233
type loadBalancers struct {
33-
lbOps LoadBalancerOps
34-
ipv6EnabledDefault bool
35-
proxyProtocolEnabledDefault bool
36-
privateIngressEnabledDefault bool
34+
lbOps LoadBalancerOps
35+
cfg *config.LoadBalancerConfiguration
3736
}
3837

39-
func newLoadBalancers(lbOps LoadBalancerOps, privateIngressEnabledDefault bool, ipv6EnabledDefault bool) *loadBalancers {
38+
func newLoadBalancers(lbOps LoadBalancerOps, lbCfg *config.LoadBalancerConfiguration) *loadBalancers {
4039
return &loadBalancers{
41-
lbOps: lbOps,
42-
ipv6EnabledDefault: ipv6EnabledDefault,
43-
privateIngressEnabledDefault: privateIngressEnabledDefault,
40+
lbOps: lbOps,
41+
cfg: lbCfg,
4442
}
4543
}
4644

@@ -269,7 +267,7 @@ func (l *loadBalancers) getPrivateIngressEnabled(svc *corev1.Service) (bool, err
269267
return !disable, nil
270268
}
271269
if errors.Is(err, annotation.ErrNotSet) {
272-
return l.privateIngressEnabledDefault, nil
270+
return l.cfg.PrivateIngressEnabled, nil
273271
}
274272
return true, err
275273
}
@@ -280,7 +278,10 @@ func (l *loadBalancers) getProxyProtocolEnabled(svc *corev1.Service) (bool, erro
280278
return enable, nil
281279
}
282280
if errors.Is(err, annotation.ErrNotSet) {
283-
return l.proxyProtocolEnabledDefault, nil
281+
if l.cfg.ProxyProtocolEnabled == nil {
282+
return false, nil
283+
}
284+
return *l.cfg.ProxyProtocolEnabled, nil
284285
}
285286
return false, err
286287
}
@@ -291,7 +292,7 @@ func (l *loadBalancers) getIPv6Enabled(svc *corev1.Service) (bool, error) {
291292
return !disable, nil
292293
}
293294
if errors.Is(err, annotation.ErrNotSet) {
294-
return l.ipv6EnabledDefault, nil
295+
return l.cfg.IPv6Enabled, nil
295296
}
296297
return true, err
297298
}

hcloud/testing.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"k8s.io/apimachinery/pkg/types"
1010

1111
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/annotation"
12+
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/config"
1213
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/hcops"
1314
"github.com/hetznercloud/hcloud-cloud-controller-manager/internal/mocks"
1415
"github.com/hetznercloud/hcloud-go/v2/hcloud"
@@ -78,7 +79,12 @@ func (tt *LoadBalancerTestCase) run(t *testing.T) {
7879
tt.Mock(t, tt)
7980
}
8081

81-
tt.LoadBalancers = newLoadBalancers(tt.LBOps, *tt.UsePrivateIngressDefault, *tt.UseIPv6Default)
82+
lbConfig := &config.LoadBalancerConfiguration{
83+
PrivateIngressEnabled: *tt.UsePrivateIngressDefault,
84+
IPv6Enabled: *tt.UseIPv6Default,
85+
}
86+
87+
tt.LoadBalancers = newLoadBalancers(tt.LBOps, lbConfig)
8288
tt.Perform(t, tt)
8389

8490
tt.LBOps.AssertExpectations(t)

0 commit comments

Comments
 (0)