Merge pull request #116 from democratic-csi/next
support templates for nfs share comment
This commit is contained in:
		
						commit
						c9eadd4579
					
				|  | @ -1,3 +1,10 @@ | |||
| # v1.3.1 | ||||
| 
 | ||||
| Released 2021-09-08 | ||||
| 
 | ||||
| - support using a template for nfs share comment in `freenas-nfs` and | ||||
|   `freenas-api-nfs` (see #115) | ||||
| 
 | ||||
| # v1.3.0 | ||||
| 
 | ||||
| Released 2021-09-02 | ||||
|  |  | |||
|  | @ -48,6 +48,7 @@ zfs: | |||
|   #- "-m u:kube:full_set:allow" | ||||
| 
 | ||||
| nfs: | ||||
|   #shareCommentTemplate: "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}-{{ parameters.[csi.storage.k8s.io/pvc/name] }}" | ||||
|   shareHost: server address | ||||
|   shareAlldirs: false | ||||
|   shareAllowedHosts: [] | ||||
|  |  | |||
|  | @ -58,6 +58,7 @@ zfs: | |||
|   #- "-m u:kube:full_set:allow" | ||||
| 
 | ||||
| nfs: | ||||
|   #shareCommentTemplate: "{{ parameters.[csi.storage.k8s.io/pvc/namespace] }}-{{ parameters.[csi.storage.k8s.io/pvc/name] }}" | ||||
|   shareHost: server address | ||||
|   shareAlldirs: false | ||||
|   shareAllowedHosts: [] | ||||
|  |  | |||
|  | @ -1,12 +1,12 @@ | |||
| { | ||||
|   "name": "democratic-csi", | ||||
|   "version": "1.2.0", | ||||
|   "version": "1.3.1", | ||||
|   "lockfileVersion": 2, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "democratic-csi", | ||||
|       "version": "1.2.0", | ||||
|       "version": "1.3.1", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@grpc/grpc-js": "^1.3.6", | ||||
|  | @ -311,9 +311,9 @@ | |||
|       "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" | ||||
|     }, | ||||
|     "node_modules/@types/node": { | ||||
|       "version": "16.7.10", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz", | ||||
|       "integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA==" | ||||
|       "version": "16.7.13", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", | ||||
|       "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==" | ||||
|     }, | ||||
|     "node_modules/acorn": { | ||||
|       "version": "7.4.1", | ||||
|  | @ -723,9 +723,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "node_modules/deep-is": { | ||||
|       "version": "0.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | ||||
|       "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | ||||
|       "version": "0.1.4", | ||||
|       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", | ||||
|       "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/delayed-stream": { | ||||
|  | @ -1063,9 +1063,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/fast-safe-stringify": { | ||||
|       "version": "2.0.8", | ||||
|       "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", | ||||
|       "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", | ||||
|       "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" | ||||
|     }, | ||||
|     "node_modules/fecha": { | ||||
|       "version": "4.2.1", | ||||
|  | @ -2671,9 +2671,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/ssh2": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.3.0.tgz", | ||||
|       "integrity": "sha512-OjBQ5FR+ClYav3fRnvkhycmd5co5qEfofBaZEqVO3I4tKJLZqu+Ku4LN4nJSckjhqQnomqBqlCdvD3iGV+6isA==", | ||||
|       "version": "1.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.4.0.tgz", | ||||
|       "integrity": "sha512-XvXwcXKvS452DyQvCa6Ct+chpucwc/UyxgliYz+rWXJ3jDHdtBb9xgmxJdMmnIn5bpgGAEV3KaEsH98ZGPHqwg==", | ||||
|       "hasInstallScript": true, | ||||
|       "dependencies": { | ||||
|         "asn1": "^0.2.4", | ||||
|  | @ -2888,9 +2888,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "node_modules/uglify-js": { | ||||
|       "version": "3.14.1", | ||||
|       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", | ||||
|       "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", | ||||
|       "version": "3.14.2", | ||||
|       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz", | ||||
|       "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", | ||||
|       "optional": true, | ||||
|       "bin": { | ||||
|         "uglifyjs": "bin/uglifyjs" | ||||
|  | @ -3343,9 +3343,9 @@ | |||
|       "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" | ||||
|     }, | ||||
|     "@types/node": { | ||||
|       "version": "16.7.10", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz", | ||||
|       "integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA==" | ||||
|       "version": "16.7.13", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz", | ||||
|       "integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA==" | ||||
|     }, | ||||
|     "acorn": { | ||||
|       "version": "7.4.1", | ||||
|  | @ -3665,9 +3665,9 @@ | |||
|       "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" | ||||
|     }, | ||||
|     "deep-is": { | ||||
|       "version": "0.1.3", | ||||
|       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | ||||
|       "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | ||||
|       "version": "0.1.4", | ||||
|       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", | ||||
|       "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "delayed-stream": { | ||||
|  | @ -3932,9 +3932,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "fast-safe-stringify": { | ||||
|       "version": "2.0.8", | ||||
|       "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", | ||||
|       "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", | ||||
|       "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" | ||||
|     }, | ||||
|     "fecha": { | ||||
|       "version": "4.2.1", | ||||
|  | @ -5153,9 +5153,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "ssh2": { | ||||
|       "version": "1.3.0", | ||||
|       "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.3.0.tgz", | ||||
|       "integrity": "sha512-OjBQ5FR+ClYav3fRnvkhycmd5co5qEfofBaZEqVO3I4tKJLZqu+Ku4LN4nJSckjhqQnomqBqlCdvD3iGV+6isA==", | ||||
|       "version": "1.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.4.0.tgz", | ||||
|       "integrity": "sha512-XvXwcXKvS452DyQvCa6Ct+chpucwc/UyxgliYz+rWXJ3jDHdtBb9xgmxJdMmnIn5bpgGAEV3KaEsH98ZGPHqwg==", | ||||
|       "requires": { | ||||
|         "asn1": "^0.2.4", | ||||
|         "bcrypt-pbkdf": "^1.0.2", | ||||
|  | @ -5318,9 +5318,9 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "uglify-js": { | ||||
|       "version": "3.14.1", | ||||
|       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", | ||||
|       "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", | ||||
|       "version": "3.14.2", | ||||
|       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz", | ||||
|       "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", | ||||
|       "optional": true | ||||
|     }, | ||||
|     "uri-js": { | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| { | ||||
|   "name": "democratic-csi", | ||||
|   "version": "1.3.0", | ||||
|   "version": "1.3.1", | ||||
|   "description": "kubernetes csi driver framework", | ||||
|   "main": "bin/democratic-csi", | ||||
|   "scripts": { | ||||
|  |  | |||
|  | @ -196,6 +196,25 @@ class FreeNASApiDriver extends CsiBaseDriver { | |||
|             properties[FREENAS_NFS_SHARE_PROPERTY_NAME].value | ||||
|           ) | ||||
|         ) { | ||||
|           let nfsShareComment; | ||||
|           if (this.options.nfs.shareCommentTemplate) { | ||||
|             nfsShareComment = Handlebars.compile( | ||||
|               this.options.nfs.shareCommentTemplate | ||||
|             )({ | ||||
|               name: call.request.name, | ||||
|               parameters: call.request.parameters, | ||||
|               csi: { | ||||
|                 name: this.ctx.args.csiName, | ||||
|                 version: this.ctx.args.csiVersion, | ||||
|               }, | ||||
|               zfs: { | ||||
|                 datasetName: datasetName, | ||||
|               }, | ||||
|             }); | ||||
|           } else { | ||||
|             nfsShareComment = `democratic-csi (${this.ctx.args.csiName}): ${datasetName}`; | ||||
|           } | ||||
| 
 | ||||
|           switch (apiVersion) { | ||||
|             case 1: | ||||
|             case 2: | ||||
|  | @ -203,7 +222,7 @@ class FreeNASApiDriver extends CsiBaseDriver { | |||
|                 case 1: | ||||
|                   share = { | ||||
|                     nfs_paths: [properties.mountpoint.value], | ||||
|                     nfs_comment: `democratic-csi (${this.ctx.args.csiName}): ${datasetName}`, | ||||
|                     nfs_comment: nfsShareComment || "", | ||||
|                     nfs_network: | ||||
|                       this.options.nfs.shareAllowedNetworks.join(","), | ||||
|                     nfs_hosts: this.options.nfs.shareAllowedHosts.join(","), | ||||
|  | @ -220,7 +239,7 @@ class FreeNASApiDriver extends CsiBaseDriver { | |||
|                 case 2: | ||||
|                   share = { | ||||
|                     paths: [properties.mountpoint.value], | ||||
|                     comment: `democratic-csi (${this.ctx.args.csiName}): ${datasetName}`, | ||||
|                     comment: nfsShareComment || "", | ||||
|                     networks: this.options.nfs.shareAllowedNetworks, | ||||
|                     hosts: this.options.nfs.shareAllowedHosts, | ||||
|                     alldirs: this.options.nfs.shareAlldirs, | ||||
|  |  | |||
|  | @ -193,6 +193,25 @@ class FreeNASSshDriver extends ControllerZfsSshBaseDriver { | |||
|             properties[FREENAS_NFS_SHARE_PROPERTY_NAME].value | ||||
|           ) | ||||
|         ) { | ||||
|           let nfsShareComment; | ||||
|           if (this.options.nfs.shareCommentTemplate) { | ||||
|             nfsShareComment = Handlebars.compile( | ||||
|               this.options.nfs.shareCommentTemplate | ||||
|             )({ | ||||
|               name: call.request.name, | ||||
|               parameters: call.request.parameters, | ||||
|               csi: { | ||||
|                 name: this.ctx.args.csiName, | ||||
|                 version: this.ctx.args.csiVersion, | ||||
|               }, | ||||
|               zfs: { | ||||
|                 datasetName: datasetName, | ||||
|               }, | ||||
|             }); | ||||
|           } else { | ||||
|             nfsShareComment = `democratic-csi (${this.ctx.args.csiName}): ${datasetName}`; | ||||
|           } | ||||
| 
 | ||||
|           switch (apiVersion) { | ||||
|             case 1: | ||||
|             case 2: | ||||
|  | @ -200,7 +219,7 @@ class FreeNASSshDriver extends ControllerZfsSshBaseDriver { | |||
|                 case 1: | ||||
|                   share = { | ||||
|                     nfs_paths: [properties.mountpoint.value], | ||||
|                     nfs_comment: `democratic-csi (${this.ctx.args.csiName}): ${datasetName}`, | ||||
|                     nfs_comment: nfsShareComment || "", | ||||
|                     nfs_network: | ||||
|                       this.options.nfs.shareAllowedNetworks.join(","), | ||||
|                     nfs_hosts: this.options.nfs.shareAllowedHosts.join(","), | ||||
|  | @ -217,7 +236,7 @@ class FreeNASSshDriver extends ControllerZfsSshBaseDriver { | |||
|                 case 2: | ||||
|                   share = { | ||||
|                     paths: [properties.mountpoint.value], | ||||
|                     comment: `democratic-csi (${this.ctx.args.csiName}): ${datasetName}`, | ||||
|                     comment: nfsShareComment || "", | ||||
|                     networks: this.options.nfs.shareAllowedNetworks, | ||||
|                     hosts: this.options.nfs.shareAllowedHosts, | ||||
|                     alldirs: this.options.nfs.shareAlldirs, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue