21in7 d17b3f6013 chore: stop tracking terraform.tfvars (contains API token); add .gitignore
terraform.tfvars holds the Proxmox root@pam API token and was committed since the
initial commit. Remove it from tracking and ignore *.tfvars (keeping
*.tfvars.example). NOTE: the token is still in git history on origin
(git.gihyeon.com) — rotate it in Proxmox to fully remediate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 10:43:18 +09:00

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 출력값

사용법

# 초기화
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단계. features(nesting/keyctl)TF가 설정(토큰 OK)하고, bind mount(mp0/mp1)만 콘솔 pct set(호스트경로 마운트는 root@pam 필요):

  1. 호스트 준비(node1 콘솔): mkdir -p /mnt/pve/hdd/hermes /media/2tb/hermes && chown 100000:100000 /mnt/pve/hdd/hermes /media/2tb/hermes
  2. terraform apply -target=proxmox_virtual_environment_download_file.debian12_template_gihyeon -target=proxmox_virtual_environment_container.hermes (컨테이너 생성 — nesting/keyctl 포함. -target은 PBS 디스크 드리프트 회피)
  3. node1 콘솔(bind mount만): pct set 118 -mp0 /mnt/pve/hdd/hermes,mp=/data -mp1 /media/2tb/hermes,mp=/fast && pct reboot 118
  4. 스크립트를 LXC에 넣고 실행 — 호스트(node1)에서 pct push 118 scripts/hermes-bootstrap.sh /root/hermes-bootstrap.sh --perms 0755 (또는 LXC 콘솔 편집기로 붙여넣기) → LXC 콘솔에서 bash /root/hermes-bootstrap.sh/opt/hermes-stack/.env 채우고 docker compose run --rm hermes setupdocker compose up -d

비밀값(litellm 키·봇 토큰)은 컨테이너의 /opt/hermes-stack/.env에만 두고 repo에 커밋하지 않는다. 왜 -target?: pbs.tf disk가 실제(48G)와 다르게 16G로 선언돼 있어 무필터 apply는 PBS 디스크 축소를 시도함. TODO: hermes mp0/mp1는 TF state에 없음 → 추후 terraform import로 따라잡기.

Description
No description provided
Readme 9.4 MiB
Languages
HCL 69.4%
Shell 30.6%