apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitea-data-pvc namespace: geocrop spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: gitea namespace: geocrop spec: replicas: 1 selector: matchLabels: app: gitea template: metadata: labels: app: gitea spec: containers: - name: gitea image: gitea/gitea:1.21.6 env: - name: USER_UID value: "1000" - name: USER_GID value: "1000" ports: - containerPort: 3000 - containerPort: 2222 volumeMounts: - name: gitea-data mountPath: /data volumes: - name: gitea-data persistentVolumeClaim: claimName: gitea-data-pvc --- apiVersion: v1 kind: Service metadata: name: gitea namespace: geocrop spec: ports: - port: 3000 targetPort: 3000 name: http - port: 2222 targetPort: 2222 name: ssh selector: app: gitea --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: gitea-ingress namespace: geocrop annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/proxy-body-size: "500m" spec: ingressClassName: nginx tls: - hosts: - git.techarvest.co.zw secretName: gitea-tls rules: - host: git.techarvest.co.zw http: paths: - path: / pathType: Prefix backend: service: name: gitea port: number: 3000