mirror of https://github.com/portainer/portainer
feat(area/kubernetes): show shared access policy in volume details (#4707)
parent
121d33538d
commit
15aed9fc6f
|
@ -37,6 +37,17 @@
|
||||||
<td>Storage</td>
|
<td>Storage</td>
|
||||||
<td>{{ ctrl.volume.PersistentVolumeClaim.StorageClass.Name }}</td>
|
<td>{{ ctrl.volume.PersistentVolumeClaim.StorageClass.Name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Shared Access Policy</td>
|
||||||
|
<td
|
||||||
|
>{{ ctrl.state.volumeSharedAccessPolicy }}
|
||||||
|
<portainer-tooltip
|
||||||
|
position="bottom"
|
||||||
|
ng-if="ctrl.state.volumeSharedAccessPolicyTooltip"
|
||||||
|
message="{{ ctrl.state.volumeSharedAccessPolicyTooltip }}"
|
||||||
|
></portainer-tooltip
|
||||||
|
></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Provisioner</td>
|
<td>Provisioner</td>
|
||||||
<td>{{ ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner ? ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner : '-' }}</td>
|
<td>{{ ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner ? ctrl.volume.PersistentVolumeClaim.StorageClass.Provisioner : '-' }}</td>
|
||||||
|
|
|
@ -2,6 +2,7 @@ import angular from 'angular';
|
||||||
import _ from 'lodash-es';
|
import _ from 'lodash-es';
|
||||||
import KubernetesVolumeHelper from 'Kubernetes/helpers/volumeHelper';
|
import KubernetesVolumeHelper from 'Kubernetes/helpers/volumeHelper';
|
||||||
import KubernetesEventHelper from 'Kubernetes/helpers/eventHelper';
|
import KubernetesEventHelper from 'Kubernetes/helpers/eventHelper';
|
||||||
|
import { KubernetesStorageClassAccessPolicies } from 'Kubernetes/models/storage-class/models';
|
||||||
import filesizeParser from 'filesize-parser';
|
import filesizeParser from 'filesize-parser';
|
||||||
|
|
||||||
class KubernetesVolumeController {
|
class KubernetesVolumeController {
|
||||||
|
@ -179,6 +180,8 @@ class KubernetesVolumeController {
|
||||||
volumeSize: 0,
|
volumeSize: 0,
|
||||||
volumeSizeUnit: 'GB',
|
volumeSizeUnit: 'GB',
|
||||||
volumeSizeError: false,
|
volumeSizeError: false,
|
||||||
|
volumeSharedAccessPolicy: '',
|
||||||
|
volumeSharedAccessPolicyTooltip: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
this.state.activeTab = this.LocalStorage.getActiveTab('volume');
|
this.state.activeTab = this.LocalStorage.getActiveTab('volume');
|
||||||
|
@ -186,6 +189,16 @@ class KubernetesVolumeController {
|
||||||
try {
|
try {
|
||||||
await this.getVolume();
|
await this.getVolume();
|
||||||
await this.getEvents();
|
await this.getEvents();
|
||||||
|
if (this.volume.PersistentVolumeClaim.StorageClass !== undefined) {
|
||||||
|
this.state.volumeSharedAccessPolicy = this.volume.PersistentVolumeClaim.StorageClass.AccessModes[this.volume.PersistentVolumeClaim.StorageClass.AccessModes.length - 1];
|
||||||
|
let policies = KubernetesStorageClassAccessPolicies();
|
||||||
|
|
||||||
|
policies.forEach((policy) => {
|
||||||
|
if (policy.Name == this.state.volumeSharedAccessPolicy) {
|
||||||
|
this.state.volumeSharedAccessPolicyTooltip = policy.Description;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to load view data');
|
this.Notifications.error('Failure', err, 'Unable to load view data');
|
||||||
} finally {
|
} finally {
|
||||||
|
|
Loading…
Reference in New Issue