Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1bfe08eeb8 | ||
|
|
58bf245920 |
@@ -8,7 +8,11 @@ metadata:
|
|||||||
annotations:
|
annotations:
|
||||||
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||||
spec:
|
spec:
|
||||||
instances: 3
|
# 2, not 3. The file's own header always said 2, and the third instance never
|
||||||
|
# existed as a running pod: its volume only ever held a replica that could not
|
||||||
|
# start, because talos-cp-2 disk2 has no free space. A third replica on a disk
|
||||||
|
# that cannot host it is not redundancy, it is a permanent degraded volume.
|
||||||
|
instances: 2
|
||||||
imageName: ghcr.io/cloudnative-pg/postgresql:16.2
|
imageName: ghcr.io/cloudnative-pg/postgresql:16.2
|
||||||
bootstrap:
|
bootstrap:
|
||||||
initdb:
|
initdb:
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
# 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
|
||||||
@@ -6,3 +6,5 @@ kind: Kustomization
|
|||||||
# riotpiao-poimen/poimen-frontend.git k8s/ — each repo owns its own k8s.
|
# riotpiao-poimen/poimen-frontend.git k8s/ — each repo owns its own k8s.
|
||||||
resources:
|
resources:
|
||||||
- ingress.yaml
|
- ingress.yaml
|
||||||
|
# The memory API. Without it a local pi session has no route to :8080.
|
||||||
|
- api-ingress.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user