Deploy Hermes Agent LXC (#118) on gihyeon + IaC hygiene #1
18
hermes.tf
18
hermes.tf
@@ -6,11 +6,14 @@ resource "proxmox_virtual_environment_download_file" "debian12_template_gihyeon"
|
||||
url = "http://download.proxmox.com/images/system/debian-12-standard_12.12-1_amd64.tar.zst"
|
||||
}
|
||||
|
||||
# Hermes Agent LXC — token-safe skeleton.
|
||||
# IMPORTANT: container `features` (nesting/keyctl) and bind mounts are NOT set
|
||||
# here. The Proxmox API token cannot set host-security settings; they are applied
|
||||
# once via the PVE web console with `pct set` (see scripts/hermes-bootstrap.sh
|
||||
# and docs/superpowers/specs/2026-06-18-hermes-agent-lxc-design.md).
|
||||
# Hermes Agent LXC.
|
||||
# `features` (nesting/keyctl) ARE set here: on an unprivileged container these need
|
||||
# only VM.Allocate, which the API token has, so Terraform can set them. nesting is
|
||||
# also required so the systemd-252 (Debian 12) create does not emit the "enable
|
||||
# nesting" warning that Proxmox returns as TASK WARNINGS (which fails the apply).
|
||||
# Bind mounts (mp0/mp1, host paths) genuinely DO require root@pam, so those are still
|
||||
# added via the PVE web console with `pct set` (see scripts/hermes-bootstrap.sh and
|
||||
# docs/superpowers/specs/2026-06-18-hermes-agent-lxc-design.md).
|
||||
resource "proxmox_virtual_environment_container" "hermes" {
|
||||
description = "Hermes Agent (Nous Research) - Managed by Terraform"
|
||||
node_name = var.hermes_node
|
||||
@@ -19,6 +22,11 @@ resource "proxmox_virtual_environment_container" "hermes" {
|
||||
unprivileged = true
|
||||
tags = ["ai", "agent", "terraform"]
|
||||
|
||||
features {
|
||||
nesting = true
|
||||
keyctl = true
|
||||
}
|
||||
|
||||
operating_system {
|
||||
template_file_id = proxmox_virtual_environment_download_file.debian12_template_gihyeon.id
|
||||
type = "debian"
|
||||
|
||||
Reference in New Issue
Block a user