d98c7b8bdb87a14eff6eb0937cdef901a7eaccab
Terraform
Basic Proxmox setup
Add TerraformProv role
pveum role add TerraformProv -privs "Datastore.Allocate Datastore.AllocateSpace Datastore.Audit Pool.Allocate Sys.Audit Sys.Console Sys.Modify VM.Allocate VM.Audit VM.Clone VM.Config.CDROM VM.Config.Cloudinit VM.Config.CPU VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.Console VM.Migrate VM.Monitor VM.PowerMgmt SDN.Use"
Add terraform-prov user
pveum user add terraform-prov@pve --password <password>
Set terraform-prov user TerraformProv role
pveum aclmod / -user terraform-prov@pve -role TerraformProv
Create proxmox token for terraform API
pveum user token add terraform-prov@pve terraform -expire 0 -privsep 0 -comment "Terraform token"
Client Setup
Add environment variable
cp terraform.tfvars.example
fill with your secrets (do no push this file)
Usefull commands
opentofu.tofu init
opentofu.tofu plan
opentofu.tofu apply
opentofu.tofu destroy
SOPS for .env and secret management
sops -e modules/apps/<service>/.env > modules/apps/<service>/.env.enc
On WSL
ssh agent could be off
if ssh-add -L gives
Could not open a connection to your authentication agent.
start and configure ssh agent
eval $(ssh-agent)
ssh-add ~/.ssh/id_ed25519
Description
Languages
HCL
52%
Shell
48%