diff --git a/deploy/helm/charts/Chart.yaml b/deploy/helm/charts/Chart.yaml index cedf54c5..acd8305e 100644 --- a/deploy/helm/charts/Chart.yaml +++ b/deploy/helm/charts/Chart.yaml @@ -4,10 +4,10 @@ description: Helm chart for OpenEBS Dynamic NFS PV. For instructions to install type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 0.8.0 +version: 0.9.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 0.8.0 +appVersion: 0.9.0 icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.png home: http://www.openebs.io/ keywords: diff --git a/deploy/helm/charts/README.md b/deploy/helm/charts/README.md index 200b1d71..8df4f4dc 100644 --- a/deploy/helm/charts/README.md +++ b/deploy/helm/charts/README.md @@ -117,13 +117,13 @@ helm install openebs-nfs openebs-nfs/nfs-provisioner --namespace openebs --creat | `nfsProvisioner.healthCheck.periodSeconds` | How often to perform the liveness probe | `60` | | `nfsProvisioner.image.registry` | Registry for NFS Provisioner image | `""` | | `nfsProvisioner.image.repository` | Image repository for NFS Provisioner | `openebs/provisioner-nfs` | -| `nfsProvisioner.image.tag` | Image tag for NFS Provisioner | `0.8.0` | +| `nfsProvisioner.image.tag` | Image tag for NFS Provisioner | `0.9.0` | | `nfsProvisioner.image.pullPolicy` | Image pull policy for NFS Provisioner image | `IfNotPresent` | | `nfsProvisioner.annotations` | Annotations for NFS Provisioner metadata | `""` | | `nfsProvisioner.nodeSelector` | Nodeselector for NFS Provisioner pod | `""` | | `nfsProvisioner.nfsServerAlpineImage.registry` | Registry for nfs-server-alpine | `""` | | `nfsProvisioner.nfsServerAlpineImage.repository` | Image repository for nfs-server-alpine | `openebs/nfs-server-alpine` | -| `nfsProvisioner.nfsServerAlpineImage.tag` | Image tag for nfs-server-alpine | `0.8.0` | +| `nfsProvisioner.nfsServerAlpineImage.tag` | Image tag for nfs-server-alpine | `0.9.0` | | `nfsProvisioner.resources` | Resource request and limit for the container | `true` | | `nfsProvisioner.securityContext` | Security context for container | `""` | | `nfsProvisioner.tolerations` | NFS Provisioner pod toleration values | `""` | @@ -136,7 +136,10 @@ helm install openebs-nfs openebs-nfs/nfs-provisioner --namespace openebs --creat | `nfsStorageClass.reclaimPolicy` | ReclaimPolicy for NFS PVs | `"Delete"` | | `nfsStorageClass.leaseTime` | Renewal period(in seconds) for NFS client state | `90` | | `nfsStorageClass.graceTime` | Recovery period(in seconds) to reclaim locks for NFS client | `90` | -| `nfsStorageClass.nfsServerResources` | Resource requests and limits of NFS Server | `""` | +| `nfsStorageClass.nfsServerResources` | Resource requests and limits of NFS Server | `""` | +| `nfsStorageClass.filePermissions.UID` | Set user owner of the shared directory | `""` | +| `nfsStorageClass.filePermissions.GID` | Set group owner of the shared directory | `""` | +| `nfsStorageClass.filePermissions.mode` | Set file mode of the shared directory | `""` | | `rbac.create` | Enable RBAC Resources | `true` | | `rbac.pspEnabled` | Create pod security policy resources | `false` | | `nfsServer.imagePullSecret` | Image pull secret name to be used by NFS Server pods | `""` | diff --git a/deploy/helm/charts/templates/kernel-nfs-storageclass.yaml b/deploy/helm/charts/templates/kernel-nfs-storageclass.yaml index 15d7cdec..da77f525 100644 --- a/deploy/helm/charts/templates/kernel-nfs-storageclass.yaml +++ b/deploy/helm/charts/templates/kernel-nfs-storageclass.yaml @@ -37,6 +37,19 @@ metadata: {{ toYaml .Values.nfsStorageClass.nfsServerResources.limits | indent 10 }} {{- end }} {{- end }} +{{- if .Values.nfsStorageClass.filePermissions }} + - name: FilePermissions + data: +{{- if .Values.nfsStorageClass.filePermissions.UID }} + UID: {{ .Values.nfsStorageClass.filePermissions.UID | quote }} +{{- end }} +{{- if .Values.nfsStorageClass.filePermissions.GID }} + GID: {{ .Values.nfsStorageClass.filePermissions.GID | quote }} +{{- end }} +{{- if .Values.nfsStorageClass.filePermissions.mode }} + mode: {{ .Values.nfsStorageClass.filePermissions.mode | quote }} +{{- end }} +{{- end }} {{- if .Values.nfsStorageClass.isDefaultClass }} storageclass.kubernetes.io/is-default-class: "true" {{- end }} diff --git a/deploy/helm/charts/values.yaml b/deploy/helm/charts/values.yaml index 07c8f159..7d1f226a 100644 --- a/deploy/helm/charts/values.yaml +++ b/deploy/helm/charts/values.yaml @@ -104,6 +104,25 @@ nfsStorageClass: # graceTime defines the recovery period(in seconds) to reclaim locks # setting graceTime and leaseTime lower will reduce the io pause time during nfs server restart graceTime: + # filePermissions defines the file ownership and mode specifications + # for the NFS server's shared filesystem volume. + # File permission changes are applied recursively if the root of the + # volume's filesystem does not match the specified value. + # For more information: https://github.com/openebs/dynamic-nfs-provisioner/blob/develop/docs/tutorial/file-permissions.md + filePermissions: {} + # The UID value is used to set the user-owner of NFS shared directory. Only valid + # UIDs are accepted. + # The ownership change is carried out recursively down the directory tree. + # UID: "" + # The GID value is used to set the group-owner of NFS shared directory. Only valid + # GIDs are accepted. + # The ownership change is carried out recursively down the directory tree. + # GID: "" + # The mode value is used to set the file mode of NFS shared directory. Both octals (e.g. 0744) + # and incremental/decremental (e.g. "u+r", "o+rw") values are accepted. + # The file mode change is carried out recursively down the directory tree. + # mode: "" + # nfsServerResources defines the NFS server resource requests and limits # Usually, below request and limits are good enough for NFS Server to work # seamlessly(IOs will be taken care by kerner space process i.e nfsd). diff --git a/deploy/kubectl/openebs-nfs-provisioner.yaml b/deploy/kubectl/openebs-nfs-provisioner.yaml index 77e13def..485c232c 100644 --- a/deploy/kubectl/openebs-nfs-provisioner.yaml +++ b/deploy/kubectl/openebs-nfs-provisioner.yaml @@ -142,7 +142,6 @@ spec: # while creating nfs volume - name: OPENEBS_IO_NFS_SERVER_IMG value: openebs/nfs-server-alpine:ci - # OPENEBS_IO_NFS_HOOK_CONFIGMAP defines configmap to use for hook # LEADER_ELECTION_ENABLED is used to enable/disable leader election. By default # leader election is enabled. #- name: LEADER_ELECTION_ENABLED