| #============LICENSE_START======================================================== |
| # ================================================================================ |
| # Copyright (c) 2019 AT&T Intellectual Property. All rights reserved. |
| # ================================================================================ |
| # 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. |
| # ============LICENSE_END========================================================= |
| |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| name: {{ include "common.servicename" . }} |
| namespace: {{ include "common.namespace" . }} |
| labels: |
| app: {{ include "common.name" . }} |
| chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} |
| release: {{ .Release.Name }} |
| heritage: {{ .Release.Service }} |
| spec: |
| type: {{ .Values.service.type }} |
| ports: |
| {{if eq .Values.service.type "NodePort" -}} |
| - port: {{ .Values.service.externalPort }} |
| nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} |
| name: {{ .Values.service.name }} |
| {{- else -}} |
| - port: {{ .Values.service.externalPort }} |
| targetPort: {{ .Values.service.internalPort }} |
| name: {{ .Values.service.name }} |
| {{- end }} |
| selector: |
| app: {{ include "common.name" . }} |
| release: {{ .Release.Name }} |
| {{- $namespace := include "common.namespace" . }} |
| {{- $servicename := include "common.servicename" . }} |
| {{- $name := include "common.servicename" . }} |
| {{- $chart := .Chart }} |
| {{- $release := .Release }} |
| {{- $services := .Values.proxiedServices }} |
| {{- range $sindex, $proxyservice := $services }} |
| {{- range $servname := $proxyservice.names }} |
| --- |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| name: {{ $servname }} |
| namespace: {{ $namespace }} |
| labels: |
| app: {{ $name }} |
| chart: {{ $chart.Name }}-{{ $chart.Version | replace "+" "_" }} |
| release: {{ $release.Name }} |
| heritage: {{ $release.Service }} |
| spec: |
| type: ClusterIP |
| ports: |
| {{- range $pindex, $port := $proxyservice.ports}} |
| - port: {{ $port.local }} |
| targetPort: {{ $port.upstream }} |
| name: {{ $servname }}-{{ $port.local }} |
| {{- end }} |
| selector: |
| app: {{ $name }} |
| release: {{ $release.Name}} |
| {{- end }} |
| {{- end }} |