terraform { required_providers { proxmox = { source = "bpg/proxmox" version = "0.70.0" } local = { source = "hashicorp/local" version = "2.5.2" } ansible = { source = "ansible/ansible" version = "1.3.0" } dns = { source = "hashicorp/dns" version = "3.4.2" } aws = { source = "hashicorp/aws" version = "~> 5.0" } linode = { source = "linode/linode" version = "2.34.1" } cloudflare = { source = "cloudflare/cloudflare" version = "~> 5" } } backend "s3" { bucket = "tfstate" endpoints = { s3 = var.s3_backend_endpoint } key = "homelab.tfstate" access_key = var.s3_access_key secret_key = var.s3_secret_key region = "main" # Region validation will be skipped skip_credentials_validation = true # Skip AWS related checks and validations skip_requesting_account_id = true skip_metadata_api_check = true skip_region_validation = true use_path_style = true } } provider "proxmox" { endpoint = var.proxmox_api_endpoint api_token = var.proxmox_api_token insecure = true ssh { agent = true username = "root" } } provider "cloudflare" { api_token = var.cloudflare_api_token } provider "dns" { update { server = local.dns_server_ip key_name = "terraform.mnke.org." key_algorithm = "hmac-sha256" key_secret = var.technitium_tsig_secret } } provider "aws" { region = "us-west-2" } provider "linode" { token = var.linode_pat }