Commit Graph

260 Commits

Author SHA1 Message Date
heimdall
bf33c043f9 netbis: CF 바운서 전량 제거 (netbis-cf + netbis-cf-firewall) 2026-04-23 13:52:59 +09:00
heimdall
29c17065b2 netbis: crowdsec-cloudflare-bouncer (firewall rule) 추가 — worker bouncer와 병행 2026-04-23 13:27:23 +09:00
heimdall
738a60b093 longhorn: 1.8.2 -> 1.11.1 업그레이드 (2026-04-23) 2026-04-23 09:06:21 +09:00
kaffa
3dfceb81b7 ironclad production cutover (2026-04-21): apex → Worker 전환
products/ironclad-website.md: 배포 표에 라우팅 방식 컬럼 추가.
production만 zone route 방식(custom_domain 대신 zone_name + /*)을 써서
기존 APISIX A record를 건드리지 않고 Cloudflare 엣지에서 Worker가
매칭 요청을 가로채는 구조. 전제 조건(crowdsec bouncer wildcard가
apex를 가로채지 않도록 *.ironclad.it.com/* 수정) 명시.

history/2026-04-21: 3차에 걸친 cutover 경로(DNS 충돌 → route 전환 →
crowdsec wildcard dot 누락 수정) + 현재 prod 상태 + 후속 정리 항목.
2026-04-21 17:13:33 +09:00
kaffa
71aae4e374 products/ironclad-website: Next.js 16 + Claude Design 전환 반영
기존 Astro+Stitch 계획을 실제 구현(Next.js 16 App Router, opennextjs-cloudflare,
독자 Worker 3환경) 기준으로 갱신. 보안서비스 페이지 섹션별 콘텐츠 규칙 정리.
anvil-hosting(hosting.inouter.com)은 폐기된 실험으로 명시.

history/2026-04-21: Claude Design 도입 + /ko/security 본체 교체 경위 기록.
2026-04-21 15:48:53 +09:00
kaffa
08313cd4d4 infra/platform/ollama: add GPU and VRAM details
GTX 1080 Ti(11GB VRAM, CUDA 12.4) GPU 가속 확인. gemma4:e4b 로드 시
10GB 점유(89%), 동시 로드 한계·GPU 공유 제약·36 tok/s 실측치 추가.
infra-hosts.md §GPU 링크.
2026-04-21 12:29:11 +09:00
kaffa
6a54e8bbc3 add infra/platform/ollama.md
kr1 호스트의 Ollama 런타임 정본 기록. Tailscale 11434 엔드포인트,
qwen3:4b / gemma4:e4b 모델, 2026-04-21 tool-calling 검증 내역 포함.
2026-04-21 11:48:37 +09:00
heimdall
b0cef67afd history: 2026-04-21 outline APISIX route + SafeLine WAF
outline.inouter.com 을 Traefik 에서 APISIX 경유로 전환하고
chaitin-waf plugin 부착. CRD (ApisixTls + ApisixRoute,
ingressClassName=apisix) 로 관리. 정상 pass, SQLi 403 reject 검증.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 10:13:06 +09:00
kaffa
0fbce86cfc outline: route via APISIX (port 9443, ApisixRoute CRD), not Traefik
Switched Bunny iron-kr-nowaf origin from :443 (Traefik) to :9443 (APISIX,
no SafeLine plugin) since APISIX plugins are per-route. Used existing
:9443 path (juiceshop already there) instead of opening a new OpenWrt
port. Outline route managed via ApisixTls + ApisixRoute CRDs because
admin-API direct PUTs get swept by apisix-ingress-controller as orphans.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 10:08:16 +09:00
kaffa
a20c68e3a1 outline: split to iron-kr-nowaf pull zone, restore iron-kr WAF rules
Created new Bunny pull zone iron-kr-nowaf (ID 5720695) without Shield to
host outline.inouter.com exclusively. Uploaded *.inouter.com wildcard cert
from cert-manager since Bunny LE auto-provision kept returning invalid.
Restored 7 CRS rules (942100,932230/235/260/370/380,933160) on iron-kr
Shield so vault/n8n/telegram-webhook/jarvis regain protection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 09:32:11 +09:00
kaffa
782fff8fe9 k3s: document kr2 kubelet memory reserve as intentional OOM mitigation
Ties the existing /etc/rancher/k3s/config.yaml kubelet-arg (system-reserved=8Gi,
eviction-hard<2Gi) to the 2026-04-19 OOM freeze incident so it won't be
flagged as mystery asymmetry in future audits. Closes item 6 of 2026-04-20
K3s improvements.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 07:44:09 +09:00
heimdall
f8c4274124 history: 2026-04-20 K3s 개선 6건 실행 리포트
Default SC 통일, safeline 볼륨 replica 3 통일, vector healthcheck
disable, hp1 rebalance 자연 진행 (3→10 replica), iSCSI 재시작은
helm-upgrade 주기 영향 추정·관찰 유지, kr2 system-reserved 10Gi
비대칭은 기록 완료·통일 실행은 호스트 접근 후 후속.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:54:18 +09:00
heimdall
0d1bf40cfe history: 2026-04-20 K3s 상세 점검 리포트
Outline 업로드가 BunnyCDN Shield 403 으로 상세 본문 차단되어
요청자(kappa) 열람 경로를 Obsidian history 로 대체. Outline
parent 요약 문서 ID: c1ec3f2c-0fa8-49f8-9d0b-3d619a0e4715.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 19:11:06 +09:00
kaffa
5d0632cb68 backup: install Velero v1.18 (chart 12.0.0) + daily-full schedule to R2 velero-backup 2026-04-20 10:12:21 +09:00
kaffa
a2884a60d8 backup: add k8s VolumeSnapshot API (snapshot-controller v8.5.0) as Velero prereq; fix democratic-csi restart loop 2026-04-20 09:06:48 +09:00
kaffa
7d58e159af metallb: raise controller mem limit 64Mi→256Mi (OOM fix) 2026-04-20 08:20:39 +09:00
kaffa
dc18ec8bac infra-hosts: Longhorn 자동 복구 설정 (node-down auto-delete + replica-auto-balance) 2026-04-19 15:05:00 +09:00
kaffa
620abeae79 infra-hosts: Descheduler 설치 기록 (kr2 OOM freeze 대응) 2026-04-19 14:36:03 +09:00
kaffa
fa9534c265 tasks: add Longhorn 1.8.2 → 1.11.1 upgrade plan
3 sequential minor hops required before Phase 3 storage-network migration.
Includes pre-flight checks, per-hop commands, validation checklist, rollback plan.
2026-04-19 13:44:57 +09:00
kaffa
afd2935ea4 infra/network: add multus.md (Multus CNI + storage-205 NAD)
Document Multus CNI + Whereabouts IPAM deployment on k3s, including:
- k3s path peculiarities (symlink-based multicall binary vs thick daemonset chroot)
- /opt/cni/bin real-directory workaround with all plugin binaries
- multus-shim/passthru symlinks to k3s CNI dir
- storage-205 NAD for Longhorn 2.5G storage network (ens2, MTU 9000, whereabouts .240-.254)
2026-04-19 13:39:34 +09:00
kaffa
354b2bb9d6 graphifyignore: exclude dev/ from knowledge graph 2026-04-19 12:17:30 +09:00
kappa
75090c8d19 bunnycdn-security: iron-jp 호스트네임 전부 제거 (anvil.it.com 계열 미사용) 2026-04-17 22:00:29 +09:00
kappa
dfc48ae606 bunnycdn-security: MidRate 규칙 전 풀존 삭제 (NAT 오탐 + 비브라우저 호환 문제) 2026-04-17 17:51:48 +09:00
kappa
8ccdc75f55 bunnycdn-security: iron-git rate limit 제거 (git 클라이언트 호환 불가) 2026-04-17 17:50:42 +09:00
kappa
cbe53f0c22 bunnycdn-security: MidRate 80/block → 120/challenge 변경 (NAT 환경 오탐 방지) 2026-04-17 17:41:13 +09:00
kappa
1ef3bedcb5 bunnycdn-security: Rate Limiting 규칙 2개 설정 (IPBurst + MidRate) 2026-04-17 10:21:14 +09:00
kappa
74b0bdaee6 bunnycdn-security: MonthlyBandwidthLimit 50→100GB 상향 2026-04-17 10:12:17 +09:00
kappa
38a1d8d9ad bunnycdn-security: MonthlyBandwidthLimit 초과 시 풀존 비활성화 동작 기록 (Ticket #386429) 2026-04-17 10:11:19 +09:00
kappa
78dca9185e bunnycdn-security: DDoS 과금 정책 공식 확인 결과 기록 (Ticket #386429) 2026-04-17 09:38:01 +09:00
kappa
57c028e0dc bunnycdn-security: Turnstile multi-domain 해결 + MonthlyBandwidthLimit 설정 2026-04-17 08:55:56 +09:00
kappa
1a79c6464a bunnycdn: WAF wafExecutionMode 0→1(Block) 전환 반영 + PATCH API 엔드포인트 수정 2026-04-17 08:49:36 +09:00
kappa
c1a9e84127 crowdsec: Vector _msg 표준 nginx combined 통일, 커스텀 파서 제거
- Vector transform에서 Traefik JSON → 표준 nginx combined _msg 변환
- APISIX 서울도 _msg 재구성 (비표준 → 표준 nginx combined)
- custom/apisix-logs 파서 제거, nginx-logs 하나로 통일
- CrowdSec VictoriaLogs Traefik acquisition type: nginx로 변경
2026-04-17 07:30:22 +09:00
kappa
e9ca6c7917 crowdsec: Discord 알림 설정 추가 (2026-04-17) 2026-04-17 07:12:17 +09:00
kappa
ba8b4b160e crowdsec: 화이트리스트/파서 설정 변경사항 반영 (2026-04-17)
- crowdsecurity/whitelists 파서 설치 (192.168.9.1 false positive 해결)
- custom/tailscale-whitelist 추가 (100.64.0.0/10)
- custom/apisix-logs 파서 추가 (서울 APISIX 비표준 nginx 포맷)
- crowdsecurity/traefik collection 설치
- 버전 v1.7.7 확인
2026-04-17 00:51:45 +09:00
heimdall
7395446478 docs: add _index.md MOC to all directories 2026-04-16 13:46:06 +09:00
heimdall
f0e51daafd refactor: organize infra/ into compute/network/security/data/platform 2026-04-16 13:43:36 +09:00
heimdall
66d2f51743 refactor: normalize infra wikilinks to bare names 2026-04-16 13:43:18 +09:00
heimdall
3f9727f3ac refactor: move nixos-manual to reference/ + graphifyignore 2026-04-16 13:43:03 +09:00
heimdall
b303243511 n8n Gitea OIDC SSO 설정 문서화 (n8n-oidc hooks) pre-restructure-20260416 2026-04-16 12:51:53 +09:00
heimdall
226b377387 kine pgx multi-host 직결: HAProxy 의존 제거, API 다운타임 <1s 2026-04-16 12:34:53 +09:00
heimdall
33ce94a75a pgpool 전면 전환 + pgcat 퇴역: postgresql-ha.md 전면 갱신 2026-04-16 12:24:39 +09:00
kaffa
5f9a153d96 add incus-hp1 to infra docs (K3s worker, 192.168.9.227)
Incus 6.0.4 + K3s v1.34.5+k3s1 agent joined 2026-04-16.
btrfs on nvme0n1 954G, incusbr0 10.100.4.1/24, 1GbE only.
2026-04-16 10:51:54 +09:00
heimdall
0d59adb95f pgpool-II PoC (n8n 전용 전환) + postgresql-ha.md 섹션 추가 2026-04-16 08:25:02 +09:00
heimdall
125413d083 pgcat+Patroni TCP keepalive 적용: 좀비 소켓 방지 (Step 1 옵션 B) 2026-04-16 07:26:37 +09:00
heimdall
a7ecd4b982 pgcat HA 승격 (Step 0): replicas=2 + podAntiAffinity + PDB 2026-04-15 17:21:13 +09:00
syn
ad230522be infra/crowdsec-safeline: remove APISIX → CrowdSec (:8085) legacy section
Verified removed across all 3 sites:
- K3s APISIX: no http-logger plugin in global_rules/routes/services/plugin_configs
- CrowdSec: no apisix-logs HTTP acquisition file, :8085 not listening
- Osaka APISIX: http-logger exists but targets VictoriaLogs (vector.inouter.com), not legacy

Runtime verification via cs_parser_hits metrics: only source is
https://vl.inouter.com/ (victorialogs type).

Split detailed findings to history/2026-04-15-apisix-http-logger-removal.md.
2026-04-15 16:31:18 +09:00
kappa
bb39d5dd54 .graphifyignore: graphify-out 및 시스템 경로 제외 (자기 출력 재추출 방지) 2026-04-15 13:36:35 +09:00
kappa
b24d10d156 vault-mcp-server 실 아키텍처 정정 (중복 아님, jp1 단일 인스턴스)
- infra/vault.md MCP 서버 섹션 전체 재작성: K3s Deployment 아니라 Pod 없는 리버스 프록시 파사드, 세 접근 경로 모두 jp1 Incus vault 컨테이너(10.253.101.58)로 수렴
- 과거 오류 정정 callout 추가: vault-active.vault.svc.cluster.local 경로 실존 안 함, hcv/mcp URL은 Vault UI로 307 (올바른 MCP 경로는 vault-mcp.inouter.com/mcp)
- history/2026-04-15-vault-mcp-duplicate-investigation.md 인시던트 기록

근거: Heimdall 조사 (Outline 5b6ddffa) + kappa 로컬 확인 (jp1 systemd active + 활성 트래픽)
2026-04-15 13:29:18 +09:00
kappa
b4ddf27f95 gitignore: graphify-out/ + .graphify-cache/ 추가 (Graphify 도입) 2026-04-15 13:00:56 +09:00
heimdall
a9d37aa37a Longhorn standard RecurringJob cron KST 새벽으로 보정
standard-snapshot 0 3 * * * → 0 18 * * * (UTC, = KST 03:00)
standard-backup  0 4 * * * → 0 19 * * * (UTC, = KST 04:00)
critical 6h 간격에 KST 03시 포함되어 변경 없음.
2026-04-15 12:25:57 +09:00