83 lines
1.6 KiB
HCL
83 lines
1.6 KiB
HCL
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
|
|
}
|