mirror of https://github.com/portainer/portainer
feat(k8s): replace resource pool with name space
parent
3e60167aeb
commit
6734f0ab74
|
@ -94,7 +94,7 @@
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a ng-click="$ctrl.changeOrderBy('ResourcePool')">
|
<a ng-click="$ctrl.changeOrderBy('ResourcePool')">
|
||||||
Resource pool
|
Namespace
|
||||||
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && !$ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && !$ctrl.state.reverseOrder"></i>
|
||||||
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && $ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && $ctrl.state.reverseOrder"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a ng-click="$ctrl.changeOrderBy('ResourcePool')">
|
<a ng-click="$ctrl.changeOrderBy('ResourcePool')">
|
||||||
Resource pool
|
Namespace
|
||||||
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && !$ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && !$ctrl.state.reverseOrder"></i>
|
||||||
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && $ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && $ctrl.state.reverseOrder"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a ng-click="$ctrl.changeOrderBy('Namespace')">
|
<a ng-click="$ctrl.changeOrderBy('Namespace')">
|
||||||
Resource Pool
|
Namespace
|
||||||
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Namespace' && !$ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Namespace' && !$ctrl.state.reverseOrder"></i>
|
||||||
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Namespace' && $ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'Namespace' && $ctrl.state.reverseOrder"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a ng-click="$ctrl.changeOrderBy('ResourcePool')">
|
<a ng-click="$ctrl.changeOrderBy('ResourcePool')">
|
||||||
Resource pool
|
Namespace
|
||||||
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && !$ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && !$ctrl.state.reverseOrder"></i>
|
||||||
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && $ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool' && $ctrl.state.reverseOrder"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
<i class="fa fa-trash-alt space-right" aria-hidden="true"></i>Remove
|
<i class="fa fa-trash-alt space-right" aria-hidden="true"></i>Remove
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-sm btn-primary" ui-sref="kubernetes.resourcePools.new">
|
<button type="button" class="btn btn-sm btn-primary" ui-sref="kubernetes.resourcePools.new">
|
||||||
<i class="fa fa-plus space-right" aria-hidden="true"></i>Add resource pool
|
<i class="fa fa-plus space-right" aria-hidden="true"></i>Add namespace
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="searchBar">
|
<div class="searchBar">
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
<td colspan="4" class="text-center text-muted">Loading...</td>
|
<td colspan="4" class="text-center text-muted">Loading...</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr ng-if="$ctrl.state.filteredDataSet.length === 0">
|
<tr ng-if="$ctrl.state.filteredDataSet.length === 0">
|
||||||
<td colspan="4" class="text-center text-muted">No resource pool available.</td>
|
<td colspan="4" class="text-center text-muted">No namespace available.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -84,7 +84,7 @@
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a ng-click="$ctrl.changeOrderBy('ResourcePool.Namespace.Name')">
|
<a ng-click="$ctrl.changeOrderBy('ResourcePool.Namespace.Name')">
|
||||||
Resource pool
|
Namespace
|
||||||
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool.Namespace.Name' && !$ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-down" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool.Namespace.Name' && !$ctrl.state.reverseOrder"></i>
|
||||||
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool.Namespace.Name' && $ctrl.state.reverseOrder"></i>
|
<i class="fa fa-sort-alpha-up" aria-hidden="true" ng-if="$ctrl.state.orderBy === 'ResourcePool.Namespace.Name' && $ctrl.state.reverseOrder"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<a ui-sref="kubernetes.dashboard({endpointId: $ctrl.endpointId})" ui-sref-active="active">Dashboard <span class="menu-icon fa fa-tachometer-alt fa-fw"></span></a>
|
<a ui-sref="kubernetes.dashboard({endpointId: $ctrl.endpointId})" ui-sref-active="active">Dashboard <span class="menu-icon fa fa-tachometer-alt fa-fw"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a ui-sref="kubernetes.resourcePools({endpointId: $ctrl.endpointId})" ui-sref-active="active">Resource pools <span class="menu-icon fa fa-layer-group fa-fw"></span></a>
|
<a ui-sref="kubernetes.resourcePools({endpointId: $ctrl.endpointId})" ui-sref-active="active">Namespaces <span class="menu-icon fa fa-layer-group fa-fw"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a ui-sref="kubernetes.applications({endpointId: $ctrl.endpointId})" ui-sref-active="active">Applications <span class="menu-icon fa fa-laptop-code fa-fw"></span></a>
|
<a ui-sref="kubernetes.applications({endpointId: $ctrl.endpointId})" ui-sref-active="active">Applications <span class="menu-icon fa fa-laptop-code fa-fw"></span></a>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Application console" state="kubernetes.applications.application.console" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Application console" state="kubernetes.applications.application.console" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
||||||
<a ui-sref="kubernetes.applications">Applications</a> >
|
<a ui-sref="kubernetes.applications">Applications</a> >
|
||||||
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> > Pods >
|
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> > Pods >
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<a ui-sref="kubernetes.applications">Applications</a> > Create an application
|
<a ui-sref="kubernetes.applications">Applications</a> > Create an application
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
<kubernetes-view-header ng-if="ctrl.state.isEdit" title="Edit application" state="kubernetes.applications.application.edit" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header ng-if="ctrl.state.isEdit" title="Edit application" state="kubernetes.applications.application.edit" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
||||||
<a ui-sref="kubernetes.applications">Applications</a> >
|
<a ui-sref="kubernetes.applications">Applications</a> >
|
||||||
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> > Edit
|
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> > Edit
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<p ng-if="ctrl.state.alreadyExists"
|
<p ng-if="ctrl.state.alreadyExists"
|
||||||
><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> An application with the same name already exists inside the selected resource pool.</p
|
><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> An application with the same name already exists inside the selected namespace.</p
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -84,11 +84,11 @@
|
||||||
<!-- #endregion -->
|
<!-- #endregion -->
|
||||||
|
|
||||||
<div class="col-sm-12 form-section-title">
|
<div class="col-sm-12 form-section-title">
|
||||||
Resource pool
|
Namespace
|
||||||
</div>
|
</div>
|
||||||
<!-- #region RESOURCE POOL -->
|
<!-- #region NAMESPACE -->
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="resource-pool-selector" class="col-sm-1 control-label text-left">Resource pool</label>
|
<label for="resource-pool-selector" class="col-sm-1 control-label text-left">Namespace</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<select
|
<select
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
@ -103,8 +103,8 @@
|
||||||
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && ctrl.resourceQuotaCapacityExceeded()">
|
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && ctrl.resourceQuotaCapacityExceeded()">
|
||||||
<div class="col-sm-12 small text-danger">
|
<div class="col-sm-12 small text-danger">
|
||||||
<i class="fa fa-exclamation-circle red-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-exclamation-circle red-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
This resource pool has exhausted its resource capacity and you will not be able to deploy the application. Contact your administrator to expand the capacity of the
|
This namespace has exhausted its resource capacity and you will not be able to deploy the application. Contact your administrator to expand the capacity of the
|
||||||
resource pool.
|
namespace.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- #endregion -->
|
<!-- #endregion -->
|
||||||
|
@ -648,16 +648,16 @@
|
||||||
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && !ctrl.resourceQuotaCapacityExceeded()">
|
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && !ctrl.resourceQuotaCapacityExceeded()">
|
||||||
<div class="col-sm-12 small text-muted">
|
<div class="col-sm-12 small text-muted">
|
||||||
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
A resource quota is set on this resource pool, you must specify resource reservations. Resource reservations are applied per instance of the application. Maximums
|
A resource quota is set on this namespace, you must specify resource reservations. Resource reservations are applied per instance of the application. Maximums are
|
||||||
are inherited from the resource pool quota.
|
inherited from the namespace quota.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && ctrl.resourceQuotaCapacityExceeded()">
|
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && ctrl.resourceQuotaCapacityExceeded()">
|
||||||
<div class="col-sm-12 small text-danger">
|
<div class="col-sm-12 small text-danger">
|
||||||
<i class="fa fa-exclamation-circle red-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-exclamation-circle red-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
This resource pool has exhausted its resource capacity and you will not be able to deploy the application. Contact your administrator to expand the capacity of the
|
This namespace has exhausted its resource capacity and you will not be able to deploy the application. Contact your administrator to expand the capacity of the
|
||||||
resource pool.
|
namespace.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Application details" state="kubernetes.applications.application" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Application details" state="kubernetes.applications.application" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
||||||
<a ui-sref="kubernetes.applications">Applications</a> > {{ ctrl.application.Name }}
|
<a ui-sref="kubernetes.applications">Applications</a> > {{ ctrl.application.Name }}
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
<td>{{ ctrl.application.StackName }}</td>
|
<td>{{ ctrl.application.StackName }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Resource pool</td>
|
<td>Namespace</td>
|
||||||
<td>
|
<td>
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a>
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a>
|
||||||
<span style="margin-left: 5px;" class="label label-info image-tag" ng-if="ctrl.isSystemNamespace(item)">system</span>
|
<span style="margin-left: 5px;" class="label label-info image-tag" ng-if="ctrl.isSystemNamespace(item)">system</span>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Application logs" state="kubernetes.applications.application.logs" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Application logs" state="kubernetes.applications.application.logs" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> >
|
||||||
<a ui-sref="kubernetes.applications">Applications</a> >
|
<a ui-sref="kubernetes.applications">Applications</a> >
|
||||||
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> > Pods >
|
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> > Pods >
|
||||||
|
|
|
@ -37,19 +37,19 @@
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<p ng-if="ctrl.state.alreadyExist"
|
<p ng-if="ctrl.state.alreadyExist"
|
||||||
><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> A configuration with the same name already exists inside the selected resource pool.</p
|
><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> A configuration with the same name already exists inside the selected namespace.</p
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- !name -->
|
<!-- !name -->
|
||||||
|
|
||||||
<div class="col-sm-12 form-section-title">
|
<div class="col-sm-12 form-section-title">
|
||||||
Resource pool
|
Namespace
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- resource-pool -->
|
<!-- resource-pool -->
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="resource-pool-selector" class="col-sm-1 control-label text-left">Resource pool</label>
|
<label for="resource-pool-selector" class="col-sm-1 control-label text-left">Namespace</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<select
|
<select
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
@ -62,8 +62,8 @@
|
||||||
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && ctrl.resourceQuotaCapacityExceeded()">
|
<div class="form-group" ng-if="ctrl.state.resourcePoolHasQuota && ctrl.resourceQuotaCapacityExceeded()">
|
||||||
<div class="col-sm-12 small text-warning">
|
<div class="col-sm-12 small text-warning">
|
||||||
<i class="fa fa-exclamation-triangle orange-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-exclamation-triangle orange-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
This resource pool has exhausted its resource capacity and you will not be able to deploy the configuration. Contact your administrator to expand the capacity of
|
This namespace has exhausted its resource capacity and you will not be able to deploy the configuration. Contact your administrator to expand the capacity of the
|
||||||
the resource pool.
|
namespace.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- !resource-pool -->
|
<!-- !resource-pool -->
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Configuration details" state="kubernetes.configurations.configuration" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Configuration details" state="kubernetes.configurations.configuration" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.configuration.Namespace })">{{ ctrl.configuration.Namespace }}</a> >
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.configuration.Namespace })">{{ ctrl.configuration.Namespace }}</a> >
|
||||||
<a ui-sref="kubernetes.configurations">Configurations</a> > {{ ctrl.configuration.Name }}
|
<a ui-sref="kubernetes.configurations">Configurations</a> > {{ ctrl.configuration.Name }}
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Resource Pool</td>
|
<td>Namespace</td>
|
||||||
<td>
|
<td>
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.configuration.Namespace })">{{ ctrl.configuration.Namespace }}</a>
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.configuration.Namespace })">{{ ctrl.configuration.Namespace }}</a>
|
||||||
<span style="margin-left: 5px;" class="label label-info image-tag" ng-if="ctrl.isSystemNamespace()">system</span>
|
<span style="margin-left: 5px;" class="label label-info image-tag" ng-if="ctrl.isSystemNamespace()">system</span>
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<i class="fa fa-layer-group"></i>
|
<i class="fa fa-layer-group"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="title">{{ ctrl.pools.length }}</div>
|
<div class="title">{{ ctrl.pools.length }}</div>
|
||||||
<div class="comment">{{ ctrl.pools.length === 1 ? 'Resource pool' : 'Resource pools' }}</div>
|
<div class="comment">{{ ctrl.pools.length === 1 ? 'Namespace' : 'Namespaces' }}</div>
|
||||||
</rd-widget-body>
|
</rd-widget-body>
|
||||||
</rd-widget>
|
</rd-widget>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
<form class="form-horizontal" style="margin-top: 20px;">
|
<form class="form-horizontal" style="margin-top: 20px;">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="target_node" class="col-lg-1 col-sm-2 control-label text-left">Resource pool</label>
|
<label for="target_node" class="col-lg-1 col-sm-2 control-label text-left">Namespace</label>
|
||||||
<div class="col-lg-11 col-sm-10">
|
<div class="col-lg-11 col-sm-10">
|
||||||
<select class="form-control" ng-model="ctrl.formValues.Namespace" ng-options="namespace.Name as namespace.Name for namespace in ctrl.namespaces"></select>
|
<select class="form-control" ng-model="ctrl.formValues.Namespace" ng-options="namespace.Name as namespace.Name for namespace in ctrl.namespaces"></select>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -79,7 +79,7 @@ class KubernetesDeployController {
|
||||||
this.namespaces = namespaces;
|
this.namespaces = namespaces;
|
||||||
this.formValues.Namespace = this.namespaces[0].Name;
|
this.formValues.Namespace = this.namespaces[0].Name;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to load resource pools data');
|
this.Notifications.error('Failure', err, 'Unable to load namespaces data');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Resource pool access management" state="kubernetes.resourcePools.resourcePool.access" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Namespace access management" state="kubernetes.resourcePools.resourcePool.access" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({id: ctrl.pool.Namespace.Name})">{{ ctrl.pool.Namespace.Name }}</a> > Access management
|
<a ui-sref="kubernetes.resourcePools.resourcePool({id: ctrl.pool.Namespace.Name})">{{ ctrl.pool.Namespace.Name }}</a> > Access management
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
<div class="row" ng-if="ctrl.pool">
|
<div class="row" ng-if="ctrl.pool">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<rd-widget>
|
<rd-widget>
|
||||||
<rd-widget-header icon="fa-plug" title-text="Resource pool"></rd-widget-header>
|
<rd-widget-header icon="fa-plug" title-text="Namespace"></rd-widget-header>
|
||||||
<rd-widget-body classes="no-padding">
|
<rd-widget-body classes="no-padding">
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
|
@ -78,7 +78,7 @@ class KubernetesResourcePoolAccessController {
|
||||||
}
|
}
|
||||||
this.availableUsersAndTeams = _.without(endpointAccesses.authorizedUsersAndTeams, ...this.authorizedUsersAndTeams);
|
this.availableUsersAndTeams = _.without(endpointAccesses.authorizedUsersAndTeams, ...this.authorizedUsersAndTeams);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to retrieve resource pool information');
|
this.Notifications.error('Failure', err, 'Unable to retrieve namespace information');
|
||||||
} finally {
|
} finally {
|
||||||
this.state.viewReady = true;
|
this.state.viewReady = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Create a resource pool" state="kubernetes.resourcePools.new" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Create a namespace" state="kubernetes.resourcePools.new" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> > Create a resource pool
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> > Create a namespace
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
|
||||||
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
|
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
with an alphanumeric character.</p
|
with an alphanumeric character.</p
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<p ng-if="ctrl.state.isAlreadyExist"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> A resource pool with the same name already exists.</p>
|
<p ng-if="ctrl.state.isAlreadyExist"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> A namespace with the same name already exists.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- #endregion -->
|
<!-- #endregion -->
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
<div class="col-sm-12 small text-muted">
|
<div class="col-sm-12 small text-muted">
|
||||||
<p>
|
<p>
|
||||||
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
A resource pool segments the underyling physical Kubernetes cluster into smaller virtual clusters. You should assign a capped limit of resources to this pool or
|
A namespace segments the underyling physical Kubernetes cluster into smaller virtual clusters. You should assign a capped limit of resources to this pool or
|
||||||
disable for the safe operation of your platform.
|
disable for the safe operation of your platform.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -137,8 +137,8 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<span class="col-sm-12 text-muted small">
|
<span class="col-sm-12 text-muted small">
|
||||||
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
You can set a quota on the amount of external load balancers that can be created inside this resource pool. Set this quota to 0 to effectively disable the use of
|
You can set a quota on the amount of external load balancers that can be created inside this namespace. Set this quota to 0 to effectively disable the use of load
|
||||||
load balancers in this resource pool.
|
balancers in this namespace.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
@ -164,7 +164,7 @@
|
||||||
<span class="col-sm-12 text-muted small">
|
<span class="col-sm-12 text-muted small">
|
||||||
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
Quotas can be set on each storage option to prevent users from exceeding a specific threshold when deploying applications. You can set a quota to 0 to effectively
|
Quotas can be set on each storage option to prevent users from exceeding a specific threshold when deploying applications. You can set a quota to 0 to effectively
|
||||||
prevent the usage of a specific storage option inside this resource pool.
|
prevent the usage of a specific storage option inside this namespace.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-12 form-section-title">
|
<div class="col-sm-12 form-section-title">
|
||||||
|
@ -195,7 +195,7 @@
|
||||||
<div class="col-sm-12 small text-muted">
|
<div class="col-sm-12 small text-muted">
|
||||||
The ingress feature must be enabled in the
|
The ingress feature must be enabled in the
|
||||||
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: ctrl.endpoint.Id})">endpoint configuration view</a> to be able to register ingresses inside this
|
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: ctrl.endpoint.Id})">endpoint configuration view</a> to be able to register ingresses inside this
|
||||||
resource pool.
|
namespace.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@
|
||||||
Hostnames
|
Hostnames
|
||||||
<portainer-tooltip
|
<portainer-tooltip
|
||||||
position="bottom"
|
position="bottom"
|
||||||
message="Hostnames associated to the ingress inside this resource pool. Users will be able to expose and access their applications over the ingress via one of these hostname."
|
message="Hostnames associated to the ingress inside this namespace. Users will be able to expose and access their applications over the ingress via one of these hostname."
|
||||||
>
|
>
|
||||||
</portainer-tooltip>
|
</portainer-tooltip>
|
||||||
</label>
|
</label>
|
||||||
|
@ -351,7 +351,7 @@
|
||||||
ng-click="ctrl.createResourcePool()"
|
ng-click="ctrl.createResourcePool()"
|
||||||
button-spinner="ctrl.state.actionInProgress"
|
button-spinner="ctrl.state.actionInProgress"
|
||||||
>
|
>
|
||||||
<span ng-hide="ctrl.state.actionInProgress">Create resource pool</span>
|
<span ng-hide="ctrl.state.actionInProgress">Create namespace</span>
|
||||||
<span ng-show="ctrl.state.actionInProgress">Creation in progress...</span>
|
<span ng-show="ctrl.state.actionInProgress">Creation in progress...</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -115,7 +115,7 @@ class KubernetesCreateResourcePoolController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #region CREATE RESOURCE POOL */
|
/* #region CREATE NAMESPACE */
|
||||||
async createResourcePoolAsync() {
|
async createResourcePoolAsync() {
|
||||||
this.state.actionInProgress = true;
|
this.state.actionInProgress = true;
|
||||||
try {
|
try {
|
||||||
|
@ -123,10 +123,10 @@ class KubernetesCreateResourcePoolController {
|
||||||
const owner = this.Authentication.getUserDetails().username;
|
const owner = this.Authentication.getUserDetails().username;
|
||||||
this.formValues.Owner = owner;
|
this.formValues.Owner = owner;
|
||||||
await this.KubernetesResourcePoolService.create(this.formValues);
|
await this.KubernetesResourcePoolService.create(this.formValues);
|
||||||
this.Notifications.success('Resource pool successfully created', this.formValues.Name);
|
this.Notifications.success('Namespace successfully created', this.formValues.Name);
|
||||||
this.$state.go('kubernetes.resourcePools');
|
this.$state.go('kubernetes.resourcePools');
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to create resource pool');
|
this.Notifications.error('Failure', err, 'Unable to create namespace');
|
||||||
} finally {
|
} finally {
|
||||||
this.state.actionInProgress = false;
|
this.state.actionInProgress = false;
|
||||||
}
|
}
|
||||||
|
@ -151,12 +151,12 @@ class KubernetesCreateResourcePoolController {
|
||||||
}
|
}
|
||||||
/* #endregion */
|
/* #endregion */
|
||||||
|
|
||||||
/* #region GET RESOURCE POOLS */
|
/* #region GET NAMESPACES */
|
||||||
async getResourcePoolsAsync() {
|
async getResourcePoolsAsync() {
|
||||||
try {
|
try {
|
||||||
this.resourcePools = await this.KubernetesResourcePoolService.get();
|
this.resourcePools = await this.KubernetesResourcePoolService.get();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to retrieve resource pools');
|
this.Notifications.error('Failure', err, 'Unable to retrieve namespaces');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Resource pool details" state="kubernetes.resourcePools.resourcePool" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Namespace details" state="kubernetes.resourcePools.resourcePool" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> > {{ ctrl.pool.Namespace.Name }}
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> > {{ ctrl.pool.Namespace.Name }}
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
|
||||||
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
|
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
<rd-widget-body classes="no-padding">
|
<rd-widget-body classes="no-padding">
|
||||||
<uib-tabset active="ctrl.state.activeTab" justified="true" type="pills">
|
<uib-tabset active="ctrl.state.activeTab" justified="true" type="pills">
|
||||||
<uib-tab index="0" classes="btn-sm" select="ctrl.selectTab(0)">
|
<uib-tab index="0" classes="btn-sm" select="ctrl.selectTab(0)">
|
||||||
<uib-tab-heading> <i class="fa fa-layer-group space-right" aria-hidden="true"></i> Resource pool </uib-tab-heading>
|
<uib-tab-heading> <i class="fa fa-layer-group space-right" aria-hidden="true"></i> Namespace </uib-tab-heading>
|
||||||
<form class="form-horizontal" autocomplete="off" name="resourcePoolEditForm" style="padding: 20px; margin-top: 10px;">
|
<form class="form-horizontal" autocomplete="off" name="resourcePoolEditForm" style="padding: 20px; margin-top: 10px;">
|
||||||
<!-- name-input -->
|
<!-- name-input -->
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
<div ng-if="ctrl.formValues.HasQuota">
|
<div ng-if="ctrl.formValues.HasQuota">
|
||||||
<kubernetes-resource-reservation
|
<kubernetes-resource-reservation
|
||||||
ng-if="ctrl.pool.Quota"
|
ng-if="ctrl.pool.Quota"
|
||||||
description="Resource reservation represents the total amount of resource assigned to all the applications deployed inside this resource pool."
|
description="Resource reservation represents the total amount of resource assigned to all the applications deployed inside this namespace."
|
||||||
cpu="ctrl.state.cpuUsed"
|
cpu="ctrl.state.cpuUsed"
|
||||||
memory="ctrl.state.memoryUsed"
|
memory="ctrl.state.memoryUsed"
|
||||||
cpu-limit="ctrl.formValues.CpuLimit"
|
cpu-limit="ctrl.formValues.CpuLimit"
|
||||||
|
@ -128,8 +128,8 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<span class="col-sm-12 text-muted small">
|
<span class="col-sm-12 text-muted small">
|
||||||
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
You can set a quota on the amount of external load balancers that can be created inside this resource pool. Set this quota to 0 to effectively disable the use
|
You can set a quota on the amount of external load balancers that can be created inside this namespace. Set this quota to 0 to effectively disable the use of
|
||||||
of load balancers in this resource pool.
|
load balancers in this namespace.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
@ -154,7 +154,7 @@
|
||||||
<div class="col-sm-12 small text-muted">
|
<div class="col-sm-12 small text-muted">
|
||||||
The ingress feature must be enabled in the
|
The ingress feature must be enabled in the
|
||||||
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: ctrl.endpoint.Id})">endpoint configuration view</a> to be able to register ingresses inside
|
<a ui-sref="portainer.endpoints.endpoint.kubernetesConfig({id: ctrl.endpoint.Id})">endpoint configuration view</a> to be able to register ingresses inside
|
||||||
this resource pool.
|
this namespace.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@
|
||||||
Hostnames
|
Hostnames
|
||||||
<portainer-tooltip
|
<portainer-tooltip
|
||||||
position="bottom"
|
position="bottom"
|
||||||
message="Hostnames associated to the ingress inside this resource pool. Users will be able to expose and access their applications over the ingress via one of these hostname."
|
message="Hostnames associated to the ingress inside this namespace. Users will be able to expose and access their applications over the ingress via one of these hostname."
|
||||||
>
|
>
|
||||||
</portainer-tooltip>
|
</portainer-tooltip>
|
||||||
</label>
|
</label>
|
||||||
|
@ -307,7 +307,7 @@
|
||||||
<span class="col-sm-12 text-muted small">
|
<span class="col-sm-12 text-muted small">
|
||||||
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
<i class="fa fa-info-circle blue-icon" aria-hidden="true" style="margin-right: 2px;"></i>
|
||||||
Quotas can be set on each storage option to prevent users from exceeding a specific threshold when deploying applications. You can set a quota to 0 to
|
Quotas can be set on each storage option to prevent users from exceeding a specific threshold when deploying applications. You can set a quota to 0 to
|
||||||
effectively prevent the usage of a specific storage option inside this resource pool.
|
effectively prevent the usage of a specific storage option inside this namespace.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-12 form-section-title">
|
<div class="col-sm-12 form-section-title">
|
||||||
|
@ -342,7 +342,7 @@
|
||||||
ng-click="ctrl.updateResourcePool()"
|
ng-click="ctrl.updateResourcePool()"
|
||||||
button-spinner="ctrl.state.actionInProgress"
|
button-spinner="ctrl.state.actionInProgress"
|
||||||
>
|
>
|
||||||
<span ng-hide="ctrl.state.actionInProgress">Update resource pool</span>
|
<span ng-hide="ctrl.state.actionInProgress">Update namespace</span>
|
||||||
<span ng-show="ctrl.state.actionInProgress">Update in progress...</span>
|
<span ng-show="ctrl.state.actionInProgress">Update in progress...</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -389,7 +389,7 @@
|
||||||
order-by="Name"
|
order-by="Name"
|
||||||
refresh-callback="ctrl.getApplications"
|
refresh-callback="ctrl.getApplications"
|
||||||
loading="ctrl.state.applicationsLoading"
|
loading="ctrl.state.applicationsLoading"
|
||||||
title-text="Applications running in this resource pool"
|
title-text="Applications running in this namespace"
|
||||||
title-icon="fa-laptop-code"
|
title-icon="fa-laptop-code"
|
||||||
>
|
>
|
||||||
</kubernetes-resource-pool-applications-datatable>
|
</kubernetes-resource-pool-applications-datatable>
|
||||||
|
|
|
@ -179,16 +179,16 @@ class KubernetesResourcePoolController {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #region UPDATE RESOURCE POOL */
|
/* #region UPDATE NAMESPACE */
|
||||||
async updateResourcePoolAsync() {
|
async updateResourcePoolAsync() {
|
||||||
this.state.actionInProgress = true;
|
this.state.actionInProgress = true;
|
||||||
try {
|
try {
|
||||||
this.checkDefaults();
|
this.checkDefaults();
|
||||||
await this.KubernetesResourcePoolService.patch(this.savedFormValues, this.formValues);
|
await this.KubernetesResourcePoolService.patch(this.savedFormValues, this.formValues);
|
||||||
this.Notifications.success('Resource pool successfully updated', this.pool.Namespace.Name);
|
this.Notifications.success('Namespace successfully updated', this.pool.Namespace.Name);
|
||||||
this.$state.reload();
|
this.$state.reload();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to create resource pool');
|
this.Notifications.error('Failure', err, 'Unable to create namespace');
|
||||||
} finally {
|
} finally {
|
||||||
this.state.actionInProgress = false;
|
this.state.actionInProgress = false;
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,7 @@ class KubernetesResourcePoolController {
|
||||||
if (warnings.quota || warnings.ingress) {
|
if (warnings.quota || warnings.ingress) {
|
||||||
const messages = {
|
const messages = {
|
||||||
quota:
|
quota:
|
||||||
'Reducing the quota assigned to an "in-use" resource pool may have unintended consequences, including preventing running applications from functioning correctly and potentially even blocking them from running at all.',
|
'Reducing the quota assigned to an "in-use" namespace may have unintended consequences, including preventing running applications from functioning correctly and potentially even blocking them from running at all.',
|
||||||
ingress: 'Deactivating ingresses may cause applications to be unaccessible. All ingress configurations from affected applications will be removed.',
|
ingress: 'Deactivating ingresses may cause applications to be unaccessible. All ingress configurations from affected applications will be removed.',
|
||||||
};
|
};
|
||||||
const displayedMessage = `${warnings.quota ? messages.quota : ''}${warnings.quota && warnings.ingress ? '<br/><br/>' : ''}
|
const displayedMessage = `${warnings.quota ? messages.quota : ''}${warnings.quota && warnings.ingress ? '<br/><br/>' : ''}
|
||||||
|
@ -232,7 +232,7 @@ class KubernetesResourcePoolController {
|
||||||
this.events = await this.KubernetesEventService.get(this.pool.Namespace.Name);
|
this.events = await this.KubernetesEventService.get(this.pool.Namespace.Name);
|
||||||
this.state.eventWarningCount = KubernetesEventHelper.warningCount(this.events);
|
this.state.eventWarningCount = KubernetesEventHelper.warningCount(this.events);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to retrieve resource pool related events');
|
this.Notifications.error('Failure', err, 'Unable to retrieve namespace related events');
|
||||||
} finally {
|
} finally {
|
||||||
this.state.eventsLoading = false;
|
this.state.eventsLoading = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Resource pool list" state="kubernetes.resourcePools" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Namespace list" state="kubernetes.resourcePools" view-ready="ctrl.state.viewReady">
|
||||||
Resource pools
|
Namespaces
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
|
||||||
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
|
<kubernetes-view-loading view-ready="ctrl.state.viewReady"></kubernetes-view-loading>
|
||||||
|
|
|
@ -21,11 +21,11 @@ class KubernetesResourcePoolsController {
|
||||||
for (const pool of selectedItems) {
|
for (const pool of selectedItems) {
|
||||||
try {
|
try {
|
||||||
await this.KubernetesResourcePoolService.delete(pool);
|
await this.KubernetesResourcePoolService.delete(pool);
|
||||||
this.Notifications.success('Resource pool successfully removed', pool.Namespace.Name);
|
this.Notifications.success('Namespace successfully removed', pool.Namespace.Name);
|
||||||
const index = this.resourcePools.indexOf(pool);
|
const index = this.resourcePools.indexOf(pool);
|
||||||
this.resourcePools.splice(index, 1);
|
this.resourcePools.splice(index, 1);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to remove resource pool');
|
this.Notifications.error('Failure', err, 'Unable to remove namespace');
|
||||||
} finally {
|
} finally {
|
||||||
--actionCount;
|
--actionCount;
|
||||||
if (actionCount === 0) {
|
if (actionCount === 0) {
|
||||||
|
@ -37,7 +37,7 @@ class KubernetesResourcePoolsController {
|
||||||
|
|
||||||
removeAction(selectedItems) {
|
removeAction(selectedItems) {
|
||||||
this.ModalService.confirmDeletion(
|
this.ModalService.confirmDeletion(
|
||||||
'Do you want to remove the selected resource pool(s)? All the resources associated to the selected resource pool(s) will be removed too.',
|
'Do you want to remove the selected namespace(s)? All the resources associated to the selected namespace(s) will be removed too.',
|
||||||
(confirmed) => {
|
(confirmed) => {
|
||||||
if (confirmed) {
|
if (confirmed) {
|
||||||
return this.$async(this.removeActionAsync, selectedItems);
|
return this.$async(this.removeActionAsync, selectedItems);
|
||||||
|
@ -50,7 +50,7 @@ class KubernetesResourcePoolsController {
|
||||||
try {
|
try {
|
||||||
this.resourcePools = await this.KubernetesResourcePoolService.get();
|
this.resourcePools = await this.KubernetesResourcePoolService.get();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to retreive resource pools');
|
this.Notifications.error('Failure', err, 'Unable to retreive namespaces');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Stacks logs" state="kubernetes.stacks.stack.logs" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Stacks logs" state="kubernetes.stacks.stack.logs" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a>
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a>
|
||||||
> <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.state.transition.namespace })">{{ ctrl.state.transition.namespace }}</a> >
|
> <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.state.transition.namespace })">{{ ctrl.state.transition.namespace }}</a> >
|
||||||
<a ui-sref="kubernetes.applications">Applications</a> > Stacks > {{ ctrl.state.transition.name }} > Logs
|
<a ui-sref="kubernetes.applications">Applications</a> > Stacks > {{ ctrl.state.transition.name }} > Logs
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<kubernetes-view-header title="Volume details" state="kubernetes.volumes.volume" view-ready="ctrl.state.viewReady">
|
<kubernetes-view-header title="Volume details" state="kubernetes.volumes.volume" view-ready="ctrl.state.viewReady">
|
||||||
<a ui-sref="kubernetes.resourcePools">Resource pools</a> >
|
<a ui-sref="kubernetes.resourcePools">Namespaces</a> >
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.volume.ResourcePool.Namespace.Name })">{{ ctrl.volume.ResourcePool.Namespace.Name }}</a> >
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.volume.ResourcePool.Namespace.Name })">{{ ctrl.volume.ResourcePool.Namespace.Name }}</a> >
|
||||||
<a ui-sref="kubernetes.volumes">Volumes</a> > {{ ctrl.volume.PersistentVolumeClaim.Name }}
|
<a ui-sref="kubernetes.volumes">Volumes</a> > {{ ctrl.volume.PersistentVolumeClaim.Name }}
|
||||||
</kubernetes-view-header>
|
</kubernetes-view-header>
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Resource pool</td>
|
<td>Namespace</td>
|
||||||
<td>
|
<td>
|
||||||
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.volume.ResourcePool.Namespace.Name })">{{ ctrl.volume.ResourcePool.Namespace.Name }}</a>
|
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.volume.ResourcePool.Namespace.Name })">{{ ctrl.volume.ResourcePool.Namespace.Name }}</a>
|
||||||
<span style="margin-left: 5px;" class="label label-info image-tag" ng-if="ctrl.isSystemNamespace(item)">system</span>
|
<span style="margin-left: 5px;" class="label label-info image-tag" ng-if="ctrl.isSystemNamespace(item)">system</span>
|
||||||
|
|
|
@ -98,7 +98,7 @@ class KubernetesVolumesController {
|
||||||
});
|
});
|
||||||
this.storages = buildStorages(storages, volumes);
|
this.storages = buildStorages(storages, volumes);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.Notifications.error('Failure', err, 'Unable to retreive resource pools');
|
this.Notifications.error('Failure', err, 'Unable to retreive namespaces');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue