diff --git a/deploy/k3s/ingress.yaml b/deploy/k3s/ingress.yaml
index 170ffee..9545262 100644
--- a/deploy/k3s/ingress.yaml
+++ b/deploy/k3s/ingress.yaml
@@ -44,3 +44,53 @@ spec:
- ops.shengxintui.com
- api.shengxintui.com
secretName: shengxintui-com-tls
+---
+apiVersion: traefik.io/v1alpha1
+kind: Middleware
+metadata:
+ name: redirect-to-https
+spec:
+ redirectScheme:
+ scheme: https
+ permanent: true
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: geo-rankly-web-http
+ annotations:
+ traefik.ingress.kubernetes.io/router.middlewares: geo-rankly-redirect-to-https@kubernetescrd
+ traefik.ingress.kubernetes.io/router.entrypoints: web
+spec:
+ ingressClassName: traefik
+ rules:
+ - host: saas.shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: frontend
+ port:
+ number: 80
+ - host: ops.shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: ops-web
+ port:
+ number: 80
+ - host: api.shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: tenant-api
+ port:
+ number: 8080
diff --git a/deploy/k3s/kustomization.yaml b/deploy/k3s/kustomization.yaml
index d82416c..0284299 100644
--- a/deploy/k3s/kustomization.yaml
+++ b/deploy/k3s/kustomization.yaml
@@ -14,6 +14,7 @@ resources:
- infra-qdrant-minio.yaml
- jobs.yaml
- apps.yaml
+ - official-placeholder.yaml
- ingress.yaml
labels:
diff --git a/deploy/k3s/official-placeholder.yaml b/deploy/k3s/official-placeholder.yaml
new file mode 100644
index 0000000..86c7c8d
--- /dev/null
+++ b/deploy/k3s/official-placeholder.yaml
@@ -0,0 +1,497 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: official-placeholder-html
+ labels:
+ app.kubernetes.io/name: official-placeholder
+data:
+ index.html: |
+
+
+
+
+
+
+ 省心推 - 智能内容与获客运营
+
+
+
+
+
+
+
+ MODERN GROWTH PLATFORM
+ 智能内容运营,让获客增长更省心。
+
+ 省心推将为企业提供智能内容、品牌曝光与获客运营能力。
+ 从内容策划到发布协同,帮助团队更高效地触达客户、沉淀线索。
+
+
+
+
+
+
+
+
+
+ default.conf: |
+ server {
+ listen 80;
+ server_name _;
+ root /usr/share/nginx/html;
+ index index.html;
+
+ location / {
+ add_header Cache-Control "no-store, no-cache, must-revalidate" always;
+ try_files $uri /index.html;
+ }
+ }
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: official-placeholder
+ labels:
+ app.kubernetes.io/name: official-placeholder
+spec:
+ selector:
+ app.kubernetes.io/name: official-placeholder
+ ports:
+ - name: http
+ port: 80
+ targetPort: http
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: official-placeholder
+ labels:
+ app.kubernetes.io/name: official-placeholder
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: official-placeholder
+ template:
+ metadata:
+ labels:
+ app.kubernetes.io/name: official-placeholder
+ spec:
+ containers:
+ - name: nginx
+ image: docker.io/geo-rankly/frontend:bb2ad3f6
+ imagePullPolicy: IfNotPresent
+ ports:
+ - name: http
+ containerPort: 80
+ readinessProbe:
+ httpGet:
+ path: /
+ port: http
+ initialDelaySeconds: 3
+ periodSeconds: 10
+ livenessProbe:
+ httpGet:
+ path: /
+ port: http
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ resources:
+ requests:
+ cpu: 10m
+ memory: 16Mi
+ limits:
+ cpu: 100m
+ memory: 64Mi
+ volumeMounts:
+ - name: html
+ mountPath: /usr/share/nginx/html/index.html
+ subPath: index.html
+ readOnly: true
+ - name: html
+ mountPath: /etc/nginx/http.d/default.conf
+ subPath: default.conf
+ readOnly: true
+ volumes:
+ - name: html
+ configMap:
+ name: official-placeholder-html
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: official-placeholder
+ annotations:
+ cert-manager.io/cluster-issuer: letsencrypt-prod
+ traefik.ingress.kubernetes.io/router.entrypoints: websecure
+spec:
+ ingressClassName: traefik
+ rules:
+ - host: shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: official-placeholder
+ port:
+ number: 80
+ - host: www.shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: official-placeholder
+ port:
+ number: 80
+ tls:
+ - hosts:
+ - shengxintui.com
+ - www.shengxintui.com
+ secretName: official-placeholder-tls
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: official-placeholder-http
+ annotations:
+ traefik.ingress.kubernetes.io/router.entrypoints: web
+spec:
+ ingressClassName: traefik
+ rules:
+ - host: shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: official-placeholder
+ port:
+ number: 80
+ - host: www.shengxintui.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: official-placeholder
+ port:
+ number: 80