refactor: normalize infra wikilinks to bare names
This commit is contained in:
@@ -13,7 +13,7 @@ tags: [security, crowdsec, victorialogs, ollama, gemma, anomaly]
|
||||
|
||||
OpenRouter `x-ai/grok-4-fast`에 tool 2개(logsql_query, ban_ips)만 노출하는 agentic 구조. fallback 모델 `qwen/qwen3-235b-a22b-2507`.
|
||||
|
||||
설계 반복 및 모델 벤치마크 이력: [[../history/2026-04-08-anomaly-detect-iterations|history]]
|
||||
설계 반복 및 모델 벤치마크 이력: [[2026-04-08-anomaly-detect-iterations|history]]
|
||||
|
||||
### 새 아키텍처
|
||||
|
||||
@@ -168,4 +168,4 @@ incus exec anomaly-detect -- sh -c 'echo "{}" > /var/lib/anomaly-detect/dedup.js
|
||||
- [ ] **[Low]** CrowdSec alert `origin`을 `"crowdsec"` → `"anomaly-detect"`로 태깅
|
||||
|
||||
|
||||
전임자 (`ddos-detect`, 1/2차 구현) 폐기 이력: [[../history/2026-04-08-anomaly-detect-iterations|history]]
|
||||
전임자 (`ddos-detect`, 1/2차 구현) 폐기 이력: [[2026-04-08-anomaly-detect-iterations|history]]
|
||||
|
||||
@@ -125,7 +125,7 @@ config:
|
||||
ingressClass: apisix
|
||||
```
|
||||
|
||||
라우팅 전환/복구 이력: [[../history/2026-03-25-apisix-to-traefik-routing|history]]
|
||||
라우팅 전환/복구 이력: [[2026-03-25-apisix-to-traefik-routing|history]]
|
||||
|
||||
ApisixRoute 예시 (라우트별 chaitin-waf):
|
||||
```yaml
|
||||
@@ -188,7 +188,7 @@ etcd:
|
||||
- helm upgrade 전 release values nesting 점검 필수: `apisix.admin.allow.ipList`(O) vs `admin.allow.ipList`(X) 등. 잘못된 nesting은 차트가 조용히 무시함.
|
||||
- ingress controller는 자동으로 모든 K8s CRD 객체를 etcd에 재push (rollout restart로 즉시 동기화)
|
||||
|
||||
etcd 통합/분리 이력: [[../history/2026-04-06-apisix-etcd-consolidation|history]]
|
||||
etcd 통합/분리 이력: [[2026-04-06-apisix-etcd-consolidation|history]]
|
||||
|
||||
### BunnyCDN Pull Zone 매핑 (2026-04-09 API 실측)
|
||||
|
||||
@@ -256,7 +256,7 @@ BunnyCDN WAF가 NocoDB JS를 오탐 차단하여 CDN 우회 처리.
|
||||
|
||||
시나리오 매칭으로 반복 공격자 탐지.
|
||||
|
||||
과거 트러블슈팅 이력: [[../history/2026-03-15-apisix-git-push-500|2026-03-15 git push 500 에러 + http-logger 401]]
|
||||
과거 트러블슈팅 이력: [[2026-03-15-apisix-git-push-500|2026-03-15 git push 500 에러 + http-logger 401]]
|
||||
|
||||
## jarvis.inouter.com 라우트
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ kubectl -n longhorn-system get volumes.longhorn.io \
|
||||
-l recurring-job-group.longhorn.io/critical=enabled
|
||||
```
|
||||
|
||||
라벨 기록이 꼬였을 때의 대응은 [[../history/2026-04-15-longhorn-backup-label-typo|history]] 참고.
|
||||
라벨 기록이 꼬였을 때의 대응은 [[2026-04-15-longhorn-backup-label-typo|history]] 참고.
|
||||
|
||||
## incus 백업 (inbest 데이터)
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ ddos-detect AI 분석기 폐기 후 deterministic 패턴 매칭으로 대체.
|
||||
- 현재 모두 `remediation: true` (즉시 ban). dry-run으로 시작 안 함 — false positive 발생 시 임계값 또는 ban duration 조정.
|
||||
|
||||
|
||||
과거 인시던트 및 변경 이력은 `history/` 참조. 예: `history/2026-04-10-edge-cleanup.md` (cf-audit-cleanup-2 3-incident chain, Turnstile sitekey 교체, 미들웨어 64811 `/__captcha/verify` 버그 수정 등), [[../history/2026-04-15-apisix-http-logger-removal|2026-04-15 APISIX http-logger 레거시 제거]].
|
||||
과거 인시던트 및 변경 이력은 `history/` 참조. 예: `history/2026-04-10-edge-cleanup.md` (cf-audit-cleanup-2 3-incident chain, Turnstile sitekey 교체, 미들웨어 64811 `/__captcha/verify` 버그 수정 등), [[2026-04-15-apisix-http-logger-removal|2026-04-15 APISIX http-logger 레거시 제거]].
|
||||
|
||||
### 발견 사항: K3s APISIX 글로벌 limit-req
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ tags: [k3s, traefik, gateway-api]
|
||||
|
||||
K3s 메인 라우팅을 Traefik이 담당. APISIX는 독립 LoadBalancer(MetalLB VIP 192.168.9.50)로 병렬 운영.
|
||||
|
||||
전환 이력: [[../history/2026-03-25-apisix-to-traefik-routing|history]]
|
||||
전환 이력: [[2026-03-25-apisix-to-traefik-routing|history]]
|
||||
|
||||
## Traefik 배포
|
||||
|
||||
|
||||
@@ -55,4 +55,4 @@ Incus + K3s 워커 호스트 (서울존). HP ProLiant DL360p Gen8 베어메탈.
|
||||
- hp2와 동일 Gen8 스펙이나 2.5G LAN 미탑재 (1G only)
|
||||
- Longhorn replica 참여 시 nvme에 별도 마운트 필요
|
||||
|
||||
상세 인프라 컨텍스트: [[../infra-hosts]]
|
||||
상세 인프라 컨텍스트: [[infra-hosts]]
|
||||
|
||||
@@ -38,6 +38,6 @@ Incus + K3s 워커 호스트 (서울존). 홈랩 bare-metal 서버. Incus 프로
|
||||
## 상세
|
||||
|
||||
- Incus 컨테이너이므로 커널은 호스트 bare-metal과 공유 (커널 업데이트는 호스트에서)
|
||||
- 2026-04-13 drain+reboot 테스트 완료 → [[../../tasks|tasks.md]] 참조
|
||||
- 2026-04-13 drain+reboot 테스트 완료 → [[tasks|tasks.md]] 참조
|
||||
|
||||
상세 인프라 컨텍스트: [[../infra-hosts]]
|
||||
상세 인프라 컨텍스트: [[infra-hosts]]
|
||||
|
||||
@@ -42,4 +42,4 @@ Incus + K3s control-plane 호스트 (서울존). GPU 워크로드 가능(GTX 108
|
||||
- heimdall ops 에이전트는 이 호스트의 incus 컨테이너에 상주
|
||||
- K3s kine 엔드포인트는 OpenWrt HAProxy 192.168.9.1:5432 → Patroni leader 자동 감지
|
||||
|
||||
상세 인프라 컨텍스트: [[../infra-hosts]]
|
||||
상세 인프라 컨텍스트: [[infra-hosts]]
|
||||
|
||||
@@ -41,7 +41,7 @@ NixOS 베이스 호스트 (도쿄, Linode nano). 이전 `sandbox-tokyo` 장비
|
||||
|
||||
## 용도 검토
|
||||
|
||||
- K3s worker 편입 후보 (taint geo=tokyo) — [[../k3s-migration|검토 중]]
|
||||
- K3s worker 편입 후보 (taint geo=tokyo) — [[k3s-migration|검토 중]]
|
||||
- 도쿄 POP 엣지 워크로드 용도
|
||||
|
||||
상세 인프라 컨텍스트: [[../infra-hosts]]
|
||||
상세 인프라 컨텍스트: [[infra-hosts]]
|
||||
|
||||
@@ -319,7 +319,7 @@ Docker: `--runtime=nvidia` 또는 `--gpus all`로 GPU 사용. Podman: CDI 방식
|
||||
- kr2: `/etc/systemd/network/30-usb-2g5.network`
|
||||
- hp2: `/etc/systemd/network/30-ens2.network`
|
||||
|
||||
USB autosuspend/NFS hang 인시던트 이력: [[../history/2026-04-04-usb-25g-hang|2026-04-04 USB 2.5G hang]]
|
||||
USB autosuspend/NFS hang 인시던트 이력: [[2026-04-04-usb-25g-hang|2026-04-04 USB 2.5G hang]]
|
||||
|
||||
안정성 대책:
|
||||
- kr2: GRUB `usbcore.autosuspend=-1`, udev rule `99-usb-ethernet.rules` (scatter-gather off)
|
||||
|
||||
@@ -7,7 +7,7 @@ tags: [k3s, migration, postgresql, supabase]
|
||||
|
||||
이 문서는 과거 마이그레이션 작업 기록입니다. 전체 내용은 history 파일로 이동했습니다.
|
||||
|
||||
- [[../history/2026-03-24-k3s-postgresql-migration|2026-03-24 K3s PostgreSQL 이전]]
|
||||
- [[../history/2026-04-05-supabase-to-patroni|2026-04-05 Supabase → Patroni 이전]]
|
||||
- [[2026-03-24-k3s-postgresql-migration|2026-03-24 K3s PostgreSQL 이전]]
|
||||
- [[2026-04-05-supabase-to-patroni|2026-04-05 Supabase → Patroni 이전]]
|
||||
|
||||
현재 클러스터 구성은 [[infra-hosts]] 참조.
|
||||
|
||||
@@ -65,4 +65,4 @@ kubectl get l2advertisement -n metallb-system # L2 광고 확인
|
||||
kubectl get svc --all-namespaces -o wide | grep LoadBalancer # LB 서비스 목록
|
||||
```
|
||||
|
||||
NodePort → LoadBalancer 이전 이력: [[../history/2026-03-24-k3s-postgresql-migration|history]] (Phase 5: MetalLB 도입)
|
||||
NodePort → LoadBalancer 이전 이력: [[2026-03-24-k3s-postgresql-migration|history]] (Phase 5: MetalLB 도입)
|
||||
|
||||
@@ -100,7 +100,7 @@ spec:
|
||||
- **hard**: NAS 끊기면 무한 대기 → 서버 먹통
|
||||
- **soft**: 타임아웃 후 에러 반환 → 서버 생존
|
||||
|
||||
모든 NFS 마운트는 `soft,timeo=50,retrans=3` 필수. 인시던트 이력: [[../history/2026-04-04-usb-25g-hang|history]]
|
||||
모든 NFS 마운트는 `soft,timeo=50,retrans=3` 필수. 인시던트 이력: [[2026-04-04-usb-25g-hang|history]]
|
||||
|
||||
## iSCSI StorageClass (democratic-csi)
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ Outline MCP 서버 도입 시 헤임달이 직접 문서 CRUD 가능.
|
||||
- heimdall `~/.claude.json` `/root` 프로젝트 mcpServers에 `outline` 항목 추가 (stdio, `uvx mcp-outline`, `OUTLINE_API_KEY`는 Vault `secret/apps/outline` brokkr-api-key, `OUTLINE_API_URL=https://outline.inouter.com`)
|
||||
- 새 컬렉션 `agent-qna` (id `c3ab34ab-fae4-4642-8f4e-12728e293e1b`) — 에이전트 간 장문 Q&A 교환 공간 (kappa↔heimdall이 tmux로 짧게 질문 → 답변은 여기에 작성)
|
||||
|
||||
DB endpoint는 OpenWrt HAProxy(`192.168.9.1:5432`) 경유. 과거 Patroni failover 사고 이력: [[../history/2026-04-08-patroni-failover-incident|history]]
|
||||
DB endpoint는 OpenWrt HAProxy(`192.168.9.1:5432`) 경유. 과거 Patroni failover 사고 이력: [[2026-04-08-patroni-failover-incident|history]]
|
||||
|
||||
## Discord 통지 파이프라인
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ datastore-endpoint: "postgres://kine:kine@10.100.2.5:5432,10.100.3.185:5432,10.1
|
||||
|
||||
### 검증 (2026-04-16)
|
||||
|
||||
kr2 → kr1 순서로 rolling restart. switchover (postgres-1→postgres-3, TL12→13) 시 kine API 다운타임 **<1초** (t+2ms 에 정상 응답). [[../history/2026-04-16-kine-multihost-migration|history]]
|
||||
kr2 → kr1 순서로 rolling restart. switchover (postgres-1→postgres-3, TL12→13) 시 kine API 다운타임 **<1초** (t+2ms 에 정상 응답). [[2026-04-16-kine-multihost-migration|history]]
|
||||
|
||||
### OpenWrt HAProxy :5432 프론트엔드
|
||||
|
||||
@@ -112,7 +112,7 @@ kine + pgpool 전환 완료로 HAProxy postgres 프론트엔드는 **더 이상
|
||||
NocoDB/n8n/Outline → pgpool.db.svc.cluster.local:9999 → Patroni 3노드 직결
|
||||
```
|
||||
|
||||
이전 pgcat+HAProxy 구조는 2026-04-16 폐기. [[../history/2026-04-16-pgpool-full-migration|history]]
|
||||
이전 pgcat+HAProxy 구조는 2026-04-16 폐기. [[2026-04-16-pgpool-full-migration|history]]
|
||||
|
||||
### pgpool 구성
|
||||
|
||||
@@ -174,7 +174,7 @@ pgpool 은 자체 연결 관리가 있어 클라이언트 좀비 문제 없지
|
||||
|
||||
이전 pgcat 대비: 동일 시나리오에서 n8n 1038건 / NocoDB 13건 / pod restart 필요
|
||||
|
||||
마이그레이션 이력: [[../history/2026-04-16-pgpool-n8n-poc|PoC]] · [[../history/2026-04-16-pgpool-full-migration|전면 전환]]
|
||||
마이그레이션 이력: [[2026-04-16-pgpool-n8n-poc|PoC]] · [[2026-04-16-pgpool-full-migration|전면 전환]]
|
||||
|
||||
## APISIX etcd 사용 현황
|
||||
|
||||
@@ -184,7 +184,7 @@ pgpool 은 자체 연결 관리가 있어 클라이언트 좀비 문제 없지
|
||||
| sandbox-tokyo | (미가동) | `/apisix/tokyo` | 2026-04-08 NixOS 전환으로 APISIX 자체 폐기, etcd 데이터만 보존 |
|
||||
| 서울 K3s | **K3s 내부 apisix-etcd StatefulSet** (apisix.apisix.svc:2379) | `/apisix` | 2026-04-08 외부 통합에서 K3s 내부로 복귀 |
|
||||
|
||||
APISIX etcd 통합/분리 이력: [[../history/2026-04-06-apisix-etcd-consolidation|history]]. 현재 외부 통합 etcd는 **Patroni DCS + osaka APISIX 전용**.
|
||||
APISIX etcd 통합/분리 이력: [[2026-04-06-apisix-etcd-consolidation|history]]. 현재 외부 통합 etcd는 **Patroni DCS + osaka APISIX 전용**.
|
||||
|
||||
## 관련 문서
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ tags: [nixos, linode, zlambda, infra]
|
||||
|
||||
Linode Tokyo VM (라벨 `zlambda`, id 47271589). NixOS 25.05 (Warbler), nixos-anywhere로 설치. 옛 이름 `sandbox-tokyo`는 Mac ssh config alias로만 남아 있음.
|
||||
|
||||
NixOS 전환 이력: [[../history/2026-04-08-zlambda-nixos-migration|history]]
|
||||
NixOS 전환 이력: [[2026-04-08-zlambda-nixos-migration|history]]
|
||||
|
||||
## 접속
|
||||
|
||||
|
||||
Reference in New Issue
Block a user