feat(k8s): replace resource pool with name space

pull/5014/head
Chaim Lev-Ari 2021-04-27 11:12:34 +03:00
parent 3e60167aeb
commit 6734f0ab74
27 changed files with 78 additions and 78 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt;
<a ui-sref="kubernetes.applications">Applications</a> &gt; <a ui-sref="kubernetes.applications">Applications</a> &gt;
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; Pods &gt; <a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; Pods &gt;

View File

@ -2,7 +2,7 @@
<a ui-sref="kubernetes.applications">Applications</a> &gt; Create an application <a ui-sref="kubernetes.applications">Applications</a> &gt; 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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt;
<a ui-sref="kubernetes.applications">Applications</a> &gt; <a ui-sref="kubernetes.applications">Applications</a> &gt;
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; Edit <a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; 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>

View File

@ -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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt;
<a ui-sref="kubernetes.applications">Applications</a> &gt; {{ ctrl.application.Name }} <a ui-sref="kubernetes.applications">Applications</a> &gt; {{ 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>

View File

@ -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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.application.ResourcePool })">{{ ctrl.application.ResourcePool }}</a> &gt;
<a ui-sref="kubernetes.applications">Applications</a> &gt; <a ui-sref="kubernetes.applications">Applications</a> &gt;
<a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; Pods &gt; <a ui-sref="kubernetes.applications.application({ name: ctrl.application.Name, namespace: ctrl.application.ResourcePool })">{{ ctrl.application.Name }}</a> &gt; Pods &gt;

View File

@ -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 -->

View File

@ -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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.configuration.Namespace })">{{ ctrl.configuration.Namespace }}</a> &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.configuration.Namespace })">{{ ctrl.configuration.Namespace }}</a> &gt;
<a ui-sref="kubernetes.configurations">Configurations</a> &gt; {{ ctrl.configuration.Name }} <a ui-sref="kubernetes.configurations">Configurations</a> &gt; {{ 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>

View File

@ -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>

View File

@ -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>

View File

@ -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');
} }
} }

View File

@ -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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({id: ctrl.pool.Namespace.Name})">{{ ctrl.pool.Namespace.Name }}</a> &gt; Access management <a ui-sref="kubernetes.resourcePools.resourcePool({id: ctrl.pool.Namespace.Name})">{{ ctrl.pool.Namespace.Name }}</a> &gt; 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>

View File

@ -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;
} }

View File

@ -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> &gt; Create a resource pool <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt; 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>

View File

@ -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');
} }
} }

View File

@ -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> &gt; {{ ctrl.pool.Namespace.Name }} <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt; {{ 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>

View File

@ -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;
} }

View File

@ -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>

View File

@ -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');
} }
} }

View File

@ -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>
&gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.state.transition.namespace })">{{ ctrl.state.transition.namespace }}</a> &gt; &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.state.transition.namespace })">{{ ctrl.state.transition.namespace }}</a> &gt;
<a ui-sref="kubernetes.applications">Applications</a> &gt; Stacks &gt; {{ ctrl.state.transition.name }} &gt; Logs <a ui-sref="kubernetes.applications">Applications</a> &gt; Stacks &gt; {{ ctrl.state.transition.name }} &gt; Logs
</kubernetes-view-header> </kubernetes-view-header>

View File

@ -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> &gt; <a ui-sref="kubernetes.resourcePools">Namespaces</a> &gt;
<a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.volume.ResourcePool.Namespace.Name })">{{ ctrl.volume.ResourcePool.Namespace.Name }}</a> &gt; <a ui-sref="kubernetes.resourcePools.resourcePool({ id: ctrl.volume.ResourcePool.Namespace.Name })">{{ ctrl.volume.ResourcePool.Namespace.Name }}</a> &gt;
<a ui-sref="kubernetes.volumes">Volumes</a> &gt; {{ ctrl.volume.PersistentVolumeClaim.Name }} <a ui-sref="kubernetes.volumes">Volumes</a> &gt; {{ 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>

View File

@ -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');
} }
} }