Skip to content

NFS cleanup: drop both CSI provisioners, direct NFS mounts for jellyfin cache and tvheadend#2572

Draft
Copilot wants to merge 3 commits into
masterfrom
copilot/nfs-cleanup
Draft

NFS cleanup: drop both CSI provisioners, direct NFS mounts for jellyfin cache and tvheadend#2572
Copilot wants to merge 3 commits into
masterfrom
copilot/nfs-cleanup

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 7, 2026

Removes both NFS and iSCSI democratic-csi provisioners from the storage-system since longhorn is now handling all provisioning. Jellyfin's cache volume and tvheadend's recordings/timeshift volumes are converted to direct NFS mounts pointing at their existing PVC UUID-named datasets on TrueNAS.

Remove both CSI provisioners

  • Drop nfs-democratic-csi and iscsi-democratic-csi from storage-system/kustomization.yaml — longhorn now handles all provisioning

Direct NFS mounts for jellyfin cache and tvheadend

Replace CSI-provisioned PVCs with inline volumeSpec.nfs using existing dataset paths:

# jellyfin cache
config:
  enabled: true
  type: custom
  volumeSpec:
    nfs:
      server: nas.home
      path: /mnt/tank/k8s/nfs/pvc-d7d148b3-6168-44bd-b9be-91b8251xxxxx # verify full UUID
  mountPath: /cache

# tvheadend recordings (same pattern for timeshift)
recordings:
  enabled: true
  type: custom
  volumeSpec:
    nfs:
      server: nas.home
      path: /mnt/tank/k8s/nfs/pvc-d1aa46aa-5848-4ea3-a727-0cfbd980xxxx # verify full UUID

Before applying: replace the xxxx/xxxxx UUID suffixes with the full values from kubectl get pv — the last few characters were truncated in the TrueNAS screenshot.

tvheadend config migrated to longhorn

  • Replaced the deprecated volume.beta.kubernetes.io/storage-class: freenas-iscsi-csi annotation with storageClass: longhorn

Copilot AI linked an issue Apr 7, 2026 that may be closed by this pull request
…nd direct NFS mounts for frigate/tvheadend

Agent-Logs-Url: https://github.com/jeffborg/home-network/sessions/cd7183f8-356f-4f6f-8a60-9e943622307a

Co-authored-by: jeffborg <1595430+jeffborg@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove all migrate except for frigate and tvheadend NFS cleanup: drop freenas-nfs-csi provisioner, migrate configs to longhorn and direct NFS mounts Apr 7, 2026
Copilot AI requested a review from jeffborg April 7, 2026 23:56
Copy link
Copy Markdown
Owner

@jeffborg jeffborg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comments around parts which need fixing

persistence:
config:
enabled: true
storageClass: longhorn
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

already longhorn

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in dcd568d.

persistence:
config:
enabled: true
storageClass: longhorn
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need a migration path can't just change this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in dcd568d.

size: 150Gi
accessMode: ReadWriteMany
# existingClaim: frigate-media
type: custom
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ignore this for now

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in dcd568d.

mountPath: /media/frigate
size: 150Gi
accessMode: ReadWriteOnce
type: custom
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ignore this one too for now

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in dcd568d.

persistence:
data:
enabled: true
storageClass: longhorn
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

have another pr #2572 handling this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in dcd568d.

persistence:
config:
enabled: true
storageClass: longhorn
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs a migration path too

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in dcd568d.

persistence:
config:
enabled: true
storageClass: longhorn
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs to be converted to a direct mount it's the cache folder so ok on nfs

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in dcd568d — converted to a direct NFS mount using the existing PVC UUID path. The UUID suffix was truncated in the NAS screenshot; please replace 91b8251xxxxx with the full suffix from kubectl get pv before applying.

podAnnotations:
backup.velero.io/backup-volumes: config
persistence:
config:
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

config needs to be migrated to longhorn

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in dcd568d — replaced the freenas-iscsi-csi annotation with storageClass: longhorn.

enabled: true
size: 100Gi
accessMode: ReadWriteMany
type: custom
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

paths needs to be the existing ones based upon the pv name

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in dcd568d to use /mnt/tank/k8s/nfs/pvc-<uuid> paths matching the existing NFS datasets. The UUID suffixes were truncated in the screenshot — please replace the xxxx placeholders with the full suffixes from kubectl get pv before applying.

resources:
- freenas-password-secret.sops.yaml
- nfs-democratic-csi
- iscsi-democratic-csi
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also need to remove iscsi one because longhorn is taking this over now

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in dcd568d — removed both nfs-democratic-csi and iscsi-democratic-csi from the storage-system kustomization.

…end NFS paths, remove both CSI provisioners

Agent-Logs-Url: https://github.com/jeffborg/home-network/sessions/49014fde-8166-49df-8ad3-76fceddc571d

Co-authored-by: jeffborg <1595430+jeffborg@users.noreply.github.com>
Copilot AI changed the title NFS cleanup: drop freenas-nfs-csi provisioner, migrate configs to longhorn and direct NFS mounts NFS cleanup: drop both CSI provisioners, direct NFS mounts for jellyfin cache and tvheadend Apr 8, 2026
Copilot AI requested a review from jeffborg April 8, 2026 03:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nfs cleanup

2 participants