From f71abb56693c692f46813dea9b0adcafae814335 Mon Sep 17 00:00:00 2001 From: Maxime Bajeux <max.bajeux@gmail.com> Date: Wed, 15 Jul 2020 00:55:29 +0200 Subject: [PATCH] feat(volumes): Expose the provisioner associated to a volume (#4030) * feat(volumes): Expose the provisioner associated to a volume * feat(volumes): fix import and add default value to provisioner --- api/portainer.go | 1 + app/kubernetes/converters/storageClass.js | 1 + app/kubernetes/models/storage-class/models.js | 1 + app/kubernetes/views/configure/configureController.js | 1 + app/kubernetes/views/volumes/edit/volume.html | 4 ++++ 5 files changed, 8 insertions(+) diff --git a/api/portainer.go b/api/portainer.go index 8e94b7694..428b07c97 100644 --- a/api/portainer.go +++ b/api/portainer.go @@ -342,6 +342,7 @@ type ( KubernetesStorageClassConfig struct { Name string `json:"Name"` AccessModes []string `json:"AccessModes"` + Provisioner string `json:"Provisioner"` } // LDAPGroupSearchSettings represents settings used to search for groups in a LDAP server diff --git a/app/kubernetes/converters/storageClass.js b/app/kubernetes/converters/storageClass.js index 2aad0f02e..773c96862 100644 --- a/app/kubernetes/converters/storageClass.js +++ b/app/kubernetes/converters/storageClass.js @@ -7,6 +7,7 @@ class KubernetesStorageClassConverter { static apiToStorageClass(data) { const res = new KubernetesStorageClass(); res.Name = data.metadata.name; + res.Provisioner = data.provisioner; return res; } } diff --git a/app/kubernetes/models/storage-class/models.js b/app/kubernetes/models/storage-class/models.js index 6ede8946a..153976f64 100644 --- a/app/kubernetes/models/storage-class/models.js +++ b/app/kubernetes/models/storage-class/models.js @@ -24,6 +24,7 @@ export function KubernetesStorageClassAccessPolicies() { const _KubernetesStorageClass = Object.freeze({ Name: '', AccessModes: [], + Provisioner: '', }); export class KubernetesStorageClass { diff --git a/app/kubernetes/views/configure/configureController.js b/app/kubernetes/views/configure/configureController.js index 53f876166..3a16083ce 100644 --- a/app/kubernetes/views/configure/configureController.js +++ b/app/kubernetes/views/configure/configureController.js @@ -41,6 +41,7 @@ class KubernetesConfigureController { const res = new KubernetesStorageClass(); res.Name = item.Name; res.AccessModes = _.map(item.AccessModes, 'Name'); + res.Provisioner = item.Provisioner; return res; } }), diff --git a/app/kubernetes/views/volumes/edit/volume.html b/app/kubernetes/views/volumes/edit/volume.html index 781457f1f..aee67f42a 100644 --- a/app/kubernetes/views/volumes/edit/volume.html +++ b/app/kubernetes/views/volumes/edit/volume.html @@ -37,6 +37,10 @@ <td>Storage</td> <td>{{ ctrl.volume.PersistentVolumeClaim.StorageClass.Name }}</td> </tr> + <tr> + <td>Provisioner</td> + <td>{{ ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner ? ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner : '-' }}</td> + </tr> <tr> <td>Size</td> <td>{{ ctrl.volume.PersistentVolumeClaim.Storage }}</td>