122 lines
5.1 KiB
YAML
122 lines
5.1 KiB
YAML
{{- if and .Values.enabled .Values.frontendApplication.enabled }}
|
|
{{- $namespace := .Release.Namespace -}}
|
|
{{- $TenantEnvironment := .Values.global.domain.TenantEnvironment -}}
|
|
{{- $DeployDomainName := ternary (first (regexSplit ":" .Values.global.domain.DeployDomainName -1)) ( .Values.global.domain.DeployDomainName ) (contains ":" .Values.global.domain.DeployDomainName) -}}
|
|
{{- $IsPrivateDeployment := .Values.global.domain.IsPrivateDeployment -}}
|
|
{{- $scope := $ -}}
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: frontend-applications-ingress
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
type: {{ .Values.frontendApplication.type }}
|
|
accessmode: {{ $.Values.frontendApplication.accessmode }}
|
|
helm.sh/chart: {{ include "all-ingress.name" $scope }}
|
|
app.kubernetes.io/managed-by: {{ $.Release.Service }}
|
|
{{- if $.Values.global.image.tag }}
|
|
app.kubernetes.io/version: {{ $.Values.global.image.tag | quote }}
|
|
{{- end }}
|
|
annotations:
|
|
{{- include "all-ingress.frontend.commom.annotations" $scope | nindent 4 }}
|
|
{{- if .Values.global.ingress.tls_enabled }}
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/permanent-redirect-code: '301'
|
|
{{- end }}
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
{{- range $applicationName, $values := .Values.frontendApplication.manifest }}
|
|
{{- if $IsPrivateDeployment }}
|
|
{{- if eq $values.shortname "" }}
|
|
{{- /* 主域名的情况, 域名改造 */}}
|
|
rewrite ^(/green)$ $1/ redirect;
|
|
rewrite ^(/supervision)$ $1/ redirect;
|
|
rewrite ^(/inspection)$ $1/ redirect;
|
|
rewrite ^(/pangu)$ $1/ redirect;
|
|
{{- /* 主域名的情况, 域名改造 end end end */}}
|
|
{{- else if not (contains "appli" $values.shortname) }}
|
|
{{- /* 特殊短域名的情况 */}}
|
|
{{- /* short name not contains application, judge for situations */}}
|
|
{{- if contains "-portal" $values.shortname}}
|
|
rewrite ^(/cmsportal)$ $1/ redirect;
|
|
{{- else if contains "-rescue" $values.shortname }}
|
|
rewrite ^(/{{ trimSuffix "-rescue" $values.shortname }})$ $1/ redirect;
|
|
{{- else if contains "screen" $values.shortname }}
|
|
rewrite ^(/ {{ trimSuffix "-screen" $values.shortname }})$ $1/ redirect;
|
|
{{- else }}
|
|
{{- /* 没有特殊规则的域名 全部会出现在这里 */}}
|
|
rewrite ^(/{{ $values.shortname }})$ $1/ redirect;
|
|
{{- end }}
|
|
{{- else if (contains "appli" $values.shortname) }}
|
|
rewrite ^(/{{ trimSuffix "-application" $values.shortname }})$ $1/ redirect;
|
|
{{- else }}
|
|
{{- /* 备份一下 以防万一 */}}
|
|
rewrite ^(/{{ $values.shortname }})$ $1/ redirect;
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- if eq $values.shortname "" }}
|
|
rewrite ^(/{{- $TenantEnvironment -}})$ $1/ redirect;
|
|
{{- else }}
|
|
rewrite ^(/{{- cat $TenantEnvironment $values.shortname | replace " " "/" -}})$ $1/ redirect;
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
spec:
|
|
rules:
|
|
- host: {{ $DeployDomainName }}
|
|
http:
|
|
paths:
|
|
{{- /* 域名改造, add for demo */}}
|
|
- path: /inspection/?(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: cmii-uav-platform
|
|
servicePort: 9528
|
|
- path: /supervision/?(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: cmii-uav-platform
|
|
servicePort: 9528
|
|
- path: /green/?(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: cmii-uav-platform
|
|
servicePort: 9528
|
|
- path: /pangu/?(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: cmii-uav-platform
|
|
servicePort: 9528
|
|
{{- /* 域名改造, end end end */}}
|
|
{{- range $applicationName, $values := .Values.frontendApplication.manifest }}
|
|
{{- if $IsPrivateDeployment }}
|
|
{{- if eq $values.shortname ""}}
|
|
- path: /?(.*)
|
|
{{- else if (contains "appli" $values.shortname) }}
|
|
- path: /{{ trimSuffix "-application" $values.shortname }}/?(.*)
|
|
{{- else }}
|
|
- path: /{{ $values.shortname }}/?(.*)
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- if eq $values.shortname ""}}
|
|
- path: /{{ $TenantEnvironment }}/?(.*)
|
|
{{- else if not (contains "appli" $values.shortname) }}
|
|
- path: /{{ $TenantEnvironment }}/{{ trimSuffix "-application" $values.shortname }}/?(.*)
|
|
{{- else }}
|
|
- path: /{{- cat $TenantEnvironment $values.shortname | replace " " "/" -}}/?(.*)
|
|
{{- end }}
|
|
{{- end }}
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: {{ $applicationName }}
|
|
servicePort: 9528
|
|
{{- end }}
|
|
{{- if .Values.global.ingress.tls_enabled }}
|
|
tls:
|
|
- hosts:
|
|
- {{ $DeployDomainName }}
|
|
- secretName: {{ $DeployDomainName | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|