# ============================================================================ # Сервис №6: gyro (OLD vmid 150, mini-pc). # Эталон снят 2026-09-02: ssh mini-pc sudo pct config 150. # # vm_id 156 — новый VMID для blue-green переезда, TMPIP 192.168.1.15. # После шага 4.5.15 адрес — боевой 192.168.1.35, OLD (150) остановлен # и остаётся откатом минимум неделю. # # ОСОБЕННОСТИ: # - Контейнер намеренно без nesting (features: "" в эталоне). # - Proxmox-фаервол уже перенесён на VMID 156; Datacenter firewall остаётся выключен. # - Требует Ansible Vault password (make gyro для конфигурации). # - Старое предупреждение про host key Gitea неверно: gyro пинит github.com, # поэтому после cutover менять known_hosts не нужно. # ============================================================================ resource "proxmox_virtual_environment_container" "gyro" { node_name = "mini-pc" vm_id = 156 unprivileged = true start_on_boot = true started = true tags = ["tofu"] initialization { hostname = "gyro" ip_config { ipv4 { address = "192.168.1.35/24" gateway = "192.168.1.1" } } dns { servers = ["1.1.1.1"] } user_account { keys = [trimspace(file(pathexpand("~/.ssh/id_ed25519_homelab.pub")))] } } operating_system { template_file_id = "local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst" type = "debian" } cpu { cores = 1 } memory { dedicated = 512 swap = 256 } disk { datastore_id = "local-lvm" size = 2 } # Эталон: features: (пусто) — nesting отключён НАМЕРЕННО, no keyctl, no fuse. # Блок features не объявляется, чтобы провайдер не создавал его с дефолтами. # Это консервативное решение: gyro этот функционал не требует. # roles/pve_lxc всем контейнерам ставит cmode=shell (pve_lxc_cmode), провайдер # это отслеживает через блок console.type — без него на следующем apply # откатит на дефолт Proxmox tty. Обнаружено 2026-09-02 на emergency-bot. console { type = "shell" } network_interface { name = "eth0" bridge = "vmbr0" firewall = true } startup { order = 80 } } output "gyro" { description = "Что проверять на узле после apply" value = { vmid = proxmox_virtual_environment_container.gyro.vm_id node = proxmox_virtual_environment_container.gyro.node_name verify = "ssh mini-pc sudo pct config ${proxmox_virtual_environment_container.gyro.vm_id}" } }