--- apiVersion: v1 kind: Service metadata: name: gitea spec: selector: app: gitea ports: - name: web port: 3000 --- apiVersion: v1 kind: Service metadata: name: gitea-ssh spec: type: NodePort selector: app: gitea ports: - name: ssh port: 2222 targetPort: 22 nodePort: 30007 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: gitea annotations: spec.ingressClassName: "nginx" cert-manager.io/cluster-issuer: "letsencrypt" spec: tls: - hosts: - git.{{.domain}} secretName: gitea-tls rules: - host: git.{{.domain}} http: paths: - path: / pathType: Prefix backend: service: name: gitea port: number: 3000 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitea-data-pv-claim spec: storageClassName: local-path accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: gitea labels: app: gitea spec: replicas: 1 selector: matchLabels: app: gitea template: metadata: labels: app: gitea spec: containers: - name: gitea image: docker.gitea.com/gitea:latest imagePullPolicy: IfNotPresent ports: - containerPort: 3000 - containerPort: 22 volumeMounts: - name: gitea-data mountPath: /data volumes: - name: gitea-data persistentVolumeClaim: claimName: gitea-data-pv-claim