215 lines
8.8 KiB
YAML
215 lines
8.8 KiB
YAML
{{- if and .Values.enabled .Values.apiGatewayApplication.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 -}}
|
|
{{- $IsTlsEnables := .Values.global.ingress.tls_enabled -}}
|
|
{{- $scope := $ -}}
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: all-gateways-ingress
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
type: {{ $.Values.apiGatewayApplication.type }}
|
|
accessmode: {{ $.Values.apiGatewayApplication.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 $IsTlsEnables }}
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/permanent-redirect-code: '301'
|
|
{{- end }}
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "Upgrade";
|
|
spec:
|
|
rules:
|
|
- host: {{ $DeployDomainName }}
|
|
http:
|
|
paths:
|
|
{{- if $IsPrivateDeployment }}
|
|
{{- range $key,$value := .Values.apiGatewayApplication.manifest }}
|
|
{{- if eq $value false }}
|
|
{{- $applicationName := ternary (trimPrefix "cmii-uav-" $key) (trimPrefix "cmii-" $key) (contains "cmii-uav" $key) -}}
|
|
{{- if eq $applicationName "material-warehouse" }}
|
|
- path: /api/warehouses/?(.*)
|
|
{{- else if eq $applicationName "gateway" }}
|
|
- path: /api/?(.*)
|
|
{{- else if eq $applicationName "admin-gateway" }}
|
|
- path: /oms/api/?(.*)
|
|
{{- /* {{- else if eq $applicationName "project-minio" }}*/}}
|
|
{{- /* - path: /?(.*)/api/minios/?(.*)*/}}
|
|
{{- else if eq $applicationName "open-gateway" }}
|
|
- path: /open/api/?(.*)
|
|
{{- else }}
|
|
- path: /{{ $applicationName }}/?(.*)
|
|
{{- end }}
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: {{ $key }}
|
|
servicePort: 8080
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- range $key,$value := .Values.apiGatewayApplication.manifest }}
|
|
{{- if eq $value false }}
|
|
{{- $applicationName := ternary (trimPrefix "cmii-uav-" $key) (trimPrefix "cmii-" $key) (contains "cmii-uav" $key) -}}
|
|
{{- if eq $applicationName "material-warehouse" }}
|
|
- path: /{{ $TenantEnvironment }}/api/warehouses/?(.*)
|
|
{{- else if eq $applicationName "gateway" }}
|
|
- path: /{{ $TenantEnvironment }}/api/?(.*)
|
|
{{- else if eq $applicationName "admin-gateway" }}
|
|
- path: /{{ $TenantEnvironment }}/oms/api/?(.*)
|
|
{{- /* {{- else if eq $applicationName "project-minio" }}*/}}
|
|
{{- /* - path: /{{ $TenantEnvironment }}/?(.*)/api/minios/?(.*)*/}}
|
|
{{- else if eq $applicationName "open-gateway" }}
|
|
- path: /{{ $TenantEnvironment }}/open/api/?(.*)
|
|
{{- else }}
|
|
- path: /{{ $applicationName }}/?(.*)
|
|
{{- end }}
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: {{ $key }}
|
|
servicePort: 8080
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if $IsTlsEnables }}
|
|
tls:
|
|
- hosts:
|
|
- {{ $DeployDomainName }}
|
|
- secretName: {{ $DeployDomainName | quote }}
|
|
{{- end }}
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: all-apis-ingress
|
|
namespace: {{ $namespace }}
|
|
labels:
|
|
type: {{ $.Values.apiGatewayApplication.type }}
|
|
accessmode: {{ $.Values.apiGatewayApplication.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.all-apis.commom.annotations" $scope | nindent 4 }}
|
|
{{- if $IsTlsEnables }}
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
nginx.ingress.kubernetes.io/permanent-redirect-code: '301'
|
|
{{- end }}
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "Upgrade";
|
|
spec:
|
|
rules:
|
|
- host: {{ $DeployDomainName }}
|
|
http:
|
|
paths:
|
|
{{- if $IsPrivateDeployment }}
|
|
{{- range $key,$value := .Values.apiGatewayApplication.manifest }}
|
|
{{- $applicationName := ternary (trimPrefix "cmii-uav-" $key) (trimPrefix "cmii-" $key) (contains "cmii-uav" $key) -}}
|
|
{{- if $value }}
|
|
{{- if eq $applicationName "material-warehouse" }}
|
|
- path: /?(.*)/api/warehouses/?(.*)
|
|
{{- else if eq $applicationName "gateway" }}
|
|
- path: /api/?(.*)
|
|
{{- else if eq $applicationName "admin-gateway" }}
|
|
- path: /oms/api/?(.*)
|
|
{{- /* {{- else if eq $applicationName "project-minio" }}*/}}
|
|
{{- /* - path: /?(.*)/api/minios/?(.*)*/}}
|
|
{{- else if eq $applicationName "open-gateway" }}
|
|
- path: /open/api/?(.*)
|
|
{{- else }}
|
|
- path: /{{ $applicationName }}/?(.*)
|
|
{{- end }}
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: {{ $key }}
|
|
servicePort: 8080
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- range $key,$value := .Values.apiGatewayApplication.manifest }}
|
|
{{- if $value }}
|
|
{{- $applicationName := ternary (trimPrefix "cmii-uav-" $key) (trimPrefix "cmii-" $key) (contains "cmii-uav" $key) -}}
|
|
{{- if eq $applicationName "material-warehouse" }}
|
|
- path: /{{ $TenantEnvironment }}/?(.*)/api/warehouses/?(.*)
|
|
{{- else if eq $applicationName "gateway" }}
|
|
- path: /{{ $TenantEnvironment }}/api/?(.*)
|
|
{{- else if eq $applicationName "admin-gateway" }}
|
|
- path: /{{ $TenantEnvironment }}/oms/api/?(.*)
|
|
{{- /* {{- else if eq $applicationName "project-minio" }}*/}}
|
|
{{- /* - path: /{{ $TenantEnvironment }}/?(.*)/api/minios/?(.*)*/}}
|
|
{{- else if eq $applicationName "open-gateway" }}
|
|
- path: /{{ $TenantEnvironment }}/open/api/?(.*)
|
|
{{- else }}
|
|
- path: /{{ $applicationName }}/?(.*)
|
|
{{- end }}
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
serviceName: {{ $key }}
|
|
servicePort: 8080
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if $IsTlsEnables }}
|
|
tls:
|
|
- hosts:
|
|
- {{ $DeployDomainName }}
|
|
- secretName: {{ $DeployDomainName | quote }}
|
|
{{- end }}
|
|
---
|
|
{{- end }}
|
|
{{/*apiVersion: networking.k8s.io/v1beta1*/}}
|
|
{{/*kind: Ingress*/}}
|
|
{{/*metadata:*/}}
|
|
{{/* name: project-minio-ingress*/}}
|
|
{{/* namespace: {{ $namespace }}*/}}
|
|
{{/* labels:*/}}
|
|
{{/* type: {{ $.Values.apiGatewayApplication.type }}*/}}
|
|
{{/* accessmode: {{ $.Values.apiGatewayApplication.accessmode }}*/}}
|
|
{{/* helm.sh/chart: {{ include "uavcloud-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 "uavcloud-ingress.apiGateway.project-minio.annotations" $scope | nindent 4 }}*/}}
|
|
{{/* {{- if $IsTlsEnables }}*/}}
|
|
{{/* nginx.ingress.kubernetes.io/ssl-redirect: "true"*/}}
|
|
{{/* nginx.ingress.kubernetes.io/permanent-redirect-code: '301'*/}}
|
|
{{/* {{- end }}*/}}
|
|
{{/* nginx.ingress.kubernetes.io/configuration-snippet: |*/}}
|
|
{{/* proxy_set_header Upgrade $http_upgrade;*/}}
|
|
{{/* proxy_set_header Connection "Upgrade";*/}}
|
|
{{/*spec:*/}}
|
|
{{/* rules:*/}}
|
|
{{/* - host: {{ $DeployDomainName }}*/}}
|
|
{{/* http:*/}}
|
|
{{/* paths:*/}}
|
|
{{/* {{- if $IsPrivateDeployment }}*/}}
|
|
{{/* - path: /?(.*)/api/minio/?(.*)*/}}
|
|
{{/* {{- else }}*/}}
|
|
{{/* - path: /{{ $TenantEnvironment }}/?(.*)/api/minio/?(.*)*/}}
|
|
{{/* {{- end }}*/}}
|
|
{{/* pathType: ImplementationSpecific*/}}
|
|
{{/* backend:*/}}
|
|
{{/* serviceName: cmii-project-minio*/}}
|
|
{{/* servicePort: 8080*/}}
|
|
{{/* {{- if $IsTlsEnables }}*/}}
|
|
{{/* tls:*/}}
|
|
{{/* - hosts:*/}}
|
|
{{/* - {{ $DeployDomainName }}*/}}
|
|
{{/* - secretName: {{ $DeployDomainName | quote }}*/}}
|
|
{{/* {{- end }}*/}}
|
|
{{/*---*/}} |