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 kind: Deployment metadata: name: gogs namespace: nginx-app labels: app: gogs spec: replicas: 1 selector: matchLabels: app: gogs template: metadata: labels: app: gogs spec: containers: - name: gogs image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:linux-amd64-gogs-0.13 ports: - containerPort: 3000 - containerPort: 22 volumeMounts: - name: gogs-data mountPath: /data - name: gogs-config mountPath: /data/gogs/conf/app.ini subPath: app.ini resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "1000m" volumes: - name: gogs-data persistentVolumeClaim: claimName: gogs-pvc - name: gogs-config configMap: name: gogs-config --- apiVersion: v1 kind: Service metadata: name: gogs-service namespace: nginx-app spec: selector: app: gogs ports: - name: http port: 3000 targetPort: 3000 - name: ssh port: 22 targetPort: 22 type: ClusterIP --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gogs-pvc namespace: nginx-app spec: accessModes: - ReadWriteOnce resources: requests: 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