Files
proxmox-iac/README.md
21in7 eced4543d2 docs: document Hermes Agent deploy flow
Adds hermes.tf / hermes-variables.tf / scripts/hermes-bootstrap.sh
rows to the structure table, and appends a Hermes Agent section with
the 4-step deploy sequence (host prep → terraform apply → pct set
bind mounts → in-container bootstrap). Notes that mp0/mp1 are outside
TF state and need a future terraform import.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 23:52:39 +09:00

59 lines
1.9 KiB
Markdown

# Proxmox IaC
Terraform으로 관리하는 Proxmox 홈랩 인프라.
## 구조
| 파일 | 설명 |
|------|------|
| `provider.tf` | Proxmox 프로바이더 설정 |
| `variables.tf` | 공통 변수 |
| `pbs.tf` | PBS LXC 컨테이너 정의 |
| `pbs-variables.tf` | PBS 관련 변수 |
| `hermes.tf` | Hermes Agent LXC 컨테이너 정의 (token-safe skeleton) |
| `hermes-variables.tf` | Hermes 관련 변수 |
| `scripts/hermes-bootstrap.sh` | Hermes 인-컨테이너 설치 스크립트 |
| `outputs.tf` | 출력값 |
## 사용법
```bash
# 초기화
terraform init
# tfvars 파일 생성
cp terraform.tfvars.example terraform.tfvars
# terraform.tfvars에 실제 토큰 값 입력
# 변경사항 확인
terraform plan
# 적용
terraform apply
```
## 노드 정보
| 노드 | IP | 사양 |
|------|-----|------|
| gihyeon | 192.168.50.87 | 5600G / 64GB |
| gihyeon2 | 192.168.50.2 | i3-7100U / 16GB |
## SDN 대역
- gihyeon: `10.1.10.0/24`
- gihyeon2: `10.1.20.0/24`
## Hermes Agent (LXC #118)
litellm(#117, `10.1.10.22:4000`)을 LLM 게이트웨이로 쓰는 Nous Research Hermes Agent.
배포는 4단계 (bind mount·features는 API 토큰 불가 → 콘솔 `pct set`):
1. 호스트 준비(node1 콘솔): `mkdir -p /mnt/pve/hdd/hermes /media/2tb/hermes && chown 100000:100000 /mnt/pve/hdd/hermes /media/2tb/hermes`
2. `terraform apply` (컨테이너 생성)
3. node1 콘솔: `pct set 118 -features nesting=1,keyctl=1 -mp0 /mnt/pve/hdd/hermes,mp=/data -mp1 /media/2tb/hermes,mp=/fast && pct reboot 118`
4. LXC 콘솔: `scripts/hermes-bootstrap.sh` 실행 → `/opt/hermes-stack/.env` 채우고 `docker compose run --rm hermes setup``docker compose up -d`
> 비밀값(litellm 키·봇 토큰)은 컨테이너의 `/opt/hermes-stack/.env`에만 두고 repo에 커밋하지 않는다.
> TODO: hermes `mp0/mp1`는 TF state에 없음 → 추후 `terraform import`로 따라잡기.