diff --git a/app/kubernetes/views/configure/configure.html b/app/kubernetes/views/configure/configure.html index d79e6bbe4..68a506561 100644 --- a/app/kubernetes/views/configure/configure.html +++ b/app/kubernetes/views/configure/configure.html @@ -132,7 +132,53 @@
- Metrics + Security +
+ +
+ + By default, all the users have access to the default namespace. Enable this option to set accesses on the default namespace. + +
+
+
+ + + + + This feature is available in Portainer Business Edition. + +
+
+ +
+ Resources and Metrics +
+ +
+ + By ENABLING resource over-commit, you are able to assign more resources to namespaces than is physically available in the cluster. This may lead to unexpected + deployment failures if there is insufficient resource to service demand. +

+ + By DISABLING resource over-commit (highly recommended), you are only able to assign resources to namespaces that are less (in aggregate) than the cluster total + minus any system resource reservation. +

+
+
+
+
+ + + + + This feature is available in Portainer Business Edition. + +
diff --git a/app/kubernetes/views/resource-pools/create/createResourcePool.html b/app/kubernetes/views/resource-pools/create/createResourcePool.html index 8bfa7db51..e2357da86 100644 --- a/app/kubernetes/views/resource-pools/create/createResourcePool.html +++ b/app/kubernetes/views/resource-pools/create/createResourcePool.html @@ -129,6 +129,63 @@
+ +
+ Load balancers +
+ +
+ + + 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 + load balancers in this resource pool. + +
+
+
+ + + + + This feature is available in Portainer Business Edition. + +
+
+ + + +
+ Storages +
+ +
+ + + 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. + +
+
+ + standard +
+
+
+ + + + + This feature is available in + Portainer Business Edition. + +
+
+ +
Ingresses diff --git a/app/kubernetes/views/resource-pools/edit/resourcePool.html b/app/kubernetes/views/resource-pools/edit/resourcePool.html index 4076ea583..16a04f15e 100644 --- a/app/kubernetes/views/resource-pools/edit/resourcePool.html +++ b/app/kubernetes/views/resource-pools/edit/resourcePool.html @@ -250,6 +250,63 @@
+ +
+ Load balancers +
+ +
+ + + 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 load balancers in this resource pool. + +
+
+
+ + + + + This feature is available in Portainer Business Edition. + +
+
+ + + +
+ Storages +
+ +
+ + + 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. + +
+
+ + standard +
+
+
+ + + + + This feature is available in + Portainer Business Edition. + +
+
+ +
Actions diff --git a/app/portainer/__module.js b/app/portainer/__module.js index f615d488e..b8f01310c 100644 --- a/app/portainer/__module.js +++ b/app/portainer/__module.js @@ -392,6 +392,16 @@ angular.module('portainer.app', ['portainer.oauth']).config([ }, }; + var roles = { + name: 'portainer.roles', + url: '/roles', + views: { + 'content@': { + templateUrl: './views/roles/roles.html', + }, + }, + }; + $stateRegistryProvider.register(root); $stateRegistryProvider.register(endpointRoot); $stateRegistryProvider.register(portainer); @@ -422,6 +432,7 @@ angular.module('portainer.app', ['portainer.oauth']).config([ $stateRegistryProvider.register(user); $stateRegistryProvider.register(teams); $stateRegistryProvider.register(team); + $stateRegistryProvider.register(roles); }, ]); diff --git a/app/portainer/components/accessManagement/porAccessManagement.html b/app/portainer/components/accessManagement/porAccessManagement.html index 47319f0bb..011394d5f 100644 --- a/app/portainer/components/accessManagement/porAccessManagement.html +++ b/app/portainer/components/accessManagement/porAccessManagement.html @@ -28,6 +28,18 @@
+
+ +
+ + + This feature is available in Portainer Business Edition. + +
+
+
diff --git a/app/portainer/components/datatables/access-viewer-datatable/accessViewerDatatable.html b/app/portainer/components/datatables/access-viewer-datatable/accessViewerDatatable.html new file mode 100644 index 000000000..3eef02b90 --- /dev/null +++ b/app/portainer/components/datatables/access-viewer-datatable/accessViewerDatatable.html @@ -0,0 +1,26 @@ +
+ +
+ + + + + + + + + + + + + +
+ Endpoint + + Role + Access origin
Select a user to show associated access and role
+
+
diff --git a/app/portainer/components/datatables/access-viewer-datatable/accessViewerDatatable.js b/app/portainer/components/datatables/access-viewer-datatable/accessViewerDatatable.js new file mode 100644 index 000000000..39bf39f70 --- /dev/null +++ b/app/portainer/components/datatables/access-viewer-datatable/accessViewerDatatable.js @@ -0,0 +1,11 @@ +angular.module('portainer.app').component('accessViewerDatatable', { + templateUrl: './accessViewerDatatable.html', + controller: 'GenericDatatableController', + bindings: { + titleText: '@', + titleIcon: '@', + tableKey: '@', + orderBy: '@', + dataset: '<', + }, +}); diff --git a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html index 342102e5e..697e7fd47 100644 --- a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html +++ b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html @@ -66,6 +66,9 @@ Manage access + + Browse diff --git a/app/portainer/components/datatables/roles-datatable/rolesDatatable.html b/app/portainer/components/datatables/roles-datatable/rolesDatatable.html new file mode 100644 index 000000000..107e08fb6 --- /dev/null +++ b/app/portainer/components/datatables/roles-datatable/rolesDatatable.html @@ -0,0 +1,64 @@ +
+ + +
+
{{ $ctrl.titleText }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Name + + Description +
Endpoint administratorFull control of all resources in an endpoint
HelpdeskRead-only access of all resources in an endpoint
Read-only userRead-only access of assigned resources in an endpoint
Standard userFull control of assigned resources in an endpoint
+ +
+
+
+
diff --git a/app/portainer/components/datatables/roles-datatable/rolesDatatable.js b/app/portainer/components/datatables/roles-datatable/rolesDatatable.js new file mode 100644 index 000000000..3cb7cf24a --- /dev/null +++ b/app/portainer/components/datatables/roles-datatable/rolesDatatable.js @@ -0,0 +1,12 @@ +angular.module('portainer.app').component('rolesDatatable', { + templateUrl: './rolesDatatable.html', + controller: 'GenericDatatableController', + bindings: { + titleText: '@', + titleIcon: '@', + dataset: '<', + tableKey: '@', + orderBy: '@', + reverseOrder: '<', + }, +}); diff --git a/app/portainer/views/roles/roles.html b/app/portainer/views/roles/roles.html new file mode 100644 index 000000000..a595909f1 --- /dev/null +++ b/app/portainer/views/roles/roles.html @@ -0,0 +1,56 @@ + + + + + + + Role management + + + + +

+ + This feature is available in Portainer Business Edition. +

+
+
+ +
+
+ +
+
+ +
+
+ + + +
+
+ User +
+
+
+ + No user available + +
+
+ +
+ Access +
+
+
+ + Effective role for each endpoint will be displayed for the selected user +
+
+ +
+
+
+
+
diff --git a/app/portainer/views/settings/authentication/settingsAuthentication.html b/app/portainer/views/settings/authentication/settingsAuthentication.html index 0ecab33e1..9ceca1874 100644 --- a/app/portainer/views/settings/authentication/settingsAuthentication.html +++ b/app/portainer/views/settings/authentication/settingsAuthentication.html @@ -366,6 +366,57 @@
+
+
+ Provider +
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ diff --git a/app/portainer/views/sidebar/sidebar.html b/app/portainer/views/sidebar/sidebar.html index ca89daa22..d1d181d92 100644 --- a/app/portainer/views/sidebar/sidebar.html +++ b/app/portainer/views/sidebar/sidebar.html @@ -120,11 +120,25 @@ ($state.current.name === 'portainer.users' || $state.current.name === 'portainer.users.user' || $state.current.name === 'portainer.teams' || - $state.current.name === 'portainer.teams.team') + $state.current.name === 'portainer.teams.team' || + $state.current.name === 'portainer.roles') " > Teams
+