Configure Proxmox hosts, virtual machines, and containers
After provisioning a Proxmox host, you initialize it with Terraform. The initialization process creates users, roles, and API tokens for the following stages, and persists API tokens in Terraform variables files.
Terraform handles:
- The configuration of Proxmox hosts.
- The provisioning of Proxmox virtual machines (VMs) and LXC containers.
The following procedures use the tools that the operations Nix shell provides.
For more information, see the
Nix development shells guide.
From your Linux shell, after setting the working directory to the root of this repository:
-
Open the
operationsNix shell, if needed:nix develop ./config/nix#operations -
Apply changes with Terraform:
scripts/run-terraform.shTo enable the configuration of the Proxmox IAM, create the following files: -
config/terraform/environments/proxmox-pve1-root-secrets.tfvarsto store the root credentials (password or API token).
Configure NixOS virtual machines and containers
-
Open the
operationsNix shell, if needed:nix develop ./config/nix#operations -
Run the host configuration script:
scripts/bootstrap-host.sh "<hostname>" "<host-mac-address>"