TrueNAS VM 9000 at 10.0.10.15 was operationally decommissioned 2026-04-13.
The subagent-driven doc sweep in 5a0b24f5 covered the prose. This commit
removes the remaining in-code references:
- reverse-proxy: drop truenas Traefik ingress + Cloudflare record
(truenas.viktorbarzin.me was 502-ing since the VM stopped), drop
truenas_homepage_token variable.
- config.tfvars: drop deprecated `truenas IN A 10.0.10.15`, `iscsi CNAME
truenas`, and the commented-out `iscsi`/`zabbix` A records.
- dashy/conf.yml: remove Truenas dashboard entry (&ref_28).
- monitoring/loki.yaml: change storageClass from the decommissioned
`iscsi-truenas` to `proxmox-lvm` so a future re-enable has a valid SC
(Loki is currently disabled).
- actualbudget/main.tf + freedify/main.tf: update new-deployment
docstrings to cite Proxmox host NFS instead of TrueNAS.
- nfs-csi: add an explanatory comment to the `nfs-truenas` StorageClass
noting the name is historical — 48 bound PVs reference it, SC names
are immutable on PVs, rename not worth the churn.
Also cleaned out-of-band:
- Technitium DNS: deleted `truenas.viktorbarzin.lan` A and
`iscsi.viktorbarzin.lan` CNAME records.
- Vault: `secret/viktor` → removed `truenas_api_key` and
`truenas_ssh_private_key`; `secret/platform.homepage_credentials.reverse_proxy.truenas_token` removed.
- Terraform-applied: `scripts/tg apply -target=module.reverse-proxy.module.truenas`
destroyed the 3 K8s/Cloudflare resources cleanly.
Deferred:
- VM 9000 is still stopped on PVE. Deletion (destructive) awaits explicit
user go-ahead.
- `nfs-truenas` StorageClass name retained (see nfs-csi comment above).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
103 lines
2.7 KiB
HCL
103 lines
2.7 KiB
HCL
variable "tier" { type = string }
|
|
variable "nfs_server" { type = string }
|
|
|
|
resource "kubernetes_namespace" "nfs_csi" {
|
|
metadata {
|
|
name = "nfs-csi"
|
|
labels = {
|
|
tier = var.tier
|
|
}
|
|
}
|
|
lifecycle {
|
|
# KYVERNO_LIFECYCLE_V1: goldilocks-vpa-auto-mode ClusterPolicy stamps this label on every namespace
|
|
ignore_changes = [metadata[0].labels["goldilocks.fairwinds.com/vpa-update-mode"]]
|
|
}
|
|
}
|
|
|
|
resource "helm_release" "nfs_csi_driver" {
|
|
namespace = kubernetes_namespace.nfs_csi.metadata[0].name
|
|
create_namespace = false
|
|
name = "csi-driver-nfs"
|
|
atomic = true
|
|
timeout = 300
|
|
|
|
repository = "https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts"
|
|
chart = "csi-driver-nfs"
|
|
|
|
values = [yamlencode({
|
|
controller = {
|
|
replicas = 2
|
|
livenessProbe = {
|
|
httpPort = 29653
|
|
}
|
|
resources = {
|
|
csiProvisioner = {
|
|
requests = { cpu = "10m", memory = "128Mi" }
|
|
limits = { memory = "128Mi" }
|
|
}
|
|
csiResizer = {
|
|
requests = { cpu = "10m", memory = "128Mi" }
|
|
limits = { memory = "128Mi" }
|
|
}
|
|
csiSnapshotter = {
|
|
requests = { cpu = "10m", memory = "128Mi" }
|
|
limits = { memory = "128Mi" }
|
|
}
|
|
nfs = {
|
|
requests = { cpu = "10m", memory = "128Mi" }
|
|
limits = { memory = "128Mi" }
|
|
}
|
|
livenessProbe = {
|
|
requests = { cpu = "10m", memory = "64Mi" }
|
|
limits = { memory = "64Mi" }
|
|
}
|
|
}
|
|
}
|
|
node = {
|
|
resources = {
|
|
nfs = {
|
|
requests = { cpu = "10m", memory = "128Mi" }
|
|
limits = { memory = "128Mi" }
|
|
}
|
|
livenessProbe = {
|
|
requests = { cpu = "10m", memory = "64Mi" }
|
|
limits = { memory = "64Mi" }
|
|
}
|
|
nodeDriverRegistrar = {
|
|
requests = { cpu = "10m", memory = "64Mi" }
|
|
limits = { memory = "64Mi" }
|
|
}
|
|
}
|
|
}
|
|
storageClass = {
|
|
create = false
|
|
}
|
|
})]
|
|
}
|
|
|
|
# Historical name retained for PV compatibility — 48 bound PVs reference
|
|
# storageClassName: nfs-truenas. The actual backend is the Proxmox host NFS
|
|
# (var.nfs_server = 192.168.1.127) since TrueNAS was decommissioned
|
|
# 2026-04-13. SC names are immutable on PVs, so renaming would require
|
|
# migrating every PV. Not worth the churn for a cosmetic change.
|
|
resource "kubernetes_storage_class" "nfs_truenas" {
|
|
metadata {
|
|
name = "nfs-truenas"
|
|
}
|
|
storage_provisioner = "nfs.csi.k8s.io"
|
|
reclaim_policy = "Retain"
|
|
volume_binding_mode = "Immediate"
|
|
|
|
mount_options = [
|
|
"nfsvers=4",
|
|
"soft",
|
|
"timeo=30",
|
|
"retrans=3",
|
|
"actimeo=5",
|
|
]
|
|
|
|
parameters = {
|
|
server = var.nfs_server
|
|
share = "/srv/nfs"
|
|
}
|
|
}
|