From 44f7240efed56bfbf576a3fe7d40d8a1791d121a Mon Sep 17 00:00:00 2001 From: Pramod Date: Mon, 5 Aug 2019 15:56:10 -0700 Subject: Helm charts for Istio deployment This Chart will deploy istio in SDS configuration and enables istio sidecar injection in required namespace Issue-ID: MULTICLOUD-711 Signed-off-by: Pramod Change-Id: I9a4dd781c14c2dc2bb1ee8ca648e3c8911ac1fe1 --- .../istio/istio-instance/templates/_helpers.tpl | 63 ++++++++++++++++++++++ .../istio/istio-instance/templates/istio-sds.yaml | 50 +++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 deployments/helm/servicemesh/istio/istio-instance/templates/_helpers.tpl create mode 100644 deployments/helm/servicemesh/istio/istio-instance/templates/istio-sds.yaml (limited to 'deployments/helm/servicemesh/istio/istio-instance/templates') diff --git a/deployments/helm/servicemesh/istio/istio-instance/templates/_helpers.tpl b/deployments/helm/servicemesh/istio/istio-instance/templates/_helpers.tpl new file mode 100644 index 00000000..c2e7c701 --- /dev/null +++ b/deployments/helm/servicemesh/istio/istio-instance/templates/_helpers.tpl @@ -0,0 +1,63 @@ +#/* +# * Copyright 2019 Intel Corporation, Inc +# * +# * 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. +# */ + + +{{/* +Expand the name of the chart. +*/}} +{{- define "Chart-name.name" -}} +{{- default .Chart.name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "istio.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "istio.chart" -}} +{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a fully qualified configmap name. +*/}} +{{- define "istio.configmap.fullname" -}} +{{- printf "%s-%s" .Release.Name "istio-mesh-config" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Configmap checksum. +*/}} +{{- define "istio.configmap.checksum" -}} +{{- print $.Template.BasePath "/configmap.yaml" | sha256sum -}} +{{- end -}} + diff --git a/deployments/helm/servicemesh/istio/istio-instance/templates/istio-sds.yaml b/deployments/helm/servicemesh/istio/istio-instance/templates/istio-sds.yaml new file mode 100644 index 00000000..8c440a4e --- /dev/null +++ b/deployments/helm/servicemesh/istio/istio-instance/templates/istio-sds.yaml @@ -0,0 +1,50 @@ + + +#/*Copyright 2019 Intel Corporation, Inc +# * +# * 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. +# */ +apiVersion: istio.banzaicloud.io/v1beta1 +kind: Istio +metadata: + labels: + controller-tools.k8s.io: "1.0" + name: {{ .Values.metadata.name }} +spec: + version: {{ .Values.spec.version | quote }} + mtls: {{ .Values.spec.mtls }} + autoInjectionNamespaces: {{- range .Values.spec.autoInjectionNamespaces }} + - {{ . | quote }} + {{- end }} + sds: + enabled: {{ .Values.spec.sds.enabled }} + udsPath: {{ .Values.spec.sds.udsPath | quote }} + useTrustworthyJwt: {{ .Values.spec.sds.useTrustworthyJwt }} + useNormalJwt: {{ .Values.spec.sds.useNormalJwt }} + gateways: + enabled: {{ .Values.spec.gateways.enabled }} + ingress: + enabled: {{ .Values.spec.gateways.ingress.enabled }} + sds: + enabled: {{ .Values.spec.gateways.ingress.sds.enabled }} + image: {{ .Values.spec.gateways.ingress.sds.image | quote }} + resources: {} + # requests: + # cpu: 100m + # memory: 128Mi + # limits: + # cpu: 2000m + # memory: 1024Mi + nodeAgent: + enabled: {{ .Values.spec.nodeAgent.enabled }} + image: {{ .Values.spec.nodeAgent.image | quote }} -- cgit 1.2.3-korg