apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: forgejo namespace: forgejo annotations: cert-manager.io/cluster-issuer: letsencrypt-production spec: ingressClassName: traefik tls: - hosts: - git.example.invalid secretName: forgejo-tls rules: - host: git.example.invalid http: paths: - path: / pathType: Prefix backend: service: name: forgejo port: number: 3000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: registry namespace: registry annotations: cert-manager.io/cluster-issuer: letsencrypt-production spec: ingressClassName: traefik tls: - hosts: - registry.example.invalid secretName: registry-tls rules: - host: registry.example.invalid http: paths: - path: / pathType: Prefix backend: service: name: registry port: number: 5000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: grafana namespace: observability annotations: cert-manager.io/cluster-issuer: letsencrypt-production spec: ingressClassName: traefik tls: - hosts: - grafana.example.invalid secretName: grafana-tls rules: - host: grafana.example.invalid http: paths: - path: / pathType: Prefix backend: service: name: grafana port: number: 3000