1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Check is persistent volume claims resource to allowed for user (#1850)

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
Lauri Nevala 2020-12-28 08:08:11 +02:00 committed by GitHub
parent e8dc4d2465
commit ffa48b32d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 8 deletions

View File

@ -1,8 +1,8 @@
import { getHostedCluster } from "./cluster-store"; import { getHostedCluster } from "./cluster-store";
export type KubeResource = export type KubeResource =
"namespaces" | "nodes" | "events" | "resourcequotas" | "namespaces" | "nodes" | "events" | "resourcequotas" | "services" |
"services" | "secrets" | "configmaps" | "ingresses" | "networkpolicies" | "persistentvolumes" | "storageclasses" | "secrets" | "configmaps" | "ingresses" | "networkpolicies" | "persistentvolumeclaims" | "persistentvolumes" | "storageclasses" |
"pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" | "pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" |
"endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets"; "endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets";
@ -27,6 +27,7 @@ export const apiResources: KubeApiResource[] = [
{ resource: "networkpolicies", group: "networking.k8s.io" }, { resource: "networkpolicies", group: "networking.k8s.io" },
{ resource: "nodes" }, { resource: "nodes" },
{ resource: "persistentvolumes" }, { resource: "persistentvolumes" },
{ resource: "persistentvolumeclaims" },
{ resource: "pods" }, { resource: "pods" },
{ resource: "poddisruptionbudgets" }, { resource: "poddisruptionbudgets" },
{ resource: "podsecuritypolicies" }, { resource: "podsecuritypolicies" },

View File

@ -16,12 +16,14 @@ export class Storage extends React.Component {
const tabRoutes: TabLayoutRoute[] = []; const tabRoutes: TabLayoutRoute[] = [];
const query = namespaceUrlParam.toObjectParam(); const query = namespaceUrlParam.toObjectParam();
if (isAllowedResource("persistentvolumeclaims")) {
tabRoutes.push({ tabRoutes.push({
title: <Trans>Persistent Volume Claims</Trans>, title: <Trans>Persistent Volume Claims</Trans>,
component: PersistentVolumeClaims, component: PersistentVolumeClaims,
url: volumeClaimsURL({ query }), url: volumeClaimsURL({ query }),
routePath: volumeClaimsRoute.path.toString(), routePath: volumeClaimsRoute.path.toString(),
}); });
}
if (isAllowedResource("persistentvolumes")) { if (isAllowedResource("persistentvolumes")) {
tabRoutes.push({ tabRoutes.push({

View File

@ -11,6 +11,7 @@ export const ResourceNames: Record<KubeResource, string> = {
"configmaps": _i18n._("Config Maps"), "configmaps": _i18n._("Config Maps"),
"ingresses": _i18n._("Ingresses"), "ingresses": _i18n._("Ingresses"),
"networkpolicies": _i18n._("Network Policies"), "networkpolicies": _i18n._("Network Policies"),
"persistentvolumeclaims": _i18n._("Persistent Volume Claims"),
"persistentvolumes": _i18n._("Persistent Volumes"), "persistentvolumes": _i18n._("Persistent Volumes"),
"storageclasses": _i18n._("Storage Classes"), "storageclasses": _i18n._("Storage Classes"),
"pods": _i18n._("Pods"), "pods": _i18n._("Pods"),