zhong (钟鹏群) před 2 týdny
rodič
revize
199487cc63
1 změnil soubory, kde provedl 52 přidání a 13 odebrání
  1. 52 13
      deployments/gogs-deployment.yaml

+ 52 - 13
deployments/gogs-deployment.yaml

@@ -1,3 +1,24 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: gogs-config
+  namespace: nginx-app
+data:
+  app.ini: |
+    [server]
+    HTTP_ADDR = 0.0.0.0
+    HTTP_PORT = 3000
+    ROOT_URL = http://gogs2.9981.tech
+    DOMAIN = gogs2.9981.tech
+
+    [database]
+    DB_TYPE = sqlite3
+    PATH = /data/gogs.db
+
+    [repository]
+    ROOT = /data/git/gogs-repo
+
+---
 apiVersion: apps/v1
 apiVersion: apps/v1
 kind: Deployment
 kind: Deployment
 metadata:
 metadata:
@@ -21,20 +42,12 @@ spec:
         ports:
         ports:
         - containerPort: 3000
         - containerPort: 3000
         - containerPort: 22
         - containerPort: 22
-        env:
-        # 关键1:HTTP_HOST=0.0.0.0 监听全网卡
-        - name: GOGS__server__HTTP_HOST
-          value: "0.0.0.0"
-        # 关键2:ROOT_URL换成你的域名,后续gogs内部跳转正常
-        - name: GOGS__server__ROOT_URL
-          value: "http://gogs2.9981.tech"
-        - name: GOGS__database__DB_TYPE
-          value: "sqlite3"
-        - name: GOGS__database__PATH
-          value: "/data/gogs.db"
         volumeMounts:
         volumeMounts:
         - name: gogs-data
         - name: gogs-data
           mountPath: /data
           mountPath: /data
+        - name: gogs-config
+          mountPath: /data/gogs/conf/app.ini
+          subPath: app.ini
         resources:
         resources:
           requests:
           requests:
             memory: "256Mi"
             memory: "256Mi"
@@ -46,14 +59,16 @@ spec:
       - name: gogs-data
       - name: gogs-data
         persistentVolumeClaim:
         persistentVolumeClaim:
           claimName: gogs-pvc
           claimName: gogs-pvc
+      - name: gogs-config
+        configMap:
+          name: gogs-config
+
 ---
 ---
 apiVersion: v1
 apiVersion: v1
 kind: Service
 kind: Service
 metadata:
 metadata:
   name: gogs-service
   name: gogs-service
   namespace: nginx-app
   namespace: nginx-app
-  labels:
-    app: gogs
 spec:
 spec:
   selector:
   selector:
     app: gogs
     app: gogs
@@ -65,6 +80,7 @@ spec:
     port: 22
     port: 22
     targetPort: 22
     targetPort: 22
   type: ClusterIP
   type: ClusterIP
+
 ---
 ---
 apiVersion: v1
 apiVersion: v1
 kind: PersistentVolumeClaim
 kind: PersistentVolumeClaim
@@ -77,3 +93,26 @@ spec:
   resources:
   resources:
     requests:
     requests:
       storage: 5Gi
       storage: 5Gi
+
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: gogs-ingress
+  namespace: nginx-app
+  annotations:
+    traefik.ingress.kubernetes.io/service.scheme: "http"
+    traefik.ingress.kubernetes.io/service.prefer-service-port: "true"
+spec:
+  ingressClassName: traefik
+  rules:
+  - host: gogs2.9981.tech
+    http:
+      paths:
+      - path: /
+        pathType: Prefix
+        backend:
+          service:
+            name: gogs-service
+            port:
+              number: 3000