VOL-3958 support for ingress in helm charts
Change-Id: I8c53016debb11760dd8ae39e8662ba0489d705a9
diff --git a/voltha-infra/Chart.yaml b/voltha-infra/Chart.yaml
index b739443..02b9783 100644
--- a/voltha-infra/Chart.yaml
+++ b/voltha-infra/Chart.yaml
@@ -29,7 +29,7 @@
name: voltha-infra
appVersion: "2.8-dev"
-version: 0.2.0-dev
+version: 0.2.0
dependencies:
- name: onos-classic
diff --git a/voltha-infra/templates/ingress_etcd.yaml b/voltha-infra/templates/ingress_etcd.yaml
new file mode 100644
index 0000000..9fa1bee
--- /dev/null
+++ b/voltha-infra/templates/ingress_etcd.yaml
@@ -0,0 +1,64 @@
+# Copyright 2021-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+{{- if .Values.etcd.ingress.enabled -}}
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: "{{ .Release.Name }}-etcd"
+ namespace: {{ .Release.Namespace }}
+ {{- with .Values.etcd.labels }}
+ labels:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with .Values.etcd.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if .Values.etcd.ingress.tls }}
+ tls:
+ {{- range .Values.etcd.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.etcd.ingress.hosts }}
+ {{- if $.Values.etcd.ingress.enableVirtualHosts }}
+ - host: '{{ $.Release.Name }}.local'
+ http:
+ {{- else }}
+ {{- if .host }}
+ - host: {{ .host | quote }}
+ http:
+ {{- else }}
+ - http:
+ {{- end }}
+ {{- end }}
+ paths:
+ {{- range .paths }}
+ - path: {{ . }}
+ pathType: Prefix
+ backend:
+ service:
+ name: "{{ $.Release.Name }}-etcd"
+ port:
+ number: 2379
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/voltha-infra/values.yaml b/voltha-infra/values.yaml
index 113e1c4..576507b 100644
--- a/voltha-infra/values.yaml
+++ b/voltha-infra/values.yaml
@@ -50,6 +50,18 @@
etcd:
enabled: true
+ ingress:
+ enabled: false
+ annotations:
+ kubernetes.io/ingress.class: "nginx"
+ nginx.ingress.kubernetes.io/ssl-redirect: "true"
+ nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
+ nginx.ingress.kubernetes.io/grpc-backend: "true"
+ enableVirtualHosts: false
+ hosts:
+ - host:
+ paths:
+ - "/etcdserverpb.KV/"
auth:
rbac:
enabled: false