Files
ProjectOctopus/agent-deploy/d_app/TemplateIngressConfigMap.go
2024-06-28 10:22:21 +08:00

223 lines
6.2 KiB
Go
Executable File

package d_app
const CmiiFrontendConfigMapTemplate = `
kind: ConfigMap
apiVersion: v1
metadata:
name: tenant-prefix-{{ .ShortName }}
namespace: {{ .Namespace }}
data:
ingress-config.js: |-
var __GlobalIngressConfig = {
TenantEnvironment: "{{ .TenantEnv }}",
{{- if .WebPort }}
CloudHOST: "{{ .WebIP }}:{{ .WebPort }}",
{{- else }}
CloudHOST: "{{ .WebIP }}",
{{- end }}
{{- if eq .ShortName "pangu" }}
ApplicationShortName: "",
{{- else }}
ApplicationShortName: "{{ .ShortName }}",
{{- end }}
AppClientId: "{{ .ClientId }}"
}
`
const CmiiFrontendDefaultNginxConfTemplate = `
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-cm
namespace: {{ .Namespace }}
labels:
cmii.type: frontend
data:
nginx.conf: |
user root;
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 600;
server {
listen 9528;
server_name localhost;
gzip on;
location / {
root /home/cmii-platform/dist;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
`
const CmiiFrontendIngressTemplate = `
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: frontend-applications-ingress
namespace: {{ .Namespace }}
labels:
type: frontend
octopus.control: all-ingress-config-wdd
app.kubernetes.io/managed-by: octopus-control
app.kubernetes.io/version: {{ .TagVersion }}
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/configuration-snippet: |
{{- range $key, $value := .FrontendShortNameMaps }}
rewrite ^(/{{ $value }})$ $1/ redirect;
{{- end }}
spec:
rules:
- host: fake-domain.{{ .Namespace }}.io
http:
paths:
{{- if .TenantEnv }}
{{- $tenantEnv := .TenantEnv }}
- path: /{{ $tenantEnv }}/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-uav-platform
servicePort: 9528
{{- range $key, $value := .FrontendShortNameMaps }}
- path: /{{ $tenantEnv }}/{{ $value }}/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: {{ $key }}
servicePort: 9528
{{- end }}
{{- else }}
- path: /?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-uav-platform
servicePort: 9528
{{- range $key, $value := .FrontendShortNameMaps }}
- path: /{{ $value }}/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: {{ $key }}
servicePort: 9528
{{- end }}
{{- end }}
`
const CmiiBackendIngressTemplate = `
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: backend-applications-ingress
namespace: {{ .Namespace }}
labels:
type: backend
octopus.control: all-ingress-config-wdd
app.kubernetes.io/managed-by: octopus-control
app.kubernetes.io/version: {{ .TagVersion }}
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/enable-cors: "true"
spec:
rules:
{{- if .TenantEnv }}
{{- $tenantEnv := .TenantEnv }}
{{- range $key, $value := .BackendImageVersionMap }}
- host: {{ $key }}.uavcloud-{{ $tenantEnv }}.io
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
serviceName: {{ $key }}
servicePort: 8080
{{- end }}
{{- else }}
{{- range $key, $value := .BackendImageVersionMap }}
- host: {{ $key }}.uavcloud-{{ .Namespace }}.io
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
serviceName: {{ $key }}
servicePort: 8080
{{- end }}
{{- end }}
`
const CmiiGatewayIngressTemplate = `
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: all-gateways-ingress
namespace: {{ .Namespace }}
labels:
type: api-gateway
octopus.control: all-ingress-config-1.1.0
app.kubernetes.io/managed-by: octopus-control
app.kubernetes.io/version: {{ .TagVersion }}
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
spec:
rules:
- host: fake-domain.{{ .Namespace }}.io
http:
paths:
{{- if .TenantEnv }}
{{- $tenantEnv := .TenantEnv }}
- path: /{{ $tenantEnv }}/oms/api/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-admin-gateway
servicePort: 8080
- path: /{{ $tenantEnv }}/open/api/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-open-gateway
servicePort: 8080
- path: /{{ $tenantEnv }}/api/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-uav-gateway
servicePort: 8080
{{- else }}
- path: /oms/api/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-admin-gateway
servicePort: 8080
- path: /open/api/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-open-gateway
servicePort: 8080
- path: /api/?(.*)
pathType: ImplementationSpecific
backend:
serviceName: cmii-uav-gateway
servicePort: 8080
{{- end }}
`