kappa 피드백 + kubectl 실측 기반 정정. 이전 기록의 "SafeLine WAF 전용 리버스
프록시" 또는 "SafeLine WAF 전용" 표현은 오해의 소지가 있음.
실측 사실 (2026-04-10 kubectl get svc + ApisixRoute + HTTPRoute):
- APISIX (svc apisix-gateway): MetalLB VIP 192.168.9.50, gateway 80/443 +
admin 9180. 독립 LoadBalancer. Deployment replica 2.
ApisixRoute 1건: juiceshop/juiceshop → juiceshop.keepanker.cv → juiceshop
svc (chaitin-waf plugin 으로 SafeLine 통합 테스트)
- Traefik (svc traefik): MetalLB VIP 192.168.9.53, 80/443.
HTTPRoute 14건 (argocd/gitea/grafana/n8n/nocodb/sftpgo/openmemory/searxng/
kroki/safeline-mgt/vault-ui + api/namecheap + api/vultr + bunnycdn-mcp)
+ 5 legacy IngressRoute (vlogs/outline/vault-mcp/vault-mcp-http/bunnycdn-mcp)
→ **두 gateway 는 동등한 병렬 독립 LoadBalancer**. APISIX 는 Traefik 뒤의
리버스 프록시가 아니라 자체 MetalLB VIP 를 가진 별개 외부 인입 채널.
"SafeLine WAF 전용" 이 아니라, 2026-03-25 메인 라우팅이 Traefik 으로 이전된
이후 현재 APISIX route 가 SafeLine 테스트용 1건만 남은 상태일 뿐 — 범용
gateway 로 언제든 새 route 추가 가능.
정정 대상:
- infra/apisix.md — 서울 섹션 헤더/용도/축소 문구
- infra/infra-hosts.md — 게이트웨이 한 줄 요약
- infra/k3s-migration.md — 게이트웨이 열 + Phase 0 + Namespace 표
- infra/gateway-api.md — 전환 이력 2026-03-25 줄
- infra/crowdsec-safeline.md — waf-kr BunnyCDN Pull Zone 섹션 머리말
부수적으로 2026-04-10 에 발견된 heimdall kubectl 부재 문제 해결
(kubectl + helm + kubeconfig 복원) + tofu cloud-init 자동화 추가 —
commit bd5e4cb (ops-agents-tofu).
- iron-kr 호스트 7개 (사용자 6 + 시스템 1) 명시. gitea.inouter.com 제거 (iron-git 분리됨), outline.inouter.com 추가
- iron-jp 호스트 5개 정정 (anvil.it.com 계열, 옛 inouter.com 표기 제거)
- 옛 풀존 ID 5316471/5330178/5554681 → iron-kr/iron-jp/iron-kr-waf 통합 메모
- Edge Script 64811 attach: iron-kr + iron-jp 두 풀존 모두 (단일 아님)
- iron-kr-waf 섹션을 waf-kr 에서 재명명, 새 경로 표기
- custom/apisix-{high-rate-per-ip,499-burst,single-path-flood,5xx-burst} 4종 추가 (ddos-detect AI 폐기 후 deterministic 패턴 매칭으로 대체)
- 모두 leaky bucket, ban 4h, K3s 서울 APISIX 트래픽만 대상
- APISIX → CrowdSec http-logger 송신처가 K3s 서울 단독임을 명확화 (osaka는 crowdsec-bouncer로 결정 소비만)
- K3s APISIX 글로벌 limit-req(20 req/s, burst 10) 발견 사항 기록 — CrowdSec 시나리오는 이 1차 차단을 통과한 트래픽만 보는 2차 layer라는 점 포함
- ddos-detect.service systemd unit 정지/disable/삭제
- /var/lib/log-collector/ddos-detect/ 디렉토리 제거 (Go 바이너리 + 소스)
- ddos-detect.sh, extract_behavior.py, ddos-logs/ 정리
- requests.db는 log-collector(PID 176)가 사용 중이라 보존
- Gitea repo kaffa/ddos-detect는 코드 reference로 보존
- 새 AI 분석 아키텍처는 VictoriaLogs 기반으로 재설계 예정
- crowdsec-safeline: SafeLine→CrowdSec 실시간 파이프라인 (PG LISTEN/NOTIFY, safeline-listener, :8088 acquisition), log-collector, ddos-detect 문서화
- apisix: K3s APISIX replica 2, etcd replica 3 HA 업그레이드 반영
- infra-hosts: APISIX HA, 2.5G USB autosuspend 장애 및 해결 기록, SafeLine 실시간 트래픽 흐름 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SafeLine VM → K3s safeline ns 이전 (v9.3.2)
- Helm 릴리스 목록 추가 (argocd, cert-manager, longhorn 공식 chart 교체)
- ArgoCD Applications 목록 추가
- registry ns 삭제
- Longhorn v1.8.1 → v1.8.2 업그레이드
- SafeLine detector 주소 K3s 서비스로 변경
- 전체 파일에 [[위키링크]] 추가 (Obsidian 그래프 연결)
- frontmatter에서 source: openmemory 제거
- infra-hosts.md에 서비스 위치/Incus 프로젝트 테이블 추가
- dev/claude-code-setup.md 신규 (CLAUDE.md 인스트럭션 Vault 버전)