Skip to content

Commit 5ddb508

Browse files
chore: multi cluster for api
1 parent bba1840 commit 5ddb508

File tree

6 files changed

+77
-1
lines changed

6 files changed

+77
-1
lines changed

manifests/bucketeer/charts/api/templates/ingress.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if not .Values.gcpMultiCluster.enabled }}
12
apiVersion: networking.k8s.io/v1
23
kind: Ingress
34
metadata:
@@ -23,3 +24,4 @@ spec:
2324
- host: {{ .Values.ingress.host }}
2425
http:
2526
paths: {{- toYaml .Values.ingress.rulePaths | nindent 10 }}
27+
{{- end }}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{{- if .Values.gcpMultiCluster.enabled }}
2+
apiVersion: networking.gke.io/v1
3+
kind: MultiClusterIngress
4+
metadata:
5+
name: {{ .Values.gcpMultiCluster.ingress.name }}
6+
namespace: {{ .Values.namespace }}
7+
labels:
8+
app: {{ template "api.name" . }}
9+
chart: {{ template "api.chart" . }}
10+
release: {{ template "api.fullname" . }}
11+
heritage: {{ .Release.Service }}
12+
annotations:
13+
networking.gke.io/static-ip: {{ .Values.gcpMultiCluster.ingress.staticIPName }}
14+
spec:
15+
template:
16+
spec:
17+
backend:
18+
serviceName: {{ template "api.fullname" . }}
19+
servicePort: {{ .Values.service.externalPort }}
20+
tls:
21+
- secretName: {{ .Values.gcpMultiCluster.ingress.secretName }}
22+
rules:
23+
- host: {{ .Values.gcpMultiCluster.ingress.host }}
24+
http:
25+
paths: {{- toYaml .Values.gcpMultiCluster.ingress.rulePaths | nindent 14 }}
26+
{{- end }}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{{- if .Values.gcpMultiCluster.enabled }}
2+
apiVersion: networking.gke.io/v1
3+
kind: MultiClusterService
4+
metadata:
5+
name: {{ .Values.gcpMultiCluster.service.name }}
6+
namespace: {{ .Values.namespace }}
7+
labels:
8+
app: {{ template "api.name" . }}
9+
chart: {{ template "api.chart" . }}
10+
release: {{ template "api.fullname" . }}
11+
heritage: {{ .Release.Service }}
12+
annotations:
13+
cloud.google.com/backend-config: '{"ports": {"{{ .Values.service.externalPort }}":"{{ template "api.fullname" . }}"}}'
14+
networking.gke.io/app-protocols: '{"service":"HTTP2"}'
15+
cloud.google.com/neg: '{"ingress": true}'
16+
spec:
17+
template:
18+
spec:
19+
selector:
20+
app: {{ template "api.name" . }}
21+
release: {{ template "api.fullname" . }}
22+
ports:
23+
- name: service
24+
port: {{ .Values.service.externalPort }}
25+
targetPort: {{ .Values.envoy.port }}
26+
protocol: TCP
27+
- name: metrics
28+
port: {{ .Values.env.metricsPort }}
29+
protocol: TCP
30+
- name: admin
31+
port: {{ .Values.envoy.adminPort }}
32+
protocol: TCP
33+
{{- end }}

manifests/bucketeer/charts/api/templates/service.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if not .Values.gcpMultiCluster.enabled }}
12
apiVersion: v1
23
kind: Service
34
metadata:
@@ -30,3 +31,4 @@ spec:
3031
selector:
3132
app: {{ template "api.name" . }}
3233
release: {{ template "api.fullname" . }}
34+
{{- end }}

manifests/bucketeer/charts/api/values.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,17 @@ health:
8686
resources: {}
8787
serviceAccount:
8888
annotations: {}
89+
gcpMultiCluster:
90+
enabled: false
91+
service:
92+
name: api-multi-cluster-service
93+
ingress:
94+
name: api-multi-cluster-ingress
95+
host:
96+
staticIPName:
97+
secretName:
98+
rulePaths:
99+
- path: /
100+
backend:
101+
serviceName: api
102+
servicePort: 9000

manifests/bucketeer/charts/web/values.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@ ingress:
144144
name: web
145145
port:
146146
number: 9003
147-
148147
gcpMultiCluster:
149148
enabled: false
150149
service:

0 commit comments

Comments
 (0)