clean up tofu: porkbun-only, update aprs.me NS to cloudflare

- Remove proxmox/talos/null providers and variables
- Remove HTTP backend, use local state
- Remove skookum.me, towerops.net, vntx.net, as393837.net from DNS
- Switch aprs.me NS to Cloudflare
This commit is contained in:
Graham McIntire 2026-02-17 13:07:04 -06:00
parent bed3526470
commit 928eba54e0
No known key found for this signature in database
5 changed files with 28 additions and 146 deletions

View file

@ -5,9 +5,8 @@ aprs_me_zone:
type: master
create_reverse_zones: false
name_servers:
- ns1.as393837.net.
- ns2.as393837.net.
- ns-global.kjsl.com.
- arch.ns.cloudflare.com.
- tani.ns.cloudflare.com.
hosts:
- name: "@"
ip: 172.245.56.83

25
tofu/.terraform.lock.hcl generated Normal file
View file

@ -0,0 +1,25 @@
# This file is maintained automatically by "tofu init".
# Manual edits may be lost in future updates.
provider "registry.opentofu.org/marcfrederick/porkbun" {
version = "1.3.1"
constraints = "~> 1.3"
hashes = [
"h1:TZUIn82Jy1NcvuJbkAUTqJe5ZTturKavp8DNCJc5Dvo=",
"zh:00be5fe6b337e52b2df94d0c0dbcd1f128178fce2ecfd8395335a2de87454d6f",
"zh:074e1356c81dd109e7af7236f04e8a457e85947932594aced13b6ecb46088eba",
"zh:30399ab3355c7e7fc4e4bf05878f942e5d115992327e34f6d29cd27a2386414e",
"zh:3bece2a7906dc5b46c253ccf1b61eba4c1cedef4c06228d1d5574eb4bbf30770",
"zh:5ec7663da565282f614459da4286db358cf845ee6131c6a7d9ec098c59d48892",
"zh:8143e0186cce84d111a3dbc3243a8861874a98c96f9064bc08360efdc95a9940",
"zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f",
"zh:8cd7408b52014347bc4434d10912034dbc888c82b2740c9659686b6d925b428a",
"zh:99609cff963348e048ed7a57346fcfe27bde9a4cb6e39f918e874765202fb1ba",
"zh:a0ecbad8896a6d93bcce67a18cdad5773cb780ec966f8fe8d2fcb89f69ef7feb",
"zh:bb47b00067c953499cbecc673cd8e713b7df5adc262071b79899e3799ddd07c4",
"zh:cf8164f7bc817f5b77b7d9a89861aad964b82e2e7793281af724b858dc6d426f",
"zh:eb6a9e7b3961feffb06fef6ca2b1f2af0c7b6461b1dccee58ead5b376dd44ebd",
"zh:f575cae4eb42d55a00e65f1f04f54bcae38de79321647f199a8fdf6b390ac507",
"zh:fa02d69a676baa6a6304a3a9ee7769c5c6e877d604bff6f9ca3d584ce77c0fea",
]
}

View file

@ -18,8 +18,7 @@ locals {
]
domains = {
"aprs.me" = local.as393837_ns
"as393837.net" = local.porkbun_ns
"aprs.me" = local.cloudflare_ns
"beanjar.org" = local.as393837_ns
"gridmap.org" = local.cloudflare_ns
"gunincrements.com" = local.porkbun_ns
@ -27,9 +26,6 @@ locals {
"mcintire.me" = local.as393837_ns
"ntxarms.com" = local.as393837_ns
"qth.social" = local.porkbun_ns
"skookum.me" = local.porkbun_ns
"towerops.net" = local.cloudflare_ns
"vntx.net" = local.as393837_ns
"vntx.org" = local.as393837_ns
"w5isp.com" = local.as393837_ns
}

View file

@ -1,35 +1,12 @@
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "~> 3.0"
}
proxmox = {
source = "bpg/proxmox"
version = "~> 0.72"
}
porkbun = {
source = "marcfrederick/porkbun"
version = "~> 1.3"
}
}
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 "porkbun" {
# Credentials via PORKBUN_API_KEY and PORKBUN_SECRET_API_KEY env vars
}
provider "proxmox" {
endpoint = var.proxmox_home_api_url
api_token = "${var.proxmox_home_api_token}=${var.proxmox_home_api_secret}"
insecure = var.proxmox_home_tls_insecure
ssh {
agent = true
}
}

View file

@ -1,115 +0,0 @@
variable "network_bridge" {
description = "Network bridge to use for VMs"
type = string
default = "vmbr0"
}
variable "control_plane_count" {
description = "Number of control plane nodes"
type = number
default = 3
}
variable "control_plane_cores" {
description = "Number of CPU cores for control plane nodes"
type = number
default = 4
}
variable "control_plane_memory" {
description = "Memory in MB for control plane nodes"
type = number
default = 8192
}
variable "control_plane_disk_size" {
description = "Disk size for control plane nodes (in GB)"
type = number
default = 32
}
variable "worker_count" {
description = "Number of worker nodes"
type = number
default = 3
}
variable "worker_cores" {
description = "Number of CPU cores for worker nodes"
type = number
default = 4
}
variable "worker_memory" {
description = "Memory in MB for worker nodes"
type = number
default = 8192
}
variable "worker_disk_size" {
description = "Disk size for worker nodes (in GB)"
type = number
default = 64
}
variable "ssh_user" {
description = "SSH user for the VMs"
type = string
default = "debian"
}
variable "ssh_public_key" {
description = "SSH public key for access to VMs"
type = string
default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHLyVSEEAEbGZZqwPwEup0XrlTpu3x3iF9ExvvQPA4xN graham@mcintire.me"
}
# Home Proxmox Cluster Variables
variable "proxmox_home_api_url" {
description = "Home Proxmox cluster API URL"
type = string
default = "https://10.0.15.101:8006"
}
variable "proxmox_home_api_token" {
description = "Home Proxmox API token ID"
type = string
sensitive = true
}
variable "proxmox_home_api_secret" {
description = "Home Proxmox API token secret"
type = string
sensitive = true
}
variable "proxmox_home_tls_insecure" {
description = "Allow insecure TLS connections to home Proxmox"
type = bool
default = true
}
variable "proxmox_home_nodes" {
description = "List of home Proxmox nodes"
type = list(string)
default = ["node1", "node2", "node3"]
}
variable "talos_template_vmid" {
description = "VMID of Talos template"
type = number
default = 9001
}
variable "talos_template_node" {
description = "Proxmox node where Talos template is stored"
type = string
default = "node1"
}
variable "talos_storage" {
description = "Ceph storage pool for Talos VMs"
type = string
default = "ceph"
}