feat: update NFS documentation and manifest version for improved clarity and configuration

This commit is contained in:
2026-05-23 11:25:50 +00:00
parent acec744df8
commit 46002ff273
2 changed files with 30 additions and 20 deletions

View File

@@ -1,10 +1,10 @@
# NFS Setup (Optional) # NFS Client Provisioner
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. Provides shared NFS storage to the cluster by creating a StorageClass and PersistentVolume backed by an external NFS server. This is an infrastructure app — it has no pods or namespace, just cluster-scoped resources.
## Host Setup ## Prerequisites
First, set up the NFS server on your chosen host. You need an NFS server already running and exporting a path. To set one up on a host:
```bash ```bash
./setup-nfs-host.sh <host> <media-path> ./setup-nfs-host.sh <host> <media-path>
@@ -16,30 +16,33 @@ Example:
./setup-nfs-host.sh box-01 /srv/nfs ./setup-nfs-host.sh box-01 /srv/nfs
``` ```
## Cluster Integration This SSHs into the host, installs `nfs-kernel-server`, and configures the export.
Add to your `config.yaml`: ## Configuration
When added to an instance, the default config is merged into `config.yaml`:
```yaml ```yaml
cloud: apps:
nfs: nfs:
host: box-01 namespace: nfs
mediaPath: /srv/nfs host: "192.168.1.100"
storageCapacity: 250Gi # Max size for PersistentVolume mediaPath: "/mnt/storage/media"
storageCapacity: "1Ti"
``` ```
And now you can run the nfs cluster setup: Update `host` and `mediaPath` to match your NFS server before deploying.
```bash ## What Gets Deployed
setup/setup-nfs-host.sh
```
## Features - **StorageClass** (`nfs`) — allows PVCs to request NFS-backed storage
- **PersistentVolume** (`nfs-media-pv`) — a cluster-wide volume pointing to the NFS export
- Automatic IP detection - Uses network IP even when hostname resolves to localhost No namespace, pods, or services are created.
- Cluster-wide access - Any pod can mount the NFS share regardless of node placement
- Configurable capacity - Set PersistentVolume size via `NFS_STORAGE_CAPACITY` ## Scripts
- ReadWriteMany - Multiple pods can simultaneously access the same storage
- **check-nfs** — Verifies the NFS server is reachable, the export path exists, and checks whether the StorageClass and PersistentVolume are present in the cluster. Run from the app detail panel in the web UI.
## Usage ## Usage
@@ -58,3 +61,10 @@ spec:
requests: requests:
storage: 100Gi storage: 100Gi
``` ```
## Features
- Cluster-wide access — any pod can mount the NFS share regardless of node placement
- ReadWriteMany — multiple pods can simultaneously read and write
- Configurable capacity — set PersistentVolume size via `storageCapacity`
- Retain policy — data is preserved when volumes are released

View File

@@ -1,7 +1,7 @@
name: nfs name: nfs
is: nfs is: nfs
description: NFS client provisioner for external NFS storage description: NFS client provisioner for external NFS storage
version: v4.0.18-2 version: v4.0.18-3
category: infrastructure category: infrastructure
scripts: scripts:
- name: check-nfs - name: check-nfs