jarvis(OpenClaw 게이트웨이) 전면 폐기

미사용 판단(게이트웨이 포트 18789/8787 무응답 확인)으로 컨테이너·APISIX 라우트·
DNS·BunnyCDN 호스트네임·Telegram 웹훅과 관련 문서를 전부 정리.
Discord/Telegram 봇 토큰은 DarkRouter와 공유 가능성이 있어 삭제 보류.
This commit is contained in:
kaffa
2026-07-27 11:34:31 +09:00
parent 06fc6040b4
commit bd70d027b7
13 changed files with 45 additions and 111 deletions

View File

@@ -76,7 +76,7 @@ Gitea 저장소: `gitea.inouter.com/kaffa/obsidian`
**Vault 구조**:
- `infra/` — 인프라 설정, 네트워크, 서비스 운영 정보
- `products/` — 제품 기획, 요금, 법률/세무
- `services/` — 외부 서비스 연동 ([[gitea]], [[telegram-bot]], [[twilio]], [[aws-ses]])
- `services/` — 외부 서비스 연동 ([[gitea]], [[twilio]], [[aws-ses]])
- `openclaw/` — OpenClaw 에이전트 시스템
- `dev/` — 개발 환경, 도구 설정

View File

@@ -0,0 +1,39 @@
---
date: 2026-07-21
topic: jarvis (OpenClaw 게이트웨이) 전면 폐기 — 미사용 판단
areas:
- openclaw/openclaw-jarvis.md (삭제)
- services/telegram-bot.md (삭제)
- infra/network/apisix.md
- infra/compute/infra-hosts.md
- infra/compute/k3s-to-incus-migration.md
- infra/security/cloudflare.md
- services/bunnycdn-security.md
tags: [history, openclaw, jarvis, decommission]
---
osaka APISIX 업그레이드 검증 중 jarvis(10.100.2.162, incus-hp2)가 게이트웨이 포트(18789/8787) 전부 무응답인 것을 발견. kappa가 "사용 안 할 것 같다"고 판단해 관련 자료 전체 삭제를 요청, 범위 확인(문서만 vs 문서+실인프라 전체) 후 전면 삭제 진행.
## 삭제한 것
- **incus-hp2 `jarvis` 컨테이너** (10.100.2.162) — 정지 후 삭제
- **osaka APISIX 라우트**: `jarvis-inouter-com`, `telegram-webhook-inouter-com`
- **Cloudflare DNS**: `jarvis.inouter.com`, `telegram-webhook.inouter.com` CNAME 레코드 (→ iron-kr.b-cdn.net)
- **BunnyCDN iron-kr 풀존**: 위 두 호스트네임 제거
- **Telegram 웹훅**: `@AnvilForgeBot`의 webhook(`https://telegram-webhook.inouter.com/telegram-webhook`) 해제 (`deleteWebhook`)
- **Obsidian 문서**: `openclaw/openclaw-jarvis.md`, `services/telegram-bot.md` 삭제. `apisix.md`/`infra-hosts.md`/`k3s-to-incus-migration.md`/`cloudflare.md`/`bunnycdn-security.md`/`openclaw/_index.md`/`openclaw-reference.md`/`openclaw-manual.md`/`services/_index.md`/`dev/claude-code-setup.md`에서 참조 제거
## 일부러 남긴 것 (별도 확인 필요)
- **Vault `secret/openclaw/discord/main-bot`** (Discord 봇 토큰) — jarvis.md에만 문서화돼 있었지만, `openclaw-agents.md`의 DarkRouter(kaffa 개인 Discord 페르소나, incus-jp1 agents 프로젝트)도 Discord API를 쓰는 별개 시스템이라 토큰 공유 여부를 문서만으로 확정할 수 없어 **삭제 보류**
- **Vault `secret/messaging/telegram`** (`@AnvilForgeBot` API_ID/API_HASH/BOT_TOKEN) — 같은 이유로 DarkRouter의 텔레그램 브릿지가 동일 토큰을 쓸 가능성을 배제 못해 **삭제 보류**. 웹훅만 해제해 dead endpoint 호출은 막음
- **Telegram 봇 계정(`@AnvilForgeBot`) 자체** — API로 계정 삭제 불가(@BotFather 수동 조작 필요), 웹훅 해제만 수행
## 발견 (본 작업과 무관, 별도 기록)
- `jarvis.inouter.com`/`telegram-webhook.inouter.com`의 실제 DNS는 **iron-kr(서울) 풀존**을 가리키고 있었으나, [[../infra/network/apisix|apisix.md]] 라우트 설명은 "APISIX(오사카)"로 문서화돼 있었음 — DNS 존과 실제 라우팅 문서 간 drift가 있었던 것으로 보이나, 대상 자체가 폐기되어 더 조사하지 않음
## 관련
- [[../infra/network/apisix|APISIX 설정 및 운영]]
- [[../infra/compute/infra-hosts|인프라 호스트 및 네트워크]]

View File

@@ -228,7 +228,7 @@ db (proxysql, pgcat), kroki, mq (RabbitmqCluster CR), openmemory (mcp/ui/qdrant)
| kr1 | ops | 1 | heimdall (tofu 관리) |
| kr2 | default | 2 | mariadb-3, postgres-3 |
| kr2 | inbest | 7 | cloudflared 포함 |
| hp2 | default | 4 | jarvis, mariadb-1, postgres-1, trader (anomaly-detect 폐기 2026-04-25) |
| hp2 | default | 3 | mariadb-1, postgres-1, trader (anomaly-detect 폐기 2026-04-25, jarvis 폐기 2026-07-21) |
| hp2 | inbest | 0 | 프로젝트만 존재, 인스턴스 없음 |
스토리지 풀: jp1=`btrfs-pool` (btrfs, /dev/sda1 268G/109G used), kr1=`default` (dir, NVMe 937G/115G used), kr2=`default` (dir, NVMe 937G/115G used), hp2=`default` (btrfs, `/dev/mapper/pve-root` 126G/63G used — Proxmox 잔재 LVM 레이아웃).
@@ -263,7 +263,7 @@ db (proxysql, pgcat), kroki, mq (RabbitmqCluster CR), openmemory (mcp/ui/qdrant)
### hp2 컨테이너
**default 프로젝트** (4): jarvis (10.100.2.162), mariadb-1 (10.100.2.234), postgres-1 (10.100.2.5), trader (10.100.2.9). _anomaly-detect (10.100.2.164)는 2026-04-25 폐기 — [[../../history/2026-04-25-anomaly-detect-removal|history]]_
**default 프로젝트** (3): mariadb-1 (10.100.2.234), postgres-1 (10.100.2.5), trader (10.100.2.9). _anomaly-detect (10.100.2.164)는 2026-04-25 폐기 — [[../../history/2026-04-25-anomaly-detect-removal|history]]_. _jarvis (10.100.2.162, OpenClaw 게이트웨이)는 2026-07-21 미사용 판단으로 폐기_
**inbest 프로젝트** (0): 프로젝트만 존재, 인스턴스 없음 (default profile만 사용 중). kr2 inbest와 페어 구성을 고려해 만들어둔 빈 프로젝트로 보임.

View File

@@ -60,7 +60,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 여유, 베어메탈 |
| hp2 (188GiB) | hp1 짝꿍 — jarvis, trader 유지 + 분산 부담 분배, mariadb-1/postgres-1 유지 | RAM 여유, Tailscale 가입 |
| hp2 (188GiB) | hp1 짝꿍 — trader 유지 + 분산 부담 분배, mariadb-1/postgres-1 유지 (jarvis는 2026-07-21 폐기) | RAM 여유, Tailscale 가입 |
## Phase 0 — 대체 패턴 인프라 셋업

View File

@@ -197,7 +197,7 @@ etcd 통합/분리 이력: [[2026-04-06-apisix-etcd-consolidation|history]]
| Zone | ID | Origin | 방향 | Hostnames (전수) |
|---|---|---|---|---|
| iron-kr | 5555227 | 220.120.65.245 | → 서울 (OpenWrt → Traefik) | `iron-kr.b-cdn.net`, actions.it.com, n8n.inouter.com, jarvis.inouter.com, telegram-webhook.inouter.com, vault.inouter.com, outline.inouter.com (사용자 6 + 시스템 1 = 7) |
| iron-kr | 5555227 | 220.120.65.245 | → 서울 (OpenWrt → Traefik) | `iron-kr.b-cdn.net`, actions.it.com, n8n.inouter.com, vault.inouter.com, outline.inouter.com (사용자 4 + 시스템 1 = 5). _jarvis.inouter.com/telegram-webhook.inouter.com은 2026-07-21 jarvis(OpenClaw) 폐기로 제거_ |
| iron-jp | 5555247 | 172.233.93.180 | → 오사카 (osaka-gw APISIX) | `iron-jp.b-cdn.net`, anvil.it.com, n8n.anvil.it.com, tg.anvil.it.com, linode.actions.it.com (사용자 4 + 시스템 1 = 5) |
| iron-kr-waf | 5555224 | 220.120.65.245:9443 | → 서울 (HAProxy :9443 → K3s APISIX SafeLine WAF) | `iron-kr-waf.b-cdn.net`, juiceshop.keepanker.cv |
| iron-git | 5584382 | 220.120.65.245 | → 서울 (gitea, **미들웨어 미장착**) | `iron-git.b-cdn.net`, gitea.inouter.com |
@@ -260,11 +260,3 @@ BunnyCDN WAF가 NocoDB JS를 오탐 차단하여 CDN 우회 처리.
시나리오 매칭으로 반복 공격자 탐지.
과거 트러블슈팅 이력: [[2026-03-15-apisix-git-push-500|2026-03-15 git push 500 에러 + http-logger 401]]
## jarvis.inouter.com 라우트
jarvis.inouter.com → APISIX(오사카) → jarvis(10.100.2.162:18789). OpenClaw 게이트웨이 웹 UI 및 webhook 엔드포인트. enable_websocket: true.
## telegram-webhook.inouter.com 라우트
telegram-webhook.inouter.com → APISIX(오사카) → jarvis(10.100.2.162:8787). 텔레그램 봇 webhook 수신. Cloudflare proxied, *.inouter.com 와일드카드 SSL.

View File

@@ -107,10 +107,8 @@ Syn 이 엣지 관점에서 소유. 일반 DNS 관리 협업은 Heimdall.
| `derp.inouter.com` | A | `42.125.196.116` | off | jp1 derp |
| `gitea.inouter.com` | CNAME | `iron-git.b-cdn.net` | off | 별도 풀존 (미들웨어 우회) |
| `n8n.inouter.com` | CNAME | `iron-kr.b-cdn.net` | off | |
| `jarvis.inouter.com` | CNAME | `iron-kr.b-cdn.net` | off | |
| `vault.inouter.com` | CNAME | `iron-kr.b-cdn.net` | off | |
| `outline.inouter.com` | CNAME | `iron-kr.b-cdn.net` | off | |
| `telegram-webhook.inouter.com` | CNAME | `iron-kr.b-cdn.net` | off | |
| `desk-api.inouter.com` | A | `172.233.93.180` | ✅ | osaka 직통, CF proxied |
| `sftp.inouter.com` | A | `220.120.65.245` | ✅ | OpenWrt 직통, CF proxied |
| `git.inouter.com` | A | `52.79.45.166` | off | relay4wd Lightsail |

View File

@@ -9,7 +9,6 @@ tags: [moc, openclaw]
| 문서 | 설명 |
|------|------|
| [[openclaw-agents]] | OpenClaw 에이전트 시스템 (DarkRouter 등) |
| [[openclaw-jarvis]] | OpenClaw Jarvis 서버 (hp2 컨테이너) |
| [[openclaw-manual]] | OpenClaw 매뉴얼 인덱스 |
| [[openclaw-ollama]] | OpenClaw + Ollama 로컬 LLM 통합 |
| [[openclaw-reference]] | OpenClaw 레퍼런스 매뉴얼 (통합본) |

View File

@@ -1,79 +0,0 @@
---
title: OpenClaw Jarvis 서버 (hp2)
updated: 2026-03-21
tags: [openclaw, jarvis, hp2]
---
## 서버 정보
- **호스트**: incus-hp2 컨테이너 `jarvis`
- **IP**: 10.100.2.162
- **OS**: Debian 13 (trixie)
- **Node**: v22.22.1 (NodeSource, 시스템 설치)
- **OpenClaw**: 2026.3.13
- **SSH**: `ssh jarvis` (포트 22)
- **웹 UI**: `ssh jarvis-ui` (LocalForward 18789) → `http://localhost:18789`
- **외부 URL**: `https://jarvis.inouter.com` (CF → APISIX → jarvis:18789)
## 게이트웨이 설정
- bind: lan (0.0.0.0:18789)
- auth: token
- trustedProxies: 172.233.93.180, 100.108.39.107, 192.168.9.0/24
- controlUi.allowedOrigins: localhost, 127.0.0.1, jarvis.inouter.com
- 웹 UI 접근: SSH 포트포워딩으로 로컬 접속 후 자동 페어링
## 에이전트 구성
| 에이전트 | 모델 | 역할 | 채널 |
|---------|------|------|------|
| main (Jarvis) | openai-codex/gpt-5.4 | 범용 | 없음 |
| irondesk | deepseek/deepseek-chat | 고객지원 프론트 | telegram (@AnvilForgeBot) |
| irontech | deepseek/deepseek-chat | 기술지원 전문가 | 내부 (서브에이전트) |
| testdesk | openai/gpt-4.1-mini | 테스트용 | 없음 |
## 에이전트 핸드오프
- irondesk → irontech: `sessions_spawn(runtime="subagent", agentId="irontech")` 방식
- openai-codex OAuth 모델은 tool calling 버그 있음 (GitHub #49503)
- deepseek/deepseek-chat, openai/gpt-4.1-mini에서 핸드오프 동작 확인
- SOUL.md에 구체적인 도구 호출 파라미터 명시 필요
## 텔레그램 Webhook
- 봇: @AnvilForgeBot (토큰: 8264410735:...)
- 모드: webhook
- URL: `https://telegram-webhook.inouter.com/telegram-webhook`
- DNS: telegram-webhook.inouter.com → APISIX(172.233.93.180) → jarvis:8787
- webhookHost: 0.0.0.0 (외부 접근 허용)
- SSL: Cloudflare proxied + *.inouter.com 와일드카드
## Vault 연동
- VAULT_ADDR: https://hcv.inouter.com
- 토큰: openclaw-agent 정책 (secret/openclaw/* 읽기/쓰기)
- 환경변수: /etc/environment + ~/.config/environment.d/vault.conf + ~/.profile
- Discord 토큰: Vault SecretRef → secret/openclaw/discord/main-bot/bot_token
- secrets provider에 env 직접 설정 (게이트웨이 프로세스용)
## OpenMemory 연동
- K3s openmemory namespace에 배포됨
- MCP SSE 엔드포인트: `https://mem0.inouter.com/mcp/jarvis/sse/jarvis`
- acpx 플러그인으로 MCP 서버 등록
- infer=False 설정 (ConfigMap으로 mcp_server.py 수정, gpt-4o-mini 호출 제거)
- add_memories/search_memory/list_memories/delete_memories 도구 사용 가능
## SearXNG
- K3s searxng namespace에 Helm chart로 배포
- URL: `http://searxng.inouter.com`
- 검색 엔진: Google, Bing, DuckDuckGo, Brave, Qwant, Wikipedia
- OpenClaw 스킬로 등록 (~/.openclaw/workspace/skills/searxng/)
- Brave Search API 대안/백업용
## 알려진 이슈
- openai-codex OAuth 모델: tool calling 안 됨 (알려진 버그)
- OpenClaw CLI가 게이트웨이 WS에 연결 실패 (페어링 문제)
- 세션 캐시: SOUL.md 변경 후 반드시 세션 초기화 필요

View File

@@ -17,4 +17,3 @@ tags: [openclaw, agent, ai]
## 운영 문서
- [[openclaw-agents]] — 에이전트 시스템 (DarkRouter, BlackSmith, Stamp, Flux 등)
- [[openclaw-jarvis]] — Jarvis 서버 (hp2) 운영 설정

View File

@@ -4,7 +4,7 @@ updated: 2026-04-04
tags: [openclaw, agent, ai, reference]
---
기존 13개 개별 문서를 통합한 레퍼런스. 운영 문서: [[openclaw-agents]], [[openclaw-jarvis]], [[openclaw-ollama]]
기존 13개 개별 문서를 통합한 레퍼런스. 운영 문서: [[openclaw-agents]], [[openclaw-ollama]]
## 개요 및 설치

View File

@@ -17,5 +17,4 @@ tags: [moc, services]
| [[netbis]] | Netbis 예비서버 (zlambda DR 프록시) |
| [[openmemory]] | OpenMemory (Mem0) 시멘틱 메모리 |
| [[searxng]] | SearXNG 메타 검색 엔진 |
| [[telegram-bot]] | Telegram 봇 (Discord → FastAPI → DeepSeek) |
| [[twilio]] | Twilio 음성/메시지 서비스 |

View File

@@ -44,8 +44,6 @@ IP-list 기반 차단/국가 차단은 현재 layer에 없음. CrowdSec 시나
| iron-kr | `iron-kr.b-cdn.net` | ✅ |
| iron-kr | `actions.it.com` | |
| iron-kr | `n8n.inouter.com` | |
| iron-kr | `jarvis.inouter.com` | |
| iron-kr | `telegram-webhook.inouter.com` | |
| iron-kr | `vault.inouter.com` | |
| iron-kr-nowaf | `iron-kr-nowaf.b-cdn.net` | ✅ |
| iron-kr-nowaf | `outline.inouter.com` | (WAF 제외용, 2026-04-21 이전) |

View File

@@ -1,11 +0,0 @@
---
title: Telegram 봇
updated: 2026-04-04
tags: [service, telegram, bot]
---
## 구성
구성: Telegram Bot API → 웹훅 ([[cloudflare]] Workers) → FastAPI 서버 → DeepSeek LLM
현재 운영: [[openclaw-jarvis]] 서버에서 @AnvilForgeBot 웹훅 수신 → OpenClaw irondesk 에이전트