apiVersion: apps/v1 kind: Deployment metadata: name: gitea labels: app: gitea spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: gitea template: metadata: labels: app: gitea spec: nodeSelector: homelab/node-role: worker containers: - name: gitea image: {{ .Values.image }} ports: - name: http containerPort: 3000 - name: ssh containerPort: 2222 resources: limits: memory: {{ .Values.resources.limits.memory }} env: - name: USER_UID value: {{ .Values.puid | quote }} - name: USER_GID value: {{ .Values.pgid | quote }} - name: GITEA__server__DOMAIN value: gitea.{{ .Values.domain }} - name: GITEA__server__ROOT_URL value: https://gitea.{{ .Values.domain }} - name: GITEA__server__SSH_PORT value: "2222" - name: GITEA__server__SSH_LISTEN_PORT value: "2222" - name: GITEA__database__DB_TYPE value: postgres - name: GITEA__database__HOST value: gitea-postgres:5432 - name: GITEA__database__NAME value: {{ .Values.postgres.database }} - name: GITEA__database__USER value: {{ .Values.postgres.user }} - name: GITEA__database__PASSWD valueFrom: secretKeyRef: name: {{ .Values.secretName }} key: GITEA_DB_PASS - name: GITEA__service__DISABLE_REGISTRATION value: "true" volumeMounts: - name: data mountPath: /data volumes: - name: data hostPath: path: /dogstore/service-data/gitea type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: gitea spec: selector: app: gitea ports: - name: http port: 3000 targetPort: 3000 - name: ssh port: 2222 targetPort: 2222 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: gitea annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls.certresolver: {{ .Values.certResolver }} spec: rules: - host: gitea.{{ .Values.domain }} http: paths: - path: / pathType: Prefix backend: service: name: gitea port: number: 3000