apiVersion: apps/v1 kind: Deployment metadata: name: gitea labels: app: gitea spec: selector: matchLabels: app: gitea template: metadata: labels: app: gitea spec: containers: - name: gitea image: gitea/gitea:1.11.4 env: - name: INSTALL_LOCK value: "yes" - name: DISABLE_REGISTRATION value: "yes" - name: APP_NAME value: Badjware's code stash - name: RUN_MODE value: prod - name: ROOT_URL value: https://${GITEA_EXTERNAL_HOST} - name: SSH_DOMAIN value: ${GITEA_EXTERNAL_HOST} - name: DB_TYPE value: postgres - name: DB_HOST valueFrom: secretKeyRef: name: postgres-credentials-secret key: host - name: DB_NAME valueFrom: secretKeyRef: name: postgres-credentials-secret key: database - name: DB_USER valueFrom: secretKeyRef: name: postgres-credentials-secret key: username - name: DB_PASSWD valueFrom: secretKeyRef: name: postgres-credentials-secret key: password ports: - name: http containerPort: 3000 - name: ssh containerPort: 22 volumeMounts: - name: gitea-data mountPath: /data volumes: - name: gitea-data persistentVolumeClaim: claimName: gitea-data --- apiVersion: v1 kind: PersistentVolume metadata: name: gitea-data-nfs labels: app: gitea spec: accessModes: - ReadWriteMany capacity: storage: 100Mi nfs: server: nfs-localhost path: /gitea mountOptions: ["vers=4"] --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitea-data labels: app: gitea spec: storageClassName: "" accessModes: - ReadWriteMany resources: requests: storage: 100Mi selector: matchLabels: app: gitea --- apiVersion: v1 kind: Service metadata: name: gitea-http labels: app: gitea spec: selector: app: gitea ports: - name: http protocol: TCP port: 80 targetPort: http --- apiVersion: v1 kind: Service metadata: name: gitea-ssh labels: app: gitea spec: selector: app: gitea ports: - name: ssh protocol: TCP port: 22 targetPort: ssh