cloudfoundry/stratos

View on GitHub
deploy/kubernetes/console/templates/service.yaml

Summary

Maintainability
Test Coverage
apiVersion: v1
kind: Service
metadata:
{{- if .Values.console.service -}}
{{- if .Values.console.service.annotations }}
  annotations:
{{ toYaml .Values.console.service.annotations | indent 4 }}
{{- end }}
{{- end }}
  labels:
    app.kubernetes.io/name: "stratos"
    app.kubernetes.io/instance: "{{ .Release.Name }}"
    app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
    app.kubernetes.io/component: "console-ext-service"
    helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.console.service -}}
{{- if .Values.console.service.extraLabels }}
{{ toYaml .Values.console.service.extraLabels | indent 4 }}
{{- end }}
{{- end }}
  name: "{{ .Release.Name }}-ui-ext"
spec:
  selector:
    app: "{{ .Release.Name }}"
    component: stratos
{{- if .Values.console.service -}}
{{- if .Values.console.service.clusterIP }}
  clusterIP: {{ .Values.console.service.clusterIP }}
{{- end -}}
{{- end }}
{{ template "service.externalIPs" . }}
{{- if .Values.console.service -}}
{{- if .Values.console.service.loadBalancerIP }}
  loadBalancerIP: {{ .Values.console.service.loadBalancerIP }}
{{ end -}}
{{- end -}}
{{- if .Values.console.service -}}
{{- if .Values.console.service.loadBalancerSourceRanges }}
  loadBalancerSourceRanges:
  {{- range $cidr := .Values.console.service.loadBalancerSourceRanges }}
    - {{ $cidr }}
  {{- end }}
{{ end }}
{{- end }}
{{- if .Values.console.service -}}
{{- if .Values.console.service.externalName }}
  externalName: {{ .Values.console.service.externalName }}
{{ end }}
{{- end -}}

# Note: HTTP Port is optional - HTTPS port is always included
# HTTP Service (optional)
  type: {{ template "service.serviceType" . }}
  ports:
{{- if .Values.console.service }}
{{- if .Values.console.service.http -}}
{{- if .Values.console.service.http.enabled }}
  - name: http
    port: {{ default 80 .Values.console.service.http.servicePort }}
    protocol: TCP
    targetPort: 80
    {{- if .Values.console.service.http.nodePort }}
    nodePort: {{ .Values.console.service.http.nodePort }}
    {{- end -}}    
{{- end -}}
{{- end -}}
{{- end }}
# HTTPS Service
  - name: https
    port: {{ template "service.servicePort" . }}
    protocol: TCP
    targetPort: 443
    {{- if .Values.console.service -}}
    {{- if and .Values.console.service.nodePort (eq .Values.console.service.type "NodePort") }}
    nodePort: {{ .Values.console.service.nodePort }}
    {{ else if .Release.IsUpgrade }}
    nodePort:
    {{- end }}
    {{ else if .Release.IsUpgrade }}
    nodePort:
    {{- end }}
{{- if not .Values.mariadb.external }}
---
apiVersion: v1
kind: Service
metadata:
  name: "{{ .Release.Name }}-mariadb"
{{- if .Values.console.service -}}
{{- if .Values.console.service.annotations }}
  annotations:
{{ toYaml .Values.console.service.annotations | indent 4 }}
{{- end }}
{{- end }}
  labels:
    app.kubernetes.io/name: "stratos"
    app.kubernetes.io/instance: "{{ .Release.Name }}"
    app.kubernetes.io/version: "{{ .Chart.AppVersion }}"
    app.kubernetes.io/component: "stratos-db-service"
    helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- if .Values.console.service -}}
{{- if .Values.console.service.extraLabels }}
{{ toYaml .Values.console.service.extraLabels | indent 4 }}
{{- end }}
{{- end }}
spec:
  type: ClusterIP
  ports:
  - name: mysql
    port: 3306
    targetPort: mysql
  selector:
    app: "{{ .Release.Name }}"
    app.kubernetes.io/component: stratos-db
{{- end -}}