[ci skip] migrate 29 services from inline NFS to CSI-backed PV/PVC

Batch migration of all single-volume and simple multi-volume stacks.
All services verified healthy after migration. Uses nfs-truenas
StorageClass with soft,timeo=30,retrans=3 mount options to eliminate
stale NFS mount hangs.

Services: atuin, audiobookshelf, calibre, changedetection, diun,
excalidraw, forgejo, freshrss, grampsweb, hackmd, health,
isponsorblocktv, matrix, meshcentral, n8n, navidrome, ntfy, ollama,
onlyoffice, owntracks, paperless-ngx, poison-fountain, send,
stirling-pdf, tandoor, wealthfolio, whisper, woodpecker, ytdlp
This commit is contained in:
Viktor Barzin 2026-03-02 00:15:39 +00:00
parent 853a96cb57
commit 79a2aa3784
29 changed files with 423 additions and 174 deletions

View file

@ -17,6 +17,22 @@ resource "kubernetes_namespace" "immich" {
}
}
module "nfs_data" {
source = "../../modules/kubernetes/nfs_volume"
name = "freshrss-data"
namespace = kubernetes_namespace.immich.metadata[0].name
nfs_server = var.nfs_server
nfs_path = "/mnt/main/freshrss/data"
}
module "nfs_extensions" {
source = "../../modules/kubernetes/nfs_volume"
name = "freshrss-extensions"
namespace = kubernetes_namespace.immich.metadata[0].name
nfs_server = var.nfs_server
nfs_path = "/mnt/main/freshrss/extensions"
}
resource "kubernetes_deployment" "freshrss" {
metadata {
@ -88,16 +104,14 @@ resource "kubernetes_deployment" "freshrss" {
}
volume {
name = "data"
nfs {
path = "/mnt/main/freshrss/data"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_data.claim_name
}
}
volume {
name = "extensions"
nfs {
path = "/mnt/main/freshrss/extensions"
server = var.nfs_server
persistent_volume_claim {
claim_name = module.nfs_extensions.claim_name
}
}
}