[ci skip] migrate servarr sub-stacks + actualbudget factory NFS to CSI PV/PVC

Final batch: servarr (aiostreams, listenarr, readarr, soulseek,
prowlarr, qbittorrent, lidarr) and actualbudget factory.
All use ../../../modules/kubernetes/nfs_volume (3 levels deep).
This commit is contained in:
Viktor Barzin 2026-03-02 02:04:22 +00:00
parent 0e324df545
commit 395bd94f0f
No known key found for this signature in database
GPG key ID: 0EB088298288D958
8 changed files with 134 additions and 45 deletions

View file

@ -14,6 +14,14 @@ variable "budget_encryption_password" {
}
variable "nfs_server" { type = string }
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "actualbudget-${var.name}-data"
namespace = "actualbudget"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/actualbudget/${var.name}"
}
resource "kubernetes_deployment" "actualbudget" {
metadata {
name = "actualbudget-${var.name}"
@ -58,9 +66,8 @@ resource "kubernetes_deployment" "actualbudget" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/actualbudget/${var.name}"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
}

View file

@ -16,6 +16,14 @@ 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_deployment" "aiostreams" {
metadata {
name = "aiostreams"
@ -74,9 +82,8 @@ resource "kubernetes_deployment" "aiostreams" {
}
volume {
name = "data"
nfs {
server = var.nfs_server
path = "/mnt/main/servarr/aiostreams"
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
}

View file

@ -3,6 +3,22 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-lidarr-data"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/lidarr"
}
module "nfs_downloads" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-lidarr-downloads"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
}
resource "kubernetes_deployment" "lidarr" {
metadata {
name = "lidarr"
@ -76,23 +92,20 @@ resource "kubernetes_deployment" "lidarr" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/servarr/lidarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
volume {
name = "downloads"
nfs {
path = "/mnt/main/servarr/downloads"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
}
}
volume {
name = "deemix-config"
nfs {
path = "/mnt/main/servarr/lidarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
}

View file

@ -3,6 +3,22 @@ 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"
}
module "nfs_downloads" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-listenarr-downloads"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
}
resource "kubernetes_deployment" "listenarr" {
metadata {
name = "listenarr"
@ -53,16 +69,14 @@ resource "kubernetes_deployment" "listenarr" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/servarr/listenarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
volume {
name = "downloads"
nfs {
path = "/mnt/main/servarr/downloads"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
}
}
}

View file

@ -3,6 +3,22 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
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"
}
module "nfs_downloads" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-prowlarr-downloads"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
}
resource "kubernetes_deployment" "prowlarr" {
metadata {
name = "prowlarr"
@ -63,16 +79,14 @@ resource "kubernetes_deployment" "prowlarr" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/servarr/prowlarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
volume {
name = "downloads"
nfs {
path = "/mnt/main/servarr/downloads"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
}
}
}

View file

@ -3,6 +3,22 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
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"
}
module "nfs_downloads" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-qbittorrent-downloads"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/downloads"
}
resource "kubernetes_deployment" "qbittorrent" {
metadata {
name = "qbittorrent"
@ -63,16 +79,14 @@ resource "kubernetes_deployment" "qbittorrent" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/servarr/qbittorrent"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
volume {
name = "downloads"
nfs {
path = "/mnt/main/servarr/downloads"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_downloads.claim_name
}
}
}

View file

@ -17,6 +17,22 @@ module "tls_secret" {
tls_secret_name = var.tls_secret_name
}
module "nfs_data" {
source = "../../../modules/kubernetes/nfs_volume"
name = "readarr-data"
namespace = "readarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/readarr"
}
module "nfs_qbittorrent" {
source = "../../../modules/kubernetes/nfs_volume"
name = "readarr-qbittorrent"
namespace = "readarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/qbittorrent"
}
resource "kubernetes_deployment" "readarr" {
metadata {
name = "readarr"
@ -82,16 +98,14 @@ resource "kubernetes_deployment" "readarr" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/servarr/readarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
volume {
name = "qbittorrent"
nfs {
path = "/mnt/main/servarr/qbittorrent"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_qbittorrent.claim_name
}
}
}

View file

@ -3,6 +3,14 @@ variable "tier" { type = string }
variable "nfs_server" { type = string }
module "nfs_lidarr" {
source = "../../../modules/kubernetes/nfs_volume"
name = "servarr-soulseek-lidarr"
namespace = "servarr"
nfs_server = var.nfs_server
nfs_path = "/mnt/main/servarr/lidarr"
}
resource "kubernetes_deployment" "soulseek" {
metadata {
name = "soulseek"
@ -58,16 +66,14 @@ resource "kubernetes_deployment" "soulseek" {
}
volume {
name = "config"
nfs {
path = "/mnt/main/servarr/lidarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_lidarr.claim_name
}
}
volume {
name = "downloads"
nfs {
path = "/mnt/main/servarr/lidarr"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_lidarr.claim_name
}
}
}