# ============================================================================ # Сервис №2: docker-test (OLD vmid 145, cloud-pc). # Эталон снят 2026-09-02: ssh cloud-pc sudo pct config 145. # Данных нет (песочница), шаг 4.4 (перенос данных) пропускается целиком. # # vm_id 152 — новый VMID blue-green переезда. TMPIP 192.168.1.11 отработал на # шаге 4.3; cutover выполнен 2026-09-02, адрес боевой — 192.168.1.29. # OLD (145) остановлен и остаётся откатом минимум неделю, до 2026-09-09. # # В отличие от emergency_bot, этот сервис проверяет проброс /dev/fuse на # реальном сервисе: Docker внутри работает на storage-driver fuse-overlayfs. # ============================================================================ resource "proxmox_virtual_environment_container" "docker_test" { node_name = "cloud-pc" vm_id = 152 unprivileged = true start_on_boot = true started = true tags = ["tofu"] initialization { hostname = "docker-test" ip_config { ipv4 { address = "192.168.1.29/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 = 512 } disk { datastore_id = "data" size = 8 } # Эталон: features: nesting=1,keyctl=1 плюс проброс /dev/fuse, сделанный в # pve-docker-test.yml правкой /etc/pve/lxc/145.conf (lxc.cgroup2.devices.allow # + lxc.mount.entry) — Proxmox API сырые lxc.* ключи не принимает. # # У провайдера для /dev/fuse есть ШТАТНЫЙ флаг features.fuse, а не # device_passthrough: последний нужен только для /dev/net/tun (dev0: в PVE # 8.2+). См. tofu/pilot.tf.example:17-21 и tofu/README.md. # Поэтому pct config нового контейнера покажет features: fuse=1,keyctl=1, # nesting=1 — текстуально иначе, чем эталон, но это тот же результат # штатным механизмом вместо обхода. # # Всё три флага требуют root@pam; токену Proxmox разрешает только nesting. features { nesting = true keyctl = true fuse = true } # roles/pve_lxc всем контейнерам ставит cmode=shell (pve_lxc_cmode), провайдер # это отслеживает через блок console.type — без него на следующем apply # откатит на дефолт Proxmox tty. Обнаружено 2026-09-02 на emergency-bot, # см. tofu/README.md. console { type = "shell" } network_interface { name = "eth0" bridge = "vmbr0" firewall = true } startup { order = 50 } } output "docker_test" { description = "Что проверять на узле после apply" value = { vmid = proxmox_virtual_environment_container.docker_test.vm_id node = proxmox_virtual_environment_container.docker_test.node_name verify = "ssh cloud-pc sudo pct config ${proxmox_virtual_environment_container.docker_test.vm_id}" } }