From b40f2d639d45e866bb0745e8e4eccf46cad2cf1e Mon Sep 17 00:00:00 2001 From: Pramod Date: Mon, 26 Aug 2019 13:23:44 -0700 Subject: Helm chart for multicloud-k8s connectivity This patch has ISTIO components required to expose the multicloud-k8s application outside the servicemesh Issue-ID: MULTICLOUD-787 Signed-off-by: Pramod Change-Id: I4805520666ec653e9845432b85afdc1ce0ef1db9 --- .../servicemesh/connectivity/gateways/.helmignore | 22 ++++++++++++++ .../servicemesh/connectivity/gateways/Chart.yaml | 5 ++++ .../connectivity/gateways/templates/_helpers.tpl | 25 ++++++++++++++++ .../connectivity/gateways/templates/gateway.yaml | 34 ++++++++++++++++++++++ .../servicemesh/connectivity/gateways/values.yaml | 22 ++++++++++++++ 5 files changed, 108 insertions(+) create mode 100644 deployments/helm/servicemesh/connectivity/gateways/.helmignore create mode 100644 deployments/helm/servicemesh/connectivity/gateways/Chart.yaml create mode 100644 deployments/helm/servicemesh/connectivity/gateways/templates/_helpers.tpl create mode 100644 deployments/helm/servicemesh/connectivity/gateways/templates/gateway.yaml create mode 100644 deployments/helm/servicemesh/connectivity/gateways/values.yaml (limited to 'deployments/helm/servicemesh/connectivity/gateways') diff --git a/deployments/helm/servicemesh/connectivity/gateways/.helmignore b/deployments/helm/servicemesh/connectivity/gateways/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/deployments/helm/servicemesh/connectivity/gateways/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/deployments/helm/servicemesh/connectivity/gateways/Chart.yaml b/deployments/helm/servicemesh/connectivity/gateways/Chart.yaml new file mode 100644 index 00000000..1e7df9f3 --- /dev/null +++ b/deployments/helm/servicemesh/connectivity/gateways/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Istio gatway +name: gateways +version: 0.1.0 diff --git a/deployments/helm/servicemesh/connectivity/gateways/templates/_helpers.tpl b/deployments/helm/servicemesh/connectivity/gateways/templates/_helpers.tpl new file mode 100644 index 00000000..5516ee45 --- /dev/null +++ b/deployments/helm/servicemesh/connectivity/gateways/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "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 "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 -}} diff --git a/deployments/helm/servicemesh/connectivity/gateways/templates/gateway.yaml b/deployments/helm/servicemesh/connectivity/gateways/templates/gateway.yaml new file mode 100644 index 00000000..72297350 --- /dev/null +++ b/deployments/helm/servicemesh/connectivity/gateways/templates/gateway.yaml @@ -0,0 +1,34 @@ +{{/* +# 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: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: {{ template "fullname" . }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} +spec: + selector: + istio: ingressgateway + servers: + - port: + number: {{ .Values.port.number }} + name: {{ .Values.port.name }} + protocol: {{ .Values.port.protocol }} + hosts: + {{- range .Values.allowedhosts }} + - {{ . | quote }} + {{- end }} diff --git a/deployments/helm/servicemesh/connectivity/gateways/values.yaml b/deployments/helm/servicemesh/connectivity/gateways/values.yaml new file mode 100644 index 00000000..a90260ae --- /dev/null +++ b/deployments/helm/servicemesh/connectivity/gateways/values.yaml @@ -0,0 +1,22 @@ +# +#{/* +# 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. +#*/}} +port: + number: 80 + name: http + protocol: HTTP +allowedhosts: + - "*" -- cgit 1.2.3-korg