Terraform
Terraform is used to provision Proxmox guest VMs by cloning existing templates.
State
Terraform state can be configured to be stored in a Minio S3 bucket.
terraform {
backend "s3" {
region = "main"
bucket = "terraform-state"
key = "path/to/terraform.tfstate"
skip_credentials_validation = true
skip_region_validation = true
skip_metadata_api_check = true
force_path_style = true
}
}
Initialize the backend with:
$ terraform init \
-backend-config="access_key=${TFSTATE_ACCESS_KEY}" \
-backend-config="secret_key=${TFSTATE_SECRET_KEY}" \
-backend-config="endpoint=${TFSTATE_ENDPOINT}"
Note: When the Minio credentials are passed with the
-backend-config
flag, they will still appear in plain text in the.terraform
subdirectory and any plan files.