ops-agents: workspace bootstrap 자동화 + 시크릿 env 패턴 문서화
This commit is contained in:
@@ -166,12 +166,32 @@ heimdall 은 `--dangerously-skip-permissions` 플래그를 **사용하지 않음
|
||||
|
||||
#### tofu repo 워크스페이스 정본
|
||||
|
||||
변경 시 `kaffa/ops-agents-tofu` 하위 워크스페이스 디렉토리에서 작업 → commit/push → 라이브 컨테이너로 scp 동기화:
|
||||
변경 시 `kaffa/ops-agents-tofu` 하위 워크스페이스 디렉토리에서 작업 → commit/push:
|
||||
|
||||
- `heimdall-workspace/{CLAUDE.md, mcp.json, README.md}` → `/home/kaffa/heimdall/{CLAUDE.md, .mcp.json}`
|
||||
- `syn-workspace/{CLAUDE.md, mcp.json, runbooks/}` → `/home/kaffa/syn/{CLAUDE.md, .mcp.json, <런북들>}`
|
||||
- `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>}`
|
||||
|
||||
동기화 절차는 각 `README.md` 참조. 향후 cloud-init runcmd 에서 git clone 으로 자동 전개하도록 개선 예정.
|
||||
**자동 전개 (2026-04-09 도입)**: cloud-init runcmd 가 부팅 시 ops-agents-tofu repo 를 `git clone --depth=1` 로 가져와 위 매핑대로 `/home/kaffa/<agent>/` 에 복사 + clone 정리. 신규 컨테이너 provisioning 시 manual scp 단계 0.
|
||||
|
||||
라이브 컨테이너에 워크스페이스 변경 반영 시:
|
||||
- 직접 수정 + repo 에 commit/push (정합성)
|
||||
- 또는 repo 변경 후 `scp` 로 sync
|
||||
|
||||
#### 시크릿 환경변수 (heimdall)
|
||||
|
||||
heimdall 은 `.mcp.json` 안에 토큰을 평문으로 두지 않는다. 패턴:
|
||||
|
||||
1. Vault `secret/apps/<service>` 에 토큰 저장
|
||||
2. tofu 변수 `<service>_mcp_token` (sensitive) 에 주입 (terraform.tfvars 는 gitignore)
|
||||
3. cloud-init 이 `/etc/heimdall/env` (root:kaffa 0640) 에 `KEY=value` 형식으로 작성
|
||||
4. systemd `heimdall-tmux.service` 가 `EnvironmentFile=/etc/heimdall/env` 로 로드
|
||||
5. `.mcp.json` 의 stdio 서버는 `command: "sh", args: ["-c", "exec npx ... --header \"X: $KEY\""]` 로 expansion
|
||||
|
||||
현재 적용 대상:
|
||||
- `NOCODB_MCP_TOKEN` (Vault `secret/apps/nocodb.mcp_token`)
|
||||
- `NOCODB_MCP_URL` (Vault `secret/apps/nocodb.mcp_url`)
|
||||
|
||||
syn 은 현재 토큰 필요한 MCP 가 없어 env file 미사용 (필요 시 동일 패턴 적용 가능).
|
||||
- systemd `syn-tmux.service` (enabled, 첫 로그인 후 수동 start)
|
||||
|
||||
## 향후 확장 후보
|
||||
|
||||
Reference in New Issue
Block a user