diff --git a/.github/workflows/chart-lint-test.yml b/.github/workflows/chart-lint-test.yml index d97de06..f4a9f39 100644 --- a/.github/workflows/chart-lint-test.yml +++ b/.github/workflows/chart-lint-test.yml @@ -32,7 +32,7 @@ jobs: check-latest: true - name: Set up chart-testing - uses: helm/chart-testing-action@v2.6.0 + uses: helm/chart-testing-action@v2.6.1 - name: Run chart-testing (list-changed) id: list-changed diff --git a/cmd/provisioner-nfs/main.go b/cmd/provisioner-nfs/main.go index 9329e15..eefaafb 100644 --- a/cmd/provisioner-nfs/main.go +++ b/cmd/provisioner-nfs/main.go @@ -19,8 +19,9 @@ package main import ( "os" - "github.com/openebs/dynamic-nfs-provisioner/cmd/provisioner-nfs/app" logger "github.com/openebs/maya/pkg/logs" + + "github.com/openebs/dynamic-nfs-provisioner/cmd/provisioner-nfs/app" ) func main() { diff --git a/deploy/helm/charts/Chart.yaml b/deploy/helm/charts/Chart.yaml index ebf0de3..39ed3e1 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.10.2 +version: 0.11.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.10.0 +appVersion: 0.11.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 8ef81e6..7d11c51 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.10.0` | +| `nfsProvisioner.image.tag` | Image tag for NFS Provisioner | `0.11.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.10.0` | +| `nfsProvisioner.nfsServerAlpineImage.tag` | Image tag for nfs-server-alpine | `0.11.0` | | `nfsProvisioner.resources` | Resource request and limit for the container | `true` | | `nfsProvisioner.securityContext` | Security context for container | `""` | | `nfsProvisioner.tolerations` | NFS Provisioner pod toleration values | `""` | @@ -131,8 +131,9 @@ helm install openebs-nfs openebs-nfs/nfs-provisioner --namespace openebs --creat | `nfsProvisioner.nfsServerNodeAffinity` | NFS Server node affinity rules | `""` | | `nfsProvisioner.nfsBackendPvcTimeout` | Timeout for backend PVC binding in seconds | `"60"` | | `nfsProvisioner.nfsHookConfigMap` | Existing Configmap name to load hook configuration | `""` | +| `nfsProvisioner.enableGarbageCollection` | Enable garbage collection for the backend PVC | `true` | | `nfsStorageClass.backendStorageClass` | StorageClass to be used to provision the backend volume. If not specified, the default StorageClass is used. | `""` | -| `nfsStorageClass.mountOptions` | NFS mount options to be passed on to storageclass | `[]` +| `nfsStorageClass.mountOptions` | NFS mount options to be passed on to storageclass | `[]` | `nfsStorageClass.isDefaultClass` | Make 'openebs-kernel-nfs' the default StorageClass | `"false"` | | `nfsStorageClass.reclaimPolicy` | ReclaimPolicy for NFS PVs | `"Delete"` | | `nfsStorageClass.leaseTime` | Renewal period(in seconds) for NFS client state | `90` | diff --git a/deploy/helm/charts/templates/deployment.yaml b/deploy/helm/charts/templates/deployment.yaml index c2a00a1..2d02f73 100644 --- a/deploy/helm/charts/templates/deployment.yaml +++ b/deploy/helm/charts/templates/deployment.yaml @@ -103,7 +103,13 @@ spec: - name: OPENEBS_IO_NFS_SERVER_NODE_AFFINITY value: "{{ .Values.nfsProvisioner.nfsServerNodeAffinity }}" {{- end }} - {{- if .Values.nfsProvisioner.nfsBackendPvcTimeout }} + # Provide a switch to turn off the function of clearing stale pvc to avoid + # garbage collecting an NFS backend PVC if the NFS PVC is deleted. + {{- if .Values.nfsProvisioner.enableGarbageCollection }} + - name: OPENEBS_IO_NFS_SERVER_GARBAGE_COLLECTION_ENABLED + value: {{ quote .Values.nfsProvisioner.enableGarbageCollection }} + {{- end }} + {{- if .Values.nfsProvisioner.nfsBackendPvcTimeout }} - name: OPENEBS_IO_NFS_SERVER_BACKEND_PVC_TIMEOUT value: "{{ .Values.nfsProvisioner.nfsBackendPvcTimeout }}" {{- end }} diff --git a/deploy/helm/charts/values.yaml b/deploy/helm/charts/values.yaml index 269ed0b..bcd1846 100644 --- a/deploy/helm/charts/values.yaml +++ b/deploy/helm/charts/values.yaml @@ -40,6 +40,9 @@ nfsProvisioner: tag: pullPolicy: IfNotPresent enableLeaderElection: "true" + # Provide a switch to turn off the function of clearing stale pvc to avoid + # garbage collecting an NFS backend PVC if the NFS PVC is deleted. + enableGarbageCollection: true # Specify image name of nfs-server-alpine used for creating nfs server deployment # If not mentioned, default value openebs/nfs-server-alpine:tag will be used where # the tag will be the same as a provisioner-nfs image tag @@ -113,7 +116,7 @@ nfsStorageClass: # 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 + # For more info: 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.