homelab/tf/providers.tf

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
}