|
|
@@ -0,0 +1,93 @@
|
|
|
+---
|
|
|
+kind: Deployment
|
|
|
+apiVersion: apps/v1
|
|
|
+metadata:
|
|
|
+ name: gogs
|
|
|
+ labels:
|
|
|
+ app: gogs
|
|
|
+spec:
|
|
|
+ replicas: 1
|
|
|
+ selector:
|
|
|
+ matchLabels:
|
|
|
+ app: gogs
|
|
|
+ template:
|
|
|
+ metadata:
|
|
|
+ labels:
|
|
|
+ app: gogs
|
|
|
+ spec:
|
|
|
+ containers:
|
|
|
+ - name: gogs
|
|
|
+ image: gogs/gogs
|
|
|
+ env:
|
|
|
+ - name: PUID
|
|
|
+ value: "1000"
|
|
|
+ - name: PGID
|
|
|
+ value: "1000"
|
|
|
+ ports:
|
|
|
+ - name: web
|
|
|
+ containerPort: 3000
|
|
|
+ volumeMounts:
|
|
|
+ - name: gogs-data-volume
|
|
|
+ mountPath: "/data"
|
|
|
+ volumes:
|
|
|
+ - name: gogs-data-volume
|
|
|
+ persistentVolumeClaim:
|
|
|
+ claimName: gogs-data-pvc
|
|
|
+---
|
|
|
+apiVersion: v1
|
|
|
+kind: Service
|
|
|
+metadata:
|
|
|
+ name: gogs
|
|
|
+spec:
|
|
|
+ type: ClusterIP
|
|
|
+ ports:
|
|
|
+ - name: web
|
|
|
+ port: 3000
|
|
|
+ selector:
|
|
|
+ app: gogs
|
|
|
+---
|
|
|
+apiVersion: traefik.containo.us/v1alpha1
|
|
|
+kind: IngressRoute
|
|
|
+metadata:
|
|
|
+ name: gogs-ingress-route
|
|
|
+ namespace: default
|
|
|
+spec:
|
|
|
+ entryPoints:
|
|
|
+ - web
|
|
|
+ routes:
|
|
|
+ - match: Host(`gogs.dezendorf.net`)
|
|
|
+ kind: Rule
|
|
|
+ middlewares:
|
|
|
+ - name: redirecthttps
|
|
|
+ services:
|
|
|
+ - name: gogs
|
|
|
+ port: 3000
|
|
|
+---
|
|
|
+apiVersion: traefik.containo.us/v1alpha1
|
|
|
+kind: IngressRoute
|
|
|
+metadata:
|
|
|
+ name: gogs-websecure-route
|
|
|
+ namespace: default
|
|
|
+spec:
|
|
|
+ entryPoints:
|
|
|
+ - websecure
|
|
|
+ routes:
|
|
|
+ - match: Host(`gogs.dezendorf.net`)
|
|
|
+ kind: Rule
|
|
|
+ services:
|
|
|
+ - name: gogs
|
|
|
+ port: 3000
|
|
|
+ tls:
|
|
|
+ certResolver: myresolver
|
|
|
+---
|
|
|
+apiVersion: v1
|
|
|
+kind: PersistentVolumeClaim
|
|
|
+metadata:
|
|
|
+ name: gogs-data-pvc
|
|
|
+spec:
|
|
|
+ accessModes:
|
|
|
+ - ReadWriteOnce
|
|
|
+ storageClassName: longhorn
|
|
|
+ resources:
|
|
|
+ requests:
|
|
|
+ storage: 500M
|