Skip to content

Commit bdaec33

Browse files
authored
Merge pull request #988 from weaveworks/add-ingress-to-helm-chart
add ingress template to helm chart
2 parents 7d2cf17 + 29bc369 commit bdaec33

File tree

2 files changed

+84
-1
lines changed

2 files changed

+84
-1
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{{- if .Values.ingress.enabled -}}
2+
{{- $svcName := (or .Values.ingress.service.name "clusters-service") -}}
3+
{{- $svcPort := (or .Values.ingress.service.port .Values.service.ports.https) | required ".Values.ingress.service.port or .Values.service.ports.https is required" -}}
4+
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
5+
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
6+
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
7+
{{- end }}
8+
{{- end }}
9+
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
10+
apiVersion: networking.k8s.io/v1
11+
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
12+
apiVersion: networking.k8s.io/v1beta1
13+
{{- else -}}
14+
apiVersion: extensions/v1beta1
15+
{{- end }}
16+
kind: Ingress
17+
metadata:
18+
name: {{ include "mccp.fullname" . }}-ingress
19+
labels:
20+
{{- include "mccp.labels" . | nindent 4 }}
21+
{{- with .Values.ingress.annotations }}
22+
annotations:
23+
{{- toYaml . | nindent 4 }}
24+
{{- end }}
25+
spec:
26+
{{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
27+
ingressClassName: {{ .Values.ingress.className }}
28+
{{- end }}
29+
{{- if .Values.ingress.tls }}
30+
tls:
31+
{{- range .Values.ingress.tls }}
32+
- hosts:
33+
{{- range .hosts }}
34+
- {{ . | quote }}
35+
{{- end }}
36+
secretName: {{ .secretName }}
37+
{{- end }}
38+
{{- end }}
39+
rules:
40+
{{- range .Values.ingress.hosts }}
41+
- host: {{ .host | quote }}
42+
http:
43+
paths:
44+
{{- range .paths }}
45+
- path: {{ .path }}
46+
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
47+
pathType: {{ .pathType }}
48+
{{- end }}
49+
backend:
50+
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
51+
service:
52+
name: {{ $svcName }}
53+
port:
54+
number: {{ $svcPort }}
55+
{{- else }}
56+
serviceName: {{ $svcName }}
57+
servicePort: {{ $svcPort }}
58+
{{- end }}
59+
{{- end }}
60+
{{- end }}
61+
{{- end }}

charts/mccp/values.yaml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,26 @@ service:
8181
healthCheckNodePort: 0
8282

8383
cluster-controller:
84-
enabled: true
84+
enabled: true
85+
86+
ingress:
87+
enabled: false
88+
className: ""
89+
# Service target information for ingress
90+
# Port is required if no 'https' service port is defined
91+
service:
92+
name: ""
93+
port: ""
94+
annotations: {}
95+
# kubernetes.io/ingress.class: nginx
96+
# kubernetes.io/tls-acme: "true"
97+
hosts:
98+
# - host: chart-example.local
99+
# paths:
100+
# - path: /
101+
# pathType: ImplementationSpecific
102+
#
103+
tls: []
104+
# - secretName: chart-example-tls
105+
# hosts:
106+
# - chart-example.local

0 commit comments

Comments
 (0)