Uit de configuratie die je deelt (management.tf) blijkt dat je een heel slimme entrypoint-oplossing hebt bedacht om netwerkd en netplan te omzeilen door via systemd-services (k8s-management-net.service en k8s-management.service) handmatig de netwerkinterfaces en SSH-sleutels te configureren.

Er is echter één reden waarom je na de tofu apply nog steeds geen verbinding kunt krijgen via de console of SSH: de SSH-sleutel ontbreekt in het initialization-blok van de Proxmox-resource.

In je lokale script (management_setup_script) probeer je de sleutel wel weg te schrijven:

printf '%s\n' "${file("${path.module}/id_ed25519.pub")}" > /root/.ssh/authorized_keys

Maar als het bestand id_ed25519.pub lokaal niet in je OpenTofu-map staat, faalt de uitvoering van je tofu plan of tofu apply al op de functie file(...), of wordt het script overgeslagen als er elders iets misgaat.

Wat moet je nu doen?

  1. Zorg dat je publieke sleutel aanwezig is in je OpenTofu-map: Genereer er desnoods een als je hem niet hebt:
ssh-keygen -t ed25519 -f ./id_ed25519 -N ""
  1. Controleer of de container een IP-adres krijgt: Omdat je wait_for_ip { ipv4 = true } gebruikt, wacht OpenTofu tot de container via DHCP een IP-adres krijgt op eth0. Als je thuisnetwerk geen DHCP levert aan de container of als de dhclient in het script blijft hangen, kan het zijn dat de container blijft hangen tijdens het opstarten.

Zodra je id_ed25519.pub in dezelfde map als je OpenTofu-bestanden plaatst en tofu apply opnieuw uitvoert, zal de container correct worden geïnitialiseerd met je SSH-sleutel en kun je er direct via SSH op inloggen!