OpenMemory(Mem0) 서비스 전면 폐기
kappa 세션의 MCP 호출 실패를 계기로 K3s 공용 OpenMemory 서비스를 완전히 폐기(ArgoCD Application + namespace 삭제, chart 소스 제거, MCP 클라이언트 등록 해제). heimdall/syn도 사용 중이었으나 대체 없이 중단. IronDesk 전용 별도 인스턴스(irondesk-openmemory, RUNNING 확인)는 범위에서 제외.
This commit is contained in:
@@ -72,7 +72,7 @@ kubelet-arg:
|
||||
| incus-kr1 | 192.168.9.214 | Debian 13 (trixie) |
|
||||
| incus-kr2 | 192.168.9.135 | Debian 13 (trixie) |
|
||||
|
||||
주요 네임스페이스 (2026-04-09 라이브): api, apisix, argocd, cert-manager, db, democratic-csi, gitea, juiceshop, kroki, kube-system, logging, longhorn-system, mail, mcp, metallb-system, monitoring, mq, n8n, nfs-provisioner, openmemory, outline, rabbitmq-system, safeline, searxng, sftpgo, sshpiper, teleport, test, tools, vault(빈 ns, 서비스만 잔존)
|
||||
주요 네임스페이스 (2026-04-09 라이브): api, apisix, argocd, cert-manager, db, democratic-csi, gitea, juiceshop, kroki, kube-system, logging, longhorn-system, mail, mcp, metallb-system, monitoring, mq, n8n, nfs-provisioner, outline, rabbitmq-system, safeline, searxng, sftpgo, sshpiper, teleport, test, tools, vault(빈 ns, 서비스만 잔존). _openmemory ns는 2026-07-27 서비스 폐기로 제거_
|
||||
|
||||
> vault ns는 빈 상태로 ClusterIP 서비스(`vault-external`)만 잔존 — 실제 Vault 서버는 jp1 incus 컨테이너 (아래 "서비스 위치" 참조).
|
||||
|
||||
@@ -165,7 +165,7 @@ HP ProLiant DL360p Gen8 iLO 4 관리 포트. MAC 기반 고정 할당 (uci `dhcp
|
||||
|
||||
### kubectl 직접 관리 (Helm/ArgoCD 미적용)
|
||||
|
||||
db (proxysql, pgcat), kroki, mq (RabbitmqCluster CR), openmemory (mcp/ui/qdrant), tools (nocodb), juiceshop, searxng, teleport, test
|
||||
db (proxysql, pgcat), kroki, mq (RabbitmqCluster CR), tools (nocodb), juiceshop, searxng, teleport, test
|
||||
|
||||
### TCP 튜닝 (3노드 공통)
|
||||
|
||||
@@ -185,7 +185,6 @@ db (proxysql, pgcat), kroki, mq (RabbitmqCluster CR), openmemory (mcp/ui/qdrant)
|
||||
| [[../platform/longhorn]] | K3s 클러스터 (longhorn-system ns): 분산 스토리지 v1.11.1 | kubectl |
|
||||
| n8n | K3s 클러스터 (n8n ns, Helm) | kubectl |
|
||||
| NocoDB | K3s 클러스터 (tools ns, kubectl 직접) | kubectl, nocodb.inouter.com |
|
||||
| OpenMemory | K3s 클러스터 (openmemory ns): mcp, ui, qdrant | kubectl |
|
||||
| Outline | K3s 클러스터 (outline ns): outline + redis | kubectl, outline.inouter.com |
|
||||
| PgCat | K3s 클러스터 (db ns): PostgreSQL pooler | kubectl |
|
||||
| ProxySQL | K3s 클러스터 (db ns) | kubectl |
|
||||
|
||||
@@ -59,7 +59,7 @@ K3s 운영 부담이 누적되어 Incus 전환 결정. 주요 통증:
|
||||
|--------|-------------|------|
|
||||
| kr1 (62GiB + GTX 1080 Ti) | GPU 워크로드 (docker-gpu/podman-gpu 이미지 기반), brokkr(현행), postgres-2 replica | GPU 자원 유지. control-plane 부담 제거 후 GPU 활용도 확대 가능 |
|
||||
| kr2 (30GiB) | inbest 7컨테이너 유지, mariadb-3/postgres-3 유지, **신규 무거운 워크로드 금지** | RAM 작음. K3s 폐기 후에도 OOM 위험 |
|
||||
| hp1 (188GiB) | 메인 호스트 — Gitea, Outline, OpenMemory, SafeLine, VictoriaLogs/Metrics | RAM 여유, 베어메탈 |
|
||||
| hp1 (188GiB) | 메인 호스트 — Gitea, Outline, SafeLine, VictoriaLogs/Metrics | RAM 여유, 베어메탈 |
|
||||
| hp2 (188GiB) | hp1 짝꿍 — trader 유지 + 분산 부담 분배, mariadb-1/postgres-1 유지 (jarvis는 2026-07-21 폐기) | RAM 여유, Tailscale 가입 |
|
||||
|
||||
## Phase 0 — 대체 패턴 인프라 셋업
|
||||
@@ -129,7 +129,7 @@ K3s 워크로드 이전 전 인프라 토대 구축. 약 1~2주.
|
||||
|------|--------|--------|-----------|------|
|
||||
| 1 | Gitea | gitea | hp1 | gitea + valkey 두 컨테이너. PostgreSQL은 Patroni 그대로. valkey는 컨테이너 동거 또는 별도 |
|
||||
| 2 | Outline | outline | hp1 | outline + redis 두 컨테이너. PostgreSQL은 Patroni |
|
||||
| 3 | OpenMemory | openmemory | hp1 | mcp + ui + qdrant 세 컨테이너. qdrant 데이터는 NAS NFS |
|
||||
| ~~3~~ | ~~OpenMemory~~ | ~~openmemory~~ | ~~hp1~~ | _2026-07-27 서비스 자체 폐기로 이관 불필요_ |
|
||||
| 4 | SafeLine WAF | safeline | hp1 | 공식 docker-compose 기반, 단일 incus 컨테이너 안에서 compose 실행 (예외적 사용) 또는 multi-container profile |
|
||||
| 5 | RabbitMQ | mq | hp1 | 단일 컨테이너로 충분. operator·cluster 폐기 |
|
||||
| 6 | PgCat/ProxySQL | db | hp1 또는 jp1 db 프로젝트 | Patroni pooler 위치 재검토 |
|
||||
@@ -182,7 +182,6 @@ K3s 워크로드 이전 전 인프라 토대 구축. 약 1~2주.
|
||||
| Teleport | teleport ns | hp1 컨테이너 `teleport` (auth+proxy 통합) | 2 |
|
||||
| Gitea | gitea ns | hp1 컨테이너 `gitea` + `gitea-valkey` | 3 |
|
||||
| Outline | outline ns | hp1 컨테이너 `outline` + `outline-redis` | 3 |
|
||||
| OpenMemory | openmemory ns | hp1 컨테이너 `openmemory-mcp` + `openmemory-ui` + `openmemory-qdrant` | 3 |
|
||||
| SafeLine WAF | safeline ns | hp1 컨테이너 `safeline` (compose 내부) | 3 |
|
||||
| RabbitMQ | mq ns | hp1 컨테이너 `rabbitmq` | 3 |
|
||||
| PgCat/ProxySQL | db ns | hp1 또는 jp1 db 프로젝트 | 3 |
|
||||
|
||||
@@ -117,9 +117,9 @@ sudo /usr/local/bin/docker run --rm \
|
||||
> [!warning] 라벨 키 주의 (2026-04-15 정정)
|
||||
> 정확한 키는 `recurring-job-group.longhorn.io/<group>` (**대시 포함**). 2026-04-14 초기 구축 시 `recurringjob-group.longhorn.io/<group>` (대시 없음) 오타로 18볼륨 백업이 전부 noop 동작했음. RecurringJob 컨트롤러는 셀렉터 매칭 실패 시 에러 없이 "Found 0 volumes"로 조용히 종료하므로 라벨 키는 반드시 대시 포함 형식으로 부착할 것.
|
||||
|
||||
### critical (13 볼륨)
|
||||
### critical (11 볼륨)
|
||||
|
||||
APISIX etcd ×3, Gitea PostgreSQL, Gitea 저장소, VictoriaMetrics, n8n, OpenMemory data, OpenMemory qdrant, Outline, Portainer, SafeLine DB, Teleport.
|
||||
APISIX etcd ×3, Gitea PostgreSQL, Gitea 저장소, VictoriaMetrics, n8n, Outline, Portainer, SafeLine DB, Teleport. _OpenMemory data/qdrant는 2026-07-27 서비스 폐기로 제외_
|
||||
|
||||
### standard (5 볼륨)
|
||||
|
||||
@@ -222,6 +222,6 @@ Longhorn UI: https://longhorn.inouter.com → Backup 탭에서 시각적 확인
|
||||
## TODO
|
||||
|
||||
- [x] **R2 lifecycle rule** — `longhorn-backup` 버킷에 7일 만료 규칙 `longhorn-backup-7d-expire` 등록 완료 (2026-04-14, API 경유). `deleteObjectsTransition.condition.maxAge=604800`. Longhorn retention(7일)과 정합.
|
||||
- [ ] vault, openmemory, anvil, ironclad 등 추가 서비스 NFS 백업 CronJob 구성
|
||||
- [ ] vault, anvil, ironclad 등 추가 서비스 NFS 백업 CronJob 구성
|
||||
- [ ] postgres 백업 CronJob NFS 경로 `/volume1/k3s-backup/postgres`로 변경
|
||||
- [ ] 분기별 복원 드릴 (critical 그룹 1건 선정하여 실제 복원 절차 실행)
|
||||
|
||||
@@ -39,7 +39,6 @@ K3s 메인 라우팅을 Traefik이 담당. APISIX는 독립 LoadBalancer(MetalLB
|
||||
| SafeLine | safeline.inouter.com | 200 ✅ |
|
||||
| Namecheap API | namecheap.api.inouter.com | 403 ✅ |
|
||||
| Vultr API | vultr.api.inouter.com | 403 ✅ |
|
||||
| OpenMemory | mem0.inouter.com | MCP 서버 (웹 응답 없음) |
|
||||
| BunnyCDN MCP | bunny.inouter.com | MCP 서버 (웹 응답 없음) |
|
||||
| Gitea Runner | declare successfully ✅ | Tailscale 직접 접속, 와일드카드 인증서 정상 |
|
||||
|
||||
@@ -50,7 +49,6 @@ K3s 메인 라우팅을 Traefik이 담당. APISIX는 독립 LoadBalancer(MetalLB
|
||||
| anvil | nginx-anvil | anvil.local, gnu.inouter.com | 80 |
|
||||
| argocd | argocd-server | argocd.inouter.com | 80 (insecure 모드) |
|
||||
| ironclad | nginx-ironclad | ironclad.local | 80 |
|
||||
| openmemory | openmemory-mcp | mem0.inouter.com | 8765 |
|
||||
| searxng | searxng | searxng.inouter.com | 8080 |
|
||||
| tools | cloud-api-emulator | emul.actions.it.com | 3000 |
|
||||
| tools | cloud-api-linode | linode.actions.it.com | 3001 |
|
||||
@@ -78,7 +76,6 @@ ConfigMap `coredns-custom` (kube-system)의 `hairpin.override`:
|
||||
rewrite name gitea.inouter.com traefik.kube-system.svc.cluster.local
|
||||
rewrite name argocd.inouter.com traefik.kube-system.svc.cluster.local
|
||||
rewrite name searxng.inouter.com traefik.kube-system.svc.cluster.local
|
||||
rewrite name mem0.inouter.com traefik.kube-system.svc.cluster.local
|
||||
rewrite name nocodb.inouter.com traefik.kube-system.svc.cluster.local
|
||||
rewrite name n8n.inouter.com traefik.kube-system.svc.cluster.local
|
||||
rewrite name hcv.inouter.com traefik.kube-system.svc.cluster.local
|
||||
|
||||
@@ -31,8 +31,7 @@ helm-charts/
|
||||
│ ├── app/ # 범용 차트 (v0.4.0) — 단순 서비스용
|
||||
│ ├── kroki/ # 전용 차트 — Kroki + Mermaid
|
||||
│ ├── searxng/ # 전용 차트 — SearXNG + UA 패치 + TLS proxy CA
|
||||
│ ├── outline/ # 전용 차트 — Outline Wiki + Redis
|
||||
│ └── openmemory/ # 전용 차트 — MCP + UI + Qdrant
|
||||
│ └── outline/ # 전용 차트 — Outline Wiki + Redis
|
||||
└── values/ # app 차트용 서비스별 values
|
||||
├── juiceshop.yaml
|
||||
├── cfb-manager.yaml
|
||||
@@ -107,7 +106,6 @@ helm-charts/
|
||||
| kroki | kroki | kroki + mermaid sidecar |
|
||||
| searxng | searxng | UA 패치, TLS proxy CA, Google proxy |
|
||||
| outline | outline | outline + redis + PVC + IngressRoute |
|
||||
| openmemory | openmemory | MCP + UI + Qdrant + PVC 2개 |
|
||||
|
||||
### Operator 관리 (ArgoCD/Helm 외)
|
||||
|
||||
@@ -122,7 +120,7 @@ helm-charts/
|
||||
|
||||
```
|
||||
juiceshop, cfb-manager, bunnycdn-mcp, smtp-relay, namecheap-api, vultr-api,
|
||||
pgcat, proxysql, nas-proxy, vault-mcp, kroki, searxng, outline, openmemory
|
||||
pgcat, proxysql, nas-proxy, vault-mcp, kroki, searxng, outline
|
||||
```
|
||||
|
||||
### 주의사항
|
||||
|
||||
@@ -72,7 +72,7 @@ sudo -u ollama ollama pull <model>
|
||||
|
||||
- **바인딩은 `0.0.0.0`**. 도달 범위: **tailnet(`100.84.111.28`) + 서울 LAN(`192.168.9.214`)**. WAN(외부 인터페이스)은 방화벽으로 차단. (2026-06-09 확인: LAN `192.168.9.214:11434`도 도달 가능 — 같은 LAN의 워크로드는 tailscale 없이 LAN IP로 붙는 게 더 빠름. 예: [[hermes]] 컨테이너 auxiliary.)
|
||||
- 인증·TLS 없음. 별도 프록시를 붙이지 않음 (tailnet 신뢰 경계로 충분).
|
||||
- OpenClaw·ops-agent 등 다수 클라이언트가 공유할 경우 개별 API 키 구분 불가 → 사용처는 OpenMemory/Obsidian에 명시 기록.
|
||||
- OpenClaw·ops-agent 등 다수 클라이언트가 공유할 경우 개별 API 키 구분 불가 → 사용처는 Obsidian에 명시 기록.
|
||||
|
||||
## 운영 주의점
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ ESO는 K3s Pod에서 Vault에 접근해야 하므로 CDN URL(`hcv.inouter.com`)
|
||||
| smtp-relay-mailgun | mail | smtp-relay-mailgun | `messaging/mailgun/smtp` | username, password |
|
||||
| bunnycdn-secrets | mcp | bunnycdn-secrets | `cloud/bunnycdn` | api_key → api-key |
|
||||
| outline-secrets | outline | outline-secrets | `apps/outline` | dataFrom extract (전체 키) |
|
||||
| openmemory-secrets | openmemory | openmemory-secrets | `ai/openai` | API_KEY → OPENAI_API_KEY |
|
||||
| cfb-ssh-key | tools | cfb-ssh-key | `apps/cfb-manager` | ssh_key → id_rsa |
|
||||
| namecheap-api-env | tools | namecheap-api-env | `domain/namecheap` | API_KEY, API_USER, CLIENT_IP, USERNAME, SANDBOX |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user