{{- $fullName := include "gitdata.fullname" . -}}
{{- $ns := include "gitdata.namespace" . -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ $fullName }}-ingress
  namespace: {{ $ns }}
  labels:
    app.kubernetes.io/name: {{ $fullName }}
    app.kubernetes.io/instance: {{ .Release.Name }}
  annotations:
    cert-manager.io/cluster-issuer: cloudflare-acme-cluster-issuer
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
    nginx.ingress.kubernetes.io/enable-websocket: "true"
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - gitdata.ai
        - api.gitdata.ai
        - git.gitdata.ai
        - static.gitdata.ai
      secretName: {{ $fullName }}-tls
  rules:
    - host: gitdata.ai
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: {{ $fullName }}-app
                port:
                  number: {{ .Values.app.service.port }}
    - host: api.gitdata.ai
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: {{ $fullName }}-app
                port:
                  number: {{ .Values.app.service.port }}
    - host: git.gitdata.ai
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: {{ $fullName }}-gitserver-http
                port:
                  number: {{ .Values.gitserver.service.http.port }}
    - host: static.gitdata.ai
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: {{ $fullName }}-static
                port:
                  number: {{ .Values.static.service.port }}
