infra/terraform/main.tf
2025-12-26 17:24:59 -06:00

69 lines
1.5 KiB
HCL

terraform {
required_providers {
dnsimple = {
source = "dnsimple/dnsimple"
version = "~> 2.0"
}
porkbun = {
source = "kyswtn/porkbun"
version = "~> 0.1"
}
powerdns = {
source = "pan-net/powerdns"
version = "~> 1.5"
}
vultr = {
source = "vultr/vultr"
version = "~> 2.28"
}
cloudflare = {
source = "cloudflare/cloudflare"
version = "~> 5.0"
}
# proxmox = {
# source = "bpg/proxmox"
# version = "~> 0.66"
# }
}
}
terraform {
backend "http" {
# Backend credentials should be set via environment variables:
# TF_HTTP_ADDRESS, TF_HTTP_LOCK_ADDRESS, TF_HTTP_UNLOCK_ADDRESS
# TF_HTTP_USERNAME, TF_HTTP_PASSWORD
}
}
provider "dnsimple" {
token = var.dnsimple_token
account = var.dnsimple_account
}
provider "porkbun" {
api_key = var.porkbun_api_key
secret_api_key = var.porkbun_secret_api_key
}
# provider "powerdns" {
# api_key = var.pdns_api_key
# server_url = var.pdns_server_url
# }
provider "cloudflare" {
# API token is read from CLOUDFLARE_API_TOKEN environment variable
# No explicit api_token parameter needed - provider automatically reads the env var
}
# provider "proxmox" {
# endpoint = var.proxmox_api_url
# username = var.proxmox_user
# password = var.proxmox_password
# insecure = var.proxmox_tls_insecure
# }
provider "powerdns" {
# alias = "vultr"
api_key = var.pdns_vultr_api_key
server_url = "http://100.93.123.98:8081"
}