# ------------------------------------------------------------------------------ # FILE: cluster/applications/couchdb/ingress-public.yaml # DESCRIPTION: External ingress for CouchDB — communicore.mk-labs.cloud only. # Separate from the Helm-managed internal ingress so each cert # has the correct CN for its hostname. CN validation in Obsidian # Sync requires CN=communicore.mk-labs.cloud on the public cert. # ------------------------------------------------------------------------------ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: couchdb-public namespace: couchdb annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" external-dns.alpha.kubernetes.io/hostname: "communicore.mk-labs.cloud" external-dns.alpha.kubernetes.io/target: "ingress.mk-labs.cloud" external-dns.alpha.kubernetes.io/public: "true" nginx.ingress.kubernetes.io/proxy-body-size: "100m" spec: ingressClassName: nginx rules: - host: communicore.mk-labs.cloud http: paths: - path: / pathType: Prefix backend: service: name: couchdb-svc-couchdb port: number: 5984 tls: - secretName: couchdb-tls-public hosts: - communicore.mk-labs.cloud