truenas deprecation: migrate all non-immich storage to proxmox NFS

- Migrate 7 backup CronJobs to Proxmox host NFS (192.168.1.127)
  (etcd, mysql, postgresql, nextcloud, redis, vaultwarden, plotting-book)
- Migrate headscale backup, ebook2audiobook, osm_routing to Proxmox NFS
- Migrate servarr (lidarr, readarr, soulseek) NFS refs to Proxmox
- Remove 79 orphaned TrueNAS NFS module declarations from 49 stacks
- Delete stacks/platform/modules/ (27 dead module copies, 65MB)
- Update nfs-truenas StorageClass to point to Proxmox (192.168.1.127)
- Remove iscsi DNS record from config.tfvars
- Fix woodpecker persistence config and alertmanager PV

Only Immich (8 PVCs, ~1.4TB) remains on TrueNAS.
This commit is contained in:
Viktor Barzin 2026-04-12 14:35:39 +01:00
parent 3246c4d112
commit 82b0f6c4cb
193 changed files with 825 additions and 177172 deletions

View file

@ -16,14 +16,6 @@ resource "random_id" "secret_key" {
byte_length = 32 # 32 bytes × 2 hex chars = 64 hex characters
}
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "aiostreams-data"
namespace = kubernetes_namespace.aiostreams.metadata[0].name
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/aiostreams"
}
resource "kubernetes_persistent_volume_claim" "data_proxmox" {
wait_until_bound = false
metadata {

View file

@ -3,20 +3,20 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
module "nfs_data" {
module "nfs_data_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-lidarr-data"
name = "servarr-lidarr-data-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/lidarr"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/lidarr"
}
module "nfs_downloads" {
module "nfs_downloads_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-lidarr-downloads"
name = "servarr-lidarr-downloads-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/downloads"
}
resource "kubernetes_deployment" "lidarr" {
@ -97,19 +97,19 @@ resource "kubernetes_deployment" "lidarr" {
volume {
name = "data"
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
claim_name = module.nfs_data_host.claim_name
}
}
volume {
name = "downloads"
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
claim_name = module.nfs_downloads_host.claim_name
}
}
volume {
name = "deemix-config"
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
claim_name = module.nfs_data_host.claim_name
}
}
}

View file

@ -3,14 +3,6 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-listenarr-data"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/listenarr"
}
resource "kubernetes_persistent_volume_claim" "data_proxmox" {
wait_until_bound = false
metadata {
@ -33,12 +25,12 @@ resource "kubernetes_persistent_volume_claim" "data_proxmox" {
}
}
module "nfs_downloads" {
module "nfs_downloads_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-listenarr-downloads"
name = "servarr-listenarr-downloads-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/downloads"
}
resource "kubernetes_deployment" "listenarr" {
@ -100,7 +92,7 @@ resource "kubernetes_deployment" "listenarr" {
volume {
name = "downloads"
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
claim_name = module.nfs_downloads_host.claim_name
}
}
}

View file

@ -7,14 +7,6 @@ variable "homepage_credentials" {
}
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-prowlarr-data"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/prowlarr"
}
resource "kubernetes_persistent_volume_claim" "data_proxmox" {
wait_until_bound = false
metadata {
@ -37,12 +29,12 @@ resource "kubernetes_persistent_volume_claim" "data_proxmox" {
}
}
module "nfs_downloads" {
module "nfs_downloads_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-prowlarr-downloads"
name = "servarr-prowlarr-downloads-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/downloads"
}
resource "kubernetes_deployment" "prowlarr" {
@ -128,7 +120,7 @@ resource "kubernetes_deployment" "prowlarr" {
volume {
name = "downloads"
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
claim_name = module.nfs_downloads_host.claim_name
}
}
}

View file

@ -7,14 +7,6 @@ variable "homepage_credentials" {
}
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-qbittorrent-data"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/qbittorrent"
}
resource "kubernetes_persistent_volume_claim" "data_proxmox" {
wait_until_bound = false
metadata {
@ -37,20 +29,20 @@ resource "kubernetes_persistent_volume_claim" "data_proxmox" {
}
}
module "nfs_downloads" {
module "nfs_downloads_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-qbittorrent-downloads"
name = "servarr-qbittorrent-downloads-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/downloads"
}
module "nfs_audiobooks" {
module "nfs_audiobooks_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-qbittorrent-audiobooks"
name = "servarr-qbittorrent-audiobooks-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/audiobookshelf/audiobooks"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/audiobookshelf/audiobooks"
}
resource "kubernetes_deployment" "qbittorrent" {
@ -131,13 +123,13 @@ resource "kubernetes_deployment" "qbittorrent" {
volume {
name = "downloads"
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
claim_name = module.nfs_downloads_host.claim_name
}
}
volume {
name = "audiobooks"
persistent_volume_claim {
claim_name = module.nfs_audiobooks.claim_name
claim_name = module.nfs_audiobooks_host.claim_name
}
}
}

View file

@ -17,20 +17,20 @@ module "tls_secret" {
tls_secret_name = var.tls_secret_name
}
module "nfs_data" {
module "nfs_data_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "readarr-data"
name = "readarr-data-host"
namespace = "readarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/readarr"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/readarr"
}
module "nfs_qbittorrent" {
module "nfs_qbittorrent_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "readarr-qbittorrent"
name = "readarr-qbittorrent-host"
namespace = "readarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/qbittorrent"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/qbittorrent"
}
resource "kubernetes_deployment" "readarr" {
@ -99,13 +99,13 @@ resource "kubernetes_deployment" "readarr" {
volume {
name = "data"
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
claim_name = module.nfs_data_host.claim_name
}
}
volume {
name = "qbittorrent"
persistent_volume_claim {
claim_name = module.nfs_qbittorrent.claim_name
claim_name = module.nfs_qbittorrent_host.claim_name
}
}
}

View file

@ -3,12 +3,12 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
module "nfs_lidarr" {
module "nfs_lidarr_host" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-soulseek-lidarr"
name = "servarr-soulseek-lidarr-host"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/lidarr"
nfs_server = "192.168.1.127"
nfs_path = "/srv/nfs/servarr/lidarr"
}
resource "kubernetes_deployment" "soulseek" {
@ -67,13 +67,13 @@ resource "kubernetes_deployment" "soulseek" {
volume {
name = "config"
persistent_volume_claim {
claim_name = module.nfs_lidarr.claim_name
claim_name = module.nfs_lidarr_host.claim_name
}
}
volume {
name = "downloads"
persistent_volume_claim {
claim_name = module.nfs_lidarr.claim_name
claim_name = module.nfs_lidarr_host.claim_name
}
}
}