Files
wild-directory/nfs/README.md
Paul Payne 9687fad812 feat: Move cluster services to wild-directory as unified packages
Convert all 15 cluster services from embedded API format to
wild-directory packages using the unified manifest format:
- metallb, traefik, cert-manager, longhorn, snapshot-controller
- nfs, smtp, coredns, node-feature-discovery, nvidia-device-plugin
- externaldns, docker-registry, headlamp, crowdsec, utils

Changes:
- wild-manifest.yaml → manifest.yaml with is, defaultConfig, requires
- Eliminated configReferences and serviceConfig fields
- Flattened kustomize.template/ to package root
- Template vars use flat defaultConfig keys
- install.sh paths updated for apps/ layout
- Updated 9 app manifests: cloud.smtp.* → apps.smtp.* with requires
- Removed dead install: true field from 6 app manifests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-17 02:26:46 +00:00

1.3 KiB

NFS Setup (Optional)

The infrastructure supports optional NFS (Network File System) for shared media storage across the cluster. If your config.yaml contains the cloud.nfs section, the NFS server will be set up automatically.

Host Setup

First, set up the NFS server on your chosen host.

./setup-nfs-host.sh <host> <media-path>

Example:

./setup-nfs-host.sh box-01 /srv/nfs

Cluster Integration

Add to your config.yaml:

cloud:
  nfs:
    host: box-01
    mediaPath: /srv/nfs
    storageCapacity: 250Gi # Max size for PersistentVolume

And now you can run the nfs cluster setup:

setup/setup-nfs-host.sh

Features

  • Automatic IP detection - Uses network IP even when hostname resolves to localhost
  • Cluster-wide access - Any pod can mount the NFS share regardless of node placement
  • Configurable capacity - Set PersistentVolume size via NFS_STORAGE_CAPACITY
  • ReadWriteMany - Multiple pods can simultaneously access the same storage

Usage

Applications can use NFS storage by setting storageClassName: nfs in their PVCs:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: media-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs
  resources:
    requests:
      storage: 100Gi