- Refactor dnsmasq configuration and scripts for improved variable handling and clarity - Updated dnsmasq configuration files to use direct variable references instead of data source functions for better readability. - Modified setup scripts to ensure they are run from the correct environment and directory, checking for the WC_HOME variable. - Changed paths in README and scripts to reflect the new directory structure. - Enhanced error handling in setup scripts to provide clearer guidance on required configurations. - Adjusted kernel and initramfs URLs in boot.ipxe to use the updated variable references.
NFS Setup (Optional)
The infrastructure supports optional NFS (Network File System) for shared media storage across the cluster:
Host Setup
First, set up the NFS server on your chosen host.
./setup-nfs-host.sh
Cluster Integration
Add to your config.yaml
:
cloud:
nfs:
host: box-01
mediaPath: /data/media
storageCapacity: 250Gi
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