--- # Public entry point for the poimen-memory HTTP API. # # The API was reachable only inside the cluster (ClusterIP :8080), so a local pi # session had no way to use it. This Ingress exposes the same handler set the # in-cluster clients use: /mcp, /memory/*, /graphql, /health, /ready. # # Cloudflare terminates TLS in front of the nginx ingress, which is why this rule # carries no `tls:` section — the same shape as ingress.yaml next to it. # # Auth: poimen-memory validates ZITADEL JWTs (MEM_AUTH_MODE=jwt). A caller # without a valid bearer token gets 401, so exposing the route does not expose # the data. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: poimen-api namespace: poimen annotations: # MCP calls and ingest can be slow; the provider may stream. Match the # frontend ingress so a long tool call is not cut at 60s. nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" nginx.ingress.kubernetes.io/proxy-buffering: "off" nginx.ingress.kubernetes.io/proxy-body-size: "50m" spec: ingressClassName: nginx rules: - host: api-poimen.riotpiao.com http: paths: - path: / pathType: Prefix backend: service: name: poimen-memory port: number: 8080