mirror of https://github.com/rancher/ui.git
307 lines
8.0 KiB
JavaScript
307 lines
8.0 KiB
JavaScript
import { getProjectId, getClusterId, bulkAdd } from 'ui/utils/navigation-tree';
|
|
|
|
const rootNav = [
|
|
// Project
|
|
{
|
|
scope: 'project',
|
|
id: 'containers',
|
|
localizedLabel: 'nav.containers.tab',
|
|
route: 'authenticated.project.index',
|
|
ctx: [getProjectId],
|
|
onlyCurrentWhen: ['containers','ingresses','authenticated.project.dns','volumes', 'authenticated.project.pipeline'],
|
|
resource: ["workload", "ingress", "dnsrecord"],
|
|
resourceScope: 'project',
|
|
},
|
|
|
|
{
|
|
scope: 'project',
|
|
id: 'project-apps',
|
|
localizedLabel: 'nav.apps.tab',
|
|
route: 'apps-tab',
|
|
ctx: [getProjectId],
|
|
resource: ["app"],
|
|
resourceScope: 'project',
|
|
},
|
|
{
|
|
scope: 'project',
|
|
id: 'infra',
|
|
localizedLabel: 'nav.infra.tab',
|
|
ctx: [getProjectId],
|
|
submenu: [
|
|
{
|
|
id: 'infra-certificates',
|
|
localizedLabel: 'nav.infra.certificates',
|
|
icon: 'icon icon-certificate',
|
|
route: 'authenticated.project.certificates',
|
|
ctx: [getProjectId],
|
|
resource: ["certificate"],
|
|
resourceScope: 'project',
|
|
},
|
|
{
|
|
id: 'infra-registries',
|
|
localizedLabel: 'nav.infra.registries',
|
|
icon: 'icon icon-database',
|
|
route: 'authenticated.project.registries',
|
|
ctx: [getProjectId],
|
|
resource: ["dockercredential"],
|
|
resourceScope: 'project',
|
|
},
|
|
{
|
|
id: 'infra-secrets',
|
|
localizedLabel: 'nav.infra.secrets',
|
|
icon: 'icon icon-secrets',
|
|
route: 'authenticated.project.secrets',
|
|
ctx: [getProjectId],
|
|
resource: ["namespacedsecret", "secret"],
|
|
resourceScope: 'project',
|
|
},
|
|
// {
|
|
// id: 'infra-hooks',
|
|
// localizedLabel: 'nav.infra.hooks',
|
|
// icon: 'icon icon-link',
|
|
// route: 'authenticated.project.hooks',
|
|
// ctx: [getProjectId],
|
|
// },
|
|
],
|
|
},
|
|
{
|
|
scope: 'project',
|
|
id: 'project-security-roles',
|
|
localizedLabel: 'nav.infra.members',
|
|
icon: 'icon icon-users',
|
|
route: 'authenticated.project.security.members.index',
|
|
resource: ['projectroletemplatebinding'],
|
|
resourceScope: 'global',
|
|
ctx: [getProjectId],
|
|
},
|
|
{
|
|
scope: 'project',
|
|
id: 'project-tools',
|
|
localizedLabel: 'nav.tools.tab',
|
|
ctx: [getProjectId],
|
|
submenu: [
|
|
{
|
|
id: 'tools-alerts',
|
|
localizedLabel: 'nav.tools.alerts',
|
|
// icon: 'icon icon-key',
|
|
route: 'authenticated.project.alert',
|
|
resource: [],
|
|
ctx: [getProjectId],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
id: 'tools-logging',
|
|
localizedLabel: 'nav.tools.logging',
|
|
// icon: 'icon icon-key',
|
|
route: 'authenticated.project.logging',
|
|
resourceScope: 'global',
|
|
resource: [],
|
|
ctx: [getProjectId],
|
|
},
|
|
],
|
|
},
|
|
// Cluster
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-k8s',
|
|
localizedLabel: 'nav.cluster.dashboard',
|
|
route: 'authenticated.cluster.index',
|
|
ctx: [getClusterId],
|
|
resource: ['node'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-nodes',
|
|
localizedLabel: 'nav.cluster.nodes',
|
|
route: 'authenticated.cluster.nodes',
|
|
ctx: [getClusterId],
|
|
resource: ['node'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-storage',
|
|
localizedLabel: 'nav.cluster.storage.tab',
|
|
ctx: [getClusterId],
|
|
resource: ['clusterroletemplatebinding'],
|
|
resourceScope: 'global',
|
|
route: 'authenticated.cluster.storage',
|
|
submenu: [
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-storage-volumes',
|
|
localizedLabel: 'nav.cluster.storage.volumes',
|
|
route: 'authenticated.cluster.storage.persistent-volumes.index',
|
|
ctx: [getClusterId],
|
|
resource: ['project'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-storage-classes',
|
|
localizedLabel: 'nav.cluster.storage.classes',
|
|
route: 'authenticated.cluster.storage.classes.index',
|
|
ctx: [getClusterId],
|
|
resource: ['project'],
|
|
resourceScope: 'global',
|
|
},
|
|
]
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-projects',
|
|
localizedLabel: 'nav.cluster.projects',
|
|
route: 'authenticated.cluster.projects.index',
|
|
ctx: [getClusterId],
|
|
resource: ['project'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-namespaces',
|
|
localizedLabel: 'nav.cluster.namespaces',
|
|
route: 'authenticated.cluster.ns.index',
|
|
ctx: [getClusterId],
|
|
resource: ['namespace'],
|
|
resourceScope: 'cluster',
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-security-roles',
|
|
localizedLabel: 'nav.cluster.members',
|
|
icon: 'icon icon-users',
|
|
route: 'authenticated.cluster.security.members.index',
|
|
resource: ['clusterroletemplatebinding'],
|
|
resourceScope: 'global',
|
|
ctx: [getClusterId],
|
|
},
|
|
{
|
|
scope: 'cluster',
|
|
id: 'cluster-tools',
|
|
localizedLabel: 'nav.tools.tab',
|
|
ctx: [getClusterId],
|
|
resource: [],
|
|
resourceScope: 'global',
|
|
submenu: [
|
|
{
|
|
id: 'cluster-tools-alert',
|
|
localizedLabel: 'nav.tools.alerts',
|
|
// icon: 'icon icon-key',
|
|
route: 'authenticated.cluster.alert',
|
|
resourceScope: 'global',
|
|
resource: [],
|
|
ctx: [getClusterId],
|
|
},
|
|
{
|
|
id: 'cluster-tools-notifiers',
|
|
localizedLabel: 'nav.tools.notifiers',
|
|
// icon: 'icon icon-key',
|
|
route: 'authenticated.cluster.notifier',
|
|
resourceScope: 'global',
|
|
resource: [],
|
|
ctx: [getClusterId],
|
|
},
|
|
{divider: true},
|
|
{
|
|
id: 'cluster-tools-logging',
|
|
localizedLabel: 'nav.tools.logging',
|
|
// icon: 'icon icon-key',
|
|
route: 'authenticated.cluster.logging',
|
|
resourceScope: 'global',
|
|
resource: [],
|
|
ctx: [getClusterId],
|
|
},
|
|
{divider: true},
|
|
{
|
|
id: 'cluster-tools-pipeline',
|
|
localizedLabel: 'nav.tools.pipeline',
|
|
route: 'authenticated.cluster.pipeline.settings',
|
|
ctx: [getClusterId],
|
|
resourceScope: 'cluster',
|
|
},
|
|
],
|
|
},
|
|
|
|
// Global
|
|
{
|
|
scope: 'global',
|
|
id: 'global-clusters',
|
|
localizedLabel: 'nav.admin.clusters',
|
|
route: 'global-admin.clusters',
|
|
resource: ['cluster'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'global',
|
|
id: 'global-node-drivers',
|
|
localizedLabel: 'nav.admin.nodeDrivers',
|
|
route: 'global-admin.node-drivers',
|
|
resource: ['nodedriver'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'global',
|
|
id: 'global-catalogs',
|
|
localizedLabel: 'nav.admin.catalogs',
|
|
route: 'global-admin.catalog',
|
|
resource: ['catalog'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'global',
|
|
id: 'global-accounts',
|
|
localizedLabel: 'nav.admin.accounts',
|
|
route: 'global-admin.accounts',
|
|
resource: ['user'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
scope: 'global',
|
|
id: 'global-security',
|
|
localizedLabel: 'nav.admin.security.tab',
|
|
route: 'global-admin.security',
|
|
submenu: [
|
|
{
|
|
id: 'global-security-roles',
|
|
localizedLabel: 'nav.admin.security.roles',
|
|
icon: 'icon icon-key',
|
|
route: 'global-admin.security.roles',
|
|
resource: ['roletemplate'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
id: 'global-security-roles',
|
|
localizedLabel: 'nav.admin.security.podSecurityPolicies',
|
|
icon: 'icon icon-files',
|
|
route: 'global-admin.security.policies',
|
|
resource: ['podsecuritypolicytemplate'],
|
|
resourceScope: 'global',
|
|
},
|
|
{
|
|
id: 'global-security-authentication',
|
|
localizedLabel: 'nav.admin.security.authentication',
|
|
icon: 'icon icon-users',
|
|
route: 'global-admin.security.authentication',
|
|
},
|
|
],
|
|
},
|
|
// {
|
|
// scope: 'global',
|
|
// id: 'global-advanced',
|
|
// localizedLabel: 'nav.admin.settings.advanced',
|
|
// route: 'global-admin.settings.advanced',
|
|
// disabled: true,
|
|
// },
|
|
]
|
|
|
|
export function initialize(/*appInstance*/) {
|
|
bulkAdd(rootNav);
|
|
}
|
|
|
|
export default {
|
|
name: 'nav',
|
|
initialize: initialize,
|
|
after: 'store',
|
|
};
|