Skip to content

Commit 97df483

Browse files
mlowjcmoraisjr
authored andcommitted
Allow setting the spec.loadBalancerClass of created Services (#77)
1 parent fa1427b commit 97df483

File tree

5 files changed

+18
-2
lines changed

5 files changed

+18
-2
lines changed

haproxy-ingress/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ Parameter | Description | Default
194194
`controller.service.extraPorts` | list of extra TCP ports that should be added to the controller service | `[]`
195195
`controller.service.ipFamilies` | list of IP families assigned to the service (for dual-stack) | `nil`
196196
`controller.service.ipFamilyPolicy` | represents the dual-stack-ness of the service | `nil`
197+
`controller.service.loadBalancerClass` | The loadBalancerClass of the controller service | `""`
197198
`controller.service.loadBalancerIP` | IP address to assign to load balancer (if supported) | `""`
198199
`controller.service.loadBalancerSourceRanges` | | `[]`
199200
`controller.service.httpPorts` | The http ports to open, that map to the Ingress' port 80. Each entry specifies a `port`, `targetPort` and an optional `nodePort`. | `[ port: 80, targetPort: http ]`
@@ -222,6 +223,7 @@ Parameter | Description | Default
222223
`controller.metrics.service.annotations` | annotations for metrics service | `{}`
223224
`controller.metrics.service.clusterIP` | internal metrics cluster service IP | `nil`
224225
`controller.metrics.service.externalIPs` | list of IP addresses at which the metrics service is available | `[]`
226+
`controller.metrics.service.loadBalancerClass` | The loadBalancerClass of the service | `""`
225227
`controller.metrics.service.loadBalancerIP` | IP address to assign to load balancer (if supported) | `""`
226228
`controller.metrics.service.loadBalancerSourceRanges` | | `[]`
227229
`controller.metrics.service.servicePort` | the port number exposed by the metrics service | `9101`
@@ -266,7 +268,8 @@ Parameter | Description | Default
266268
`defaultBackend.service.name` | name of default backend service to create | `ingress-default-backend`
267269
`defaultBackend.service.annotations` | annotations for metrics service | `{}`
268270
`defaultBackend.service.clusterIP` | internal metrics cluster service IP | `nil`
269-
`defaultBackend.service.externalIPs` | list of IP addresses at which the metrics service is available | `[]`
271+
`defaultBackend.service.externalIPs` | list of externalIPs for the defaultBackend service | `[]`
272+
`defaultBackend.service.loadBalancerClass` | The loadBalancerClass of the service | `""`
270273
`defaultBackend.service.loadBalancerIP` | IP address to assign to load balancer (if supported) | `""`
271274
`defaultBackend.service.loadBalancerSourceRanges` | | `[]`
272275
`defaultBackend.service.servicePort` | the port number exposed by the metrics service | `1936`

haproxy-ingress/templates/controller-metrics-service.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ spec:
2121
externalIPs:
2222
{{- toYaml .Values.controller.metrics.service.externalIPs | nindent 4 }}
2323
{{- end }}
24+
{{- if .Values.controller.metrics.service.loadBalancerClass }}
25+
loadBalancerClass: "{{ .Values.controller.metrics.service.loadBalancerClass }}"
26+
{{- end }}
2427
{{- if .Values.controller.metrics.service.loadBalancerIP }}
2528
loadBalancerIP: "{{ .Values.controller.metrics.service.loadBalancerIP }}"
2629
{{- end }}

haproxy-ingress/templates/controller-service.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ spec:
3636
{{- if .Values.controller.service.ipFamilyPolicy }}
3737
ipFamilyPolicy: {{ .Values.controller.service.ipFamilyPolicy | quote }}
3838
{{- end }}
39+
{{- if .Values.controller.service.loadBalancerClass }}
40+
loadBalancerClass: "{{ .Values.controller.service.loadBalancerClass }}"
41+
{{- end }}
3942
{{- if .Values.controller.service.loadBalancerIP }}
4043
loadBalancerIP: "{{ .Values.controller.service.loadBalancerIP }}"
4144
{{- end }}

haproxy-ingress/templates/default-backend-service.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ spec:
1818
externalIPs:
1919
{{- toYaml .Values.defaultBackend.service.externalIPs | nindent 4 }}
2020
{{- end }}
21+
{{- if .Values.defaultBackend.service.loadBalancerClass }}
22+
loadBalancerClass: "{{ .Values.defaultBackend.service.loadBalancerClass }}"
23+
{{- end }}
2124
{{- if .Values.defaultBackend.service.loadBalancerIP }}
2225
loadBalancerIP: "{{ .Values.defaultBackend.service.loadBalancerIP }}"
2326
{{- end }}

haproxy-ingress/values.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ controller:
269269
##
270270
nodeSelector: {}
271271

272-
## The 'publishService' setting allows customization of the source of the IP address or FQDN to report
272+
## The 'publishService' setting allows customization of the source of the IP address or FQDN to report
273273
## in the ingress status field. If disabled (default), the field will not be set by the controller.
274274
## If enabled, it reads the information provided by the service, unless pathOverride is specified.
275275
## If a value for 'publish-service' is specified in controller.extraArgs, it overrides this setting.
@@ -301,6 +301,7 @@ controller:
301301
# ipFamilies: [IPv4]
302302
# ipFamilyPolicy: PreferDualStack
303303

304+
loadBalancerClass: ""
304305
loadBalancerIP: ""
305306
loadBalancerSourceRanges: []
306307

@@ -438,6 +439,7 @@ controller:
438439
##
439440
externalIPs: []
440441

442+
loadBalancerClass: ""
441443
loadBalancerIP: ""
442444
loadBalancerSourceRanges: []
443445
servicePort: 9101
@@ -585,8 +587,10 @@ defaultBackend:
585587
##
586588
externalIPs: []
587589

590+
loadBalancerClass: ""
588591
loadBalancerIP: ""
589592
loadBalancerSourceRanges: []
593+
590594
servicePort: 8080
591595
type: ClusterIP
592596

0 commit comments

Comments
 (0)