{"id":18690461,"url":"https://github.com/kvaps/nfs-server-provisioner-chart","last_synced_at":"2026-02-13T09:02:10.248Z","repository":{"id":80916047,"uuid":"290465373","full_name":"kvaps/nfs-server-provisioner-chart","owner":"kvaps","description":"Helm chart for nfs-server-provisioner","archived":false,"fork":false,"pushed_at":"2020-10-13T08:28:32.000Z","size":41,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-28T02:30:47.219Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-26T10:23:58.000Z","updated_at":"2020-10-13T08:28:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c632520-4140-4855-95a8-c625baed3251","html_url":"https://github.com/kvaps/nfs-server-provisioner-chart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fnfs-server-provisioner-chart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fnfs-server-provisioner-chart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fnfs-server-provisioner-chart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fnfs-server-provisioner-chart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvaps","download_url":"https://codeload.github.com/kvaps/nfs-server-provisioner-chart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239550283,"owners_count":19657541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T10:47:39.695Z","updated_at":"2025-10-05T23:32:30.839Z","avatar_url":"https://github.com/kvaps.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚠️  DEPRECATED\n\n*As part of the [deprecation timeline](https://github.com/helm/charts/#deprecation-timeline).*\n\nThis chart is deprecated as we have moved to the upstream repo [NFS Ganesha server and external provisioner](https://github.com/kubernetes-sigs/nfs-ganesha-server-and-external-provisioner)  \nthe chart source can be found here:\n\nhttps://github.com/kubernetes-sigs/nfs-ganesha-server-and-external-provisioner/tree/master/deploy/helm\n\n# NFS Server Provisioner\n\n[NFS Server Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs)\nis an out-of-tree dynamic provisioner for Kubernetes. You can use it to quickly\n\u0026 easily deploy shared storage that works almost anywhere.\n\nThis chart will deploy the Kubernetes [external-storage projects](https://github.com/kubernetes-incubator/external-storage)\n`nfs` provisioner. This provisioner includes a built in NFS server, and is not intended for connecting to a pre-existing\nNFS server. If you have a pre-existing NFS Server, please consider using the [NFS Client Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client)\ninstead.\n\n## TL;DR;\n\n```console\n$ helm install stable/nfs-server-provisioner\n```\n\n\u003e **Warning**: While installing in the default configuration will work, any data stored on\nthe dynamic volumes provisioned by this chart will not be persistent!\n\n## Introduction\n\nThis chart bootstraps a [nfs-server-provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs)\ndeployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh)\npackage manager.\n\n## Installing the Chart\n\nTo install the chart with the release name `my-release`:\n\n```console\n$ helm install stable/nfs-server-provisioner --name my-release\n```\n\nThe command deploys nfs-server-provisioner on the Kubernetes cluster in the default\nconfiguration. The [configuration](#configuration) section lists the parameters\nthat can be configured during installation.\n\n## Uninstalling the Chart\n\nTo uninstall/delete the `my-release` deployment:\n\n```console\n$ helm delete my-release\n```\n\nThe command removes all the Kubernetes components associated with the chart and\ndeletes the release.\n\n## Configuration\n\nThe following table lists the configurable parameters of the kibana chart and\ntheir default values.\n\n| Parameter                      | Description                                                                                                     | Default                                                  |\n|:-------------------------------|:----------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------|\n| `extraArgs` | [Additional command line arguments](https://github.com/kubernetes-incubator/external-storage/blob/master/nfs/docs/deployment.md#arguments) | `{}`\n| `imagePullSecrets`             | Specify image pull secrets                                                                                      | `nil` (does not add image pull secrets to deployed pods) |\n| `image.repository`             | The image repository to pull from                                                                               | `quay.io/kubernetes_incubator/nfs-provisioner`           |\n| `image.tag`                    | The image tag to pull from                                                                                      | `v2.2.2`                                                 |\n| `image.pullPolicy`             | Image pull policy                                                                                               | `IfNotPresent`                                           |\n| `service.type`                 | service type                                                                                                    | `ClusterIP`                                              |\n| `service.nfsPort`              | TCP port on which the nfs-server-provisioner NFS service is exposed                                                    | `2049`                                                   |\n| `service.mountdPort`           | TCP port on which the nfs-server-provisioner mountd service is exposed                                                 | `20048`                                                  |\n| `service.rpcbindPort`          | TCP port on which the nfs-server-provisioner RPC service is exposed                                                    | `111`                                                    |\n| `service.nfsNodePort`          | if `service.type` is `NodePort` and this is non-empty, sets the nfs-server-provisioner node port of the NFS service    | `nil`                                                    |\n| `service.mountdNodePort`       | if `service.type` is `NodePort` and this is non-empty, sets the nfs-server-provisioner node port of the mountd service | `nil`                                                    |\n| `service.rpcbindNodePort`      | if `service.type` is `NodePort` and this is non-empty, sets the nfs-server-provisioner node port of the RPC service    | `nil`                                                    |\n| `persistence.enabled`          | Enable config persistence using PVC                                                                             | `false`                                                  |\n| `persistence.storageClass`     | PVC Storage Class for config volume                                                                             | `nil`                                                    |\n| `persistence.accessMode`       | PVC Access Mode for config volume                                                                               | `ReadWriteOnce`                                          |\n| `persistence.size`             | PVC Storage Request for config volume                                                                           | `1Gi`                                                    |\n| `storageClass.create`          | Enable creation of a StorageClass to consume this nfs-server-provisioner instance                                      | `true`                                                   |\n| `storageClass.provisionerName` | The provisioner name for the storageclass                                                                       | `cluster.local/{release-name}-{chart-name}`              |\n| `storageClass.defaultClass`    | Whether to set the created StorageClass as the clusters default StorageClass                                    | `false`                                                  |\n| `storageClass.name`            | The name to assign the created StorageClass                                                                     | `nfs`                                                    |\n| `storageClass.allowVolumeExpansion` | Allow base storage PCV to be dynamically resizeable (set to null to disable )                              | `true                                                    |\n| `storageClass.parameters`      | Parameters for StorageClass                                                                                     | `{}`                                                     |\n| `storageClass.mountOptions`    | Mount options for StorageClass                                                                                  | `[ \"vers=3\" ]`                                           |\n| `storageClass.reclaimPolicy`   | ReclaimPolicy field of the class, which can be either Delete or Retain                                          | `Delete`                                                    |\n| `resources`                    | Resource limits for nfs-server-provisioner pod                                                                          | `{}`                                                     |\n| `nodeSelector`                 | Map of node labels for pod assignment                                                                           | `{}`                                                     |\n| `tolerations`                  | List of node taints to tolerate                                                                                 | `[]`                                                     |\n| `affinity`                     | Map of node/pod affinities                                                                                      | `{}`                                                     |\n| `podSecurityContext`              | Security context settings for nfs-server-provisioner pod (see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod)                                                        | `{}`                                                     |\n\n```console\n$ helm install stable/nfs-server-provisioner --name my-release \\\n  --set=image.tag=v1.0.8,resources.limits.cpu=200m\n```\n\nAlternatively, a YAML file that specifies the values for the above parameters\ncan be provided while installing the chart. For example,\n\n```console\n$ helm install stable/nfs-server-provisioner --name my-release -f values.yaml\n```\n\n\u003e **Tip**: You can use the default [values.yaml](values.yaml) as an example\n\n## Persistence\n\nThe nfs-server-provisioner image stores it's configuration data, and importantly, **the dynamic volumes it\nmanages** `/export` path of the container.\n\nThe chart mounts a [Persistent Volume](http://kubernetes.io/docs/user-guide/persistent-volumes/)\nvolume at this location. The volume can be created using dynamic volume\nprovisioning. However, **it is highly recommended** to explicitly specify\na storageclass to use rather than accept the clusters default, or pre-create\na volume for each replica.\n\nIf this chart is deployed with more than 1 replica, `storageClass.defaultClass=true`\nand `persistence.storageClass`, then the 2nd+ replica will end up using the 1st\nreplica to provision storage - which is likely never a desired outcome.\n\n## Recommended Persistence Configuration Examples\n\nThe following is a recommended configuration example when another storage class\nexists to provide persistence:\n\n    persistence:\n      enabled: true\n      storageClass: \"standard\"\n      size: 200Gi\n\n    storageClass:\n      defaultClass: true\n\nOn many clusters, the cloud provider integration will create a \"standard\" storage\nclass which will create a volume (e.g. a Google Compute Engine Persistent Disk or\nAmazon EBS volume) to provide persistence.\n\n---\n\nThe following is a recommended configuration example when another storage class\ndoes not exist to provide persistence:\n\n    persistence:\n      enabled: true\n      storageClass: \"-\"\n      size: 200Gi\n\n    storageClass:\n      defaultClass: true\n\nIn this configuration, a `PersistentVolume` must be created for each replica\nto use. Installing the Helm chart, and then inspecting the `PersistentVolumeClaim`'s\ncreated will provide the necessary names for your `PersistentVolume`'s to bind to.\n\nAn example of the necessary `PersistentVolume`:\n\n    apiVersion: v1\n    kind: PersistentVolume\n    metadata:\n      name: data-nfs-server-provisioner-0\n    spec:\n      capacity:\n        storage: 200Gi\n      accessModes:\n        - ReadWriteOnce\n      gcePersistentDisk:\n        fsType: \"ext4\"\n        pdName: \"data-nfs-server-provisioner-0\"\n      claimRef:\n        namespace: kube-system\n        name: data-nfs-server-provisioner-0\n\n---\n\nThe following is a recommended configration example for running on bare metal with a hostPath volume:\n\n    persistence:\n      enabled: true\n      storageClass: \"-\"\n      size: 200Gi\n\n    storageClass:\n      defaultClass: true\n\n    nodeSelector:\n      kubernetes.io/hostname: {node-name}\n\nIn this configuration, a `PersistentVolume` must be created for each replica\nto use. Installing the Helm chart, and then inspecting the `PersistentVolumeClaim`'s\ncreated will provide the necessary names for your `PersistentVolume`'s to bind to.\n\nAn example of the necessary `PersistentVolume`:\n\n    apiVersion: v1\n    kind: PersistentVolume\n    metadata:\n      name: data-nfs-server-provisioner-0\n    spec:\n      capacity:\n        storage: 200Gi\n      accessModes:\n        - ReadWriteOnce\n      hostPath:\n        path: /srv/volumes/data-nfs-server-provisioner-0\n      claimRef:\n        namespace: kube-system\n        name: data-nfs-server-provisioner-0\n\n\u003e **Warning**: `hostPath` volumes cannot be migrated between machines by Kubernetes, as such,\nin this example, we have restricted the `nfs-server-provisioner` pod to run on a single node. This\nis unsuitable for production deployments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fnfs-server-provisioner-chart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvaps%2Fnfs-server-provisioner-chart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fnfs-server-provisioner-chart/lists"}