apiVersion: v1 kind: Service metadata: name: gitea namespace: "gitea" labels: app.kubernetes.io/instance: gitea app.kubernetes.io/name: gitea spec: type: ClusterIP sessionAffinity: None ports: - name: http port: 3000 targetPort: http nodePort: null - name: ssh port: 2222 targetPort: ssh nodePort: null selector: app.kubernetes.io/instance: gitea app.kubernetes.io/name: gitea --- apiVersion: apps/v1 kind: Deployment metadata: name: gitea namespace: "gitea" spec: selector: matchLabels: app.kubernetes.io/name: gitea replicas: 1 template: metadata: labels: app.kubernetes.io/instance: gitea app.kubernetes.io/name: gitea spec: containers: - name: gitea image: gitea/gitea env: - name: GITEA__database__DB_TYPE value: postgres - name: GITEA__database__HOST value: postgres14.postgres:5432 - name: GITEA__database__NAME value: gitea - name: GITEA__database__USER value: gitea - name: GITEA__database__PASSWD value: gitea ports: - name: http containerPort: 3000 - name: ssh containerPort: 2222 volumeMounts: - name: gitea-data mountPath: /data volumes: - name: gitea-data persistentVolumeClaim: claimName: gitea-pvc --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: gitea-tls namespace: gitea spec: entryPoints: - websecure routes: - match: Host(`gitea-dev.allarddcs.nl`) kind: Rule services: - name: gitea port: 3000 tls: certResolver: letsencrypt --- apiVersion: v1 kind: PersistentVolume metadata: name: gitea-pv spec: storageClassName: "" capacity: storage: 2Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - hard - nfsvers=4.1 nfs: server: 192.168.2.110 path: /mnt/nfs_share/gitea readOnly: false --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitea-pvc namespace: gitea spec: storageClassName: "" volumeName: gitea-pv accessModes: - ReadWriteMany volumeMode: Filesystem resources: requests: storage: 2Gi