obsidian: 정본 문서에서 히스토리/인시던트 분리 완료
15개 정본 문서에서 날짜별 변경이력, 인시던트 기록, 폐기된 구현 상세를 history/ 디렉토리로 분리. 정본은 현재 상태만 기술하는 백서 형태로 정리. 각 정본에 history 위키링크 추가. 분리된 history 파일 12건: - apisix git push 500, k3s postgresql migration, apisix→traefik 전환 - netbis DDoS 공격, gitea 이전/분리, usb 2.5g hang + NFS hard mount - supabase→patroni, apisix etcd 통합/분리, anomaly-detect 재설계 - patroni failover incident, zlambda nixos migration, ops-agents setup Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,8 +4,6 @@ updated: 2026-04-09
|
||||
tags: [agent, ops, claude-code]
|
||||
---
|
||||
|
||||
<!-- 2026-04-09: heimdall tofu 재생성. 유저 root→kaffa, project default→ops, IP 10.100.3.92→10.100.3.108 -->
|
||||
|
||||
|
||||
kappa가 혼자 쓰는 **내부 인프라·운영 자동화 Claude Code 에이전트** 집합. 고객 대상 OpenClaw 에이전트(jp1 `agents` 프로젝트, anvil/stamp/flux 등)와는 완전히 분리된 영역. 외부 클라우드 BM 프로비저닝(jp1 `infra-tool` 의 Tofu API)과도 무관.
|
||||
|
||||
@@ -15,8 +13,8 @@ kappa가 혼자 쓰는 **내부 인프라·운영 자동화 Claude Code 에이
|
||||
|
||||
| 이름 | 호스트 | Incus 프로젝트 | IP | 역할 | 비고 |
|
||||
|------|--------|---------------|-----|------|------|
|
||||
| **[[heimdall]]** | kr1 | `ops` | 10.100.3.108 | 인프라 전반 (K3s, Incus, Longhorn, 스토리지, 네트워크, 일반 서비스) | 2026-04-09 tofu 재생성 (`kaffa/ops-agents-tofu/heimdall`) |
|
||||
| **[[syn]]** | hp2 | `ops` | 10.100.2.173 | 엣지 레이어 전담 (BunnyCDN, SafeLine WAF, APISIX, Cloudflare 엣지) | 2026-04-09 신규, tofu 관리 (`kaffa/ops-agents-tofu/syn`) |
|
||||
| **[[heimdall]]** | kr1 | `ops` | 10.100.3.108 | 인프라 전반 (K3s, Incus, Longhorn, 스토리지, 네트워크, 일반 서비스) | tofu 관리 (`kaffa/ops-agents-tofu/heimdall`) |
|
||||
| **[[syn]]** | hp2 | `ops` | 10.100.2.173 | 엣지 레이어 전담 (BunnyCDN, SafeLine WAF, APISIX, Cloudflare 엣지) | tofu 관리 (`kaffa/ops-agents-tofu/syn`) |
|
||||
|
||||
## 공통 원칙
|
||||
|
||||
@@ -102,7 +100,7 @@ fingerprint: `SHA256:eBCIglGmK/FnDxJLqxT0CJvRGFEGaIKRWnZ3ZpTaugU`
|
||||
- ASK 한 번에 여러 키를 동시 요청 가능 (같은 작업 범위 내)
|
||||
- 예외 없음 — bunnycdn/openmemory/nocodb 등 다른 MCP는 그대로 동작
|
||||
- 환경변수 잔존(`$VAULT_TOKEN`, `$VAULT_ADDR`) 신뢰 금지
|
||||
- 검증: 2026-04-09 Syn + Heimdall 양쪽에서 e2e 테스트 완료 (DENIED 경로 포함)
|
||||
- 검증: Syn + Heimdall 양쪽에서 e2e 테스트 완료 (DENIED 경로 포함)
|
||||
|
||||
**이점**:
|
||||
- 기술적 격리 (에이전트가 규칙을 잊거나 혼동해도 Vault 도달 불가)
|
||||
@@ -118,8 +116,6 @@ fingerprint: `SHA256:eBCIglGmK/FnDxJLqxT0CJvRGFEGaIKRWnZ3ZpTaugU`
|
||||
|
||||
### Heimdall
|
||||
- OpenTofu 관리: [`kaffa/ops-agents-tofu/heimdall`](https://gitea.inouter.com/kaffa/ops-agents-tofu) (2026-04-09 재생성)
|
||||
- 이전: 2026-03 수동 생성 (root 유저, kr1 default project, IP 10.100.3.92) → 2026-04-09 tofu 재생성 (kaffa 유저, kr1 ops project, IP 10.100.3.108)
|
||||
- 재생성 시 `~/.claude` (CLAUDE.md, credentials, settings, plugins) 전체 백업/복원
|
||||
- 변경 플로우: 로컬 clone → `heimdall/` 에서 `tofu plan` → `tofu apply`
|
||||
- State: 로컬 `terraform.tfstate` (gitignore, 수동 백업)
|
||||
- Secrets (`terraform.tfvars`): Vault `secret/apps/gitea` 참조, 커밋 금지
|
||||
@@ -162,7 +158,7 @@ fingerprint: `SHA256:eBCIglGmK/FnDxJLqxT0CJvRGFEGaIKRWnZ3ZpTaugU`
|
||||
| heimdall | `heimdall-tmux.service` | `/home/kaffa/heimdall` | `tmux new-session -d -s heimdall "claude"` |
|
||||
| syn | `syn-tmux.service` | `/home/kaffa/syn` | `tmux new-session -d -s syn "claude --dangerously-skip-permissions"` |
|
||||
|
||||
heimdall 은 `--dangerously-skip-permissions` 플래그를 **사용하지 않음** — 2026-04-09 신규 생성 시 first-run prompt 경쟁조건으로 기동 정지 문제가 있었고 `settings.json` allowlist 로 충분히 대체 가능. syn 은 수동 first-login 단계를 이미 통과한 상태라 플래그 유지.
|
||||
heimdall 은 `--dangerously-skip-permissions` 플래그를 **사용하지 않음** — `settings.json` allowlist 로 대체. syn 은 플래그 유지.
|
||||
|
||||
#### tofu repo 워크스페이스 정본
|
||||
|
||||
@@ -171,7 +167,7 @@ heimdall 은 `--dangerously-skip-permissions` 플래그를 **사용하지 않음
|
||||
- `heimdall-workspace/{CLAUDE.md, mcp.json, runbooks/{k3s,incus,longhorn,network,patroni,storage}}` → `/home/kaffa/heimdall/{CLAUDE.md, .mcp.json, runbooks/}`
|
||||
- `syn-workspace/{CLAUDE.md, mcp.json, runbooks/{bunnycdn,cloudflare,safeline,apisix}}` → `/home/kaffa/syn/{CLAUDE.md, .mcp.json, <런북들 top-level>}`
|
||||
|
||||
**자동 전개 (2026-04-09 도입)**: cloud-init runcmd 가 부팅 시 ops-agents-tofu repo 를 `git clone --depth=1` 로 가져와 위 매핑대로 `/home/kaffa/<agent>/` 에 복사 + clone 정리. 신규 컨테이너 provisioning 시 manual scp 단계 0.
|
||||
**자동 전개**: cloud-init runcmd 가 부팅 시 ops-agents-tofu repo 를 `git clone --depth=1` 로 가져와 위 매핑대로 `/home/kaffa/<agent>/` 에 복사 + clone 정리. 신규 컨테이너 provisioning 시 manual scp 단계 0.
|
||||
|
||||
라이브 컨테이너에 워크스페이스 변경 반영 시:
|
||||
- 직접 수정 + repo 에 commit/push (정합성)
|
||||
|
||||
Reference in New Issue
Block a user