自定义左侧导航

本指南说明如何通过修改 custom-navconfig-platformcustom-navconfig-project ConfigMap 来自定义 管理员视图项目视图 的左侧导航。


目录

配置位置

global 集群的 cpaas-system 命名空间 中,可以找到:

  • custom-navconfig-platform:用于 管理员视图 导航自定义
  • custom-navconfig-project:用于 项目视图 导航自定义

基本操作示例

示例:隐藏 Licenses 菜单

要在 管理员视图 中隐藏 Licenses,请在 custom-navconfig-platform 中添加如下内容:

apiVersion: v1
data:
  buildIn: |
    {
      "license_manage": {
        "hidden": true
      }
    }
kind: ConfigMap
metadata:
  name: custom-navconfig-platform
  namespace: cpaas-system

字段说明

  • buildIn:修改内置导航。
  • license_manage:Licenses 菜单。
  • hidden: true:隐藏该导航项。

编辑后刷新浏览器即可看到更改。


支持的自定义功能

您可以:

  • 隐藏导航项
  • 添加自定义顶级导航
  • 修改导航标签
  • 修改导航图标

示例配置:

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-navconfig-platform
  namespace: cpaas-system
data:
  buildIn: |
    {
      "<name>": {
        "label": "<示例名称>",
        "hidden": true
      }
    }
  customs: |
    [
      {
        "label": "<示例>",
        "iconData": "<Base64 编码的图标>",
        "hidden": false,
        "href": "http://www.example.com"
      }
    ]

参考

导航配置结构示例

以下 YAML 展示了 带注释的导航结构语法,帮助用户理解如何编写和理解导航配置:

- name: cluster         # 顶级导航名称。若无翻译,则显示该名称。
  icon: basic:server_s  # (可选)导航图标。
  children:
    - name: cluster     # 子导航名称。无翻译时原样显示。
      href: cluster     # 导航链接。非平台功能请使用绝对 URL(http:// 或 https://)。
    - name: resource_management
      href: resource_management

# 若无 `children` 字段,可定义直接链接,例如:
- name: notification    # 顶级导航名称
  icon: basic:notice_s  # (可选)图标
  href: notification    # 导航链接,可为内部路由或外部 URL
  label: Notification    # (可选)显示标签;设置后覆盖翻译
  gate: notification    # (可选)控制显示的功能开关
  • name:导航唯一标识。无翻译时原样显示。
  • icon:可选导航图标。
  • children:子导航列表。
  • href:路由路径或外部 URL。
  • label:可选显示标签,覆盖默认翻译。
  • gate:可选功能开关,控制导航项是否显示。

默认左侧导航

以下为 完整的 namehrefgate 及结构参考,可直接复制修改。

管理员视图

# 集群
- name: cluster_management
  icon: server
  children:
    # 集群
    - name: clusters
      href: cluster-management/cluster
    # 云凭证
    - name: cloud_credentials
      href: cluster-management/cloud-credential
    # CRDs
    - name: crds
      href: $cluster/cluster-management/crd
    # 资源
    - name: resource_management
      href: $cluster/cluster-management/resource
      gate: acp-safemode
      negate: true
    # 备份与恢复
    - name: backup_recover
      gate: backup-recovery
      children:
        - name: backup_manage
          href: $cluster/cluster-management/backup-restore/backup-manage
        - name: restore_manage
          href: $cluster/cluster-management/backup-restore/restore-manage
        - name: backup_warehouse
          href: cluster-management/backup-restore/backup-warehouse
    # 配置
    - name: cluster_config_manage
      href: cluster-management/config-manage
      gate: config-manage

# 网络
- name: network_management
  icon: internet
  children:
    # 域名
    - name: domains
      href: network-management/domain
    # 证书
    - name: certificates
      href: network-management/certificate
    # 子网
    - name: subnets
      href: $cluster/network-management/subnet
      publicCloud: false
      gate: acp-safemode
      negate: true
    # 桥接网络
    - name: bridge_network
      href: $cluster/network-management/bridge-network
      publicCloud: false
      gate: acp-safemode
      negate: true
    # VLAN
    - name: vlan
      href: $cluster/network-management/vlan
      publicCloud: false
      gate: acp-safemode
      negate: true
    # 负载均衡器
    - name: alb2
      gate: alb2
      href: $cluster/network-management/load-balancer
    # 网络策略
    - name: cluster_network_policy
      href: $cluster/network-management/cluster-network-policy
      gate: cluster-network-policy

# 存储
- name: storage_management
  icon: storage
  children:
    # StorageClasses
    - name: storageclasses
      href: $cluster/storage-management/storageclass
    # PersistentVolumes
    - name: nav_pv
      href: $cluster/storage-management/pv
    # 对象存储类
    - name: object_storage_class
      href: $cluster/storage-management/object-storageclass
      gate: cosi
    # 存储桶
    - name: bucket
      href: $cluster/storage-management/bucket
      gate: cosi

# 安全设置
- name: security_setting
  icon: security
  children:
    # 节点隔离策略
    - name: node_isolation_policy
      href: $cluster/security-management/node-isolation-policy
      gate: node-isolation

# DevOps 工具链
- name: toolchain_management
  icon: devops_tools
  gate: katanomi
  href: /console-devops/platform/integration
# 流水线
- name: pipeline_management
  icon: pipeline
  gate: katanomi
  href: /console-devops/platform/jenkins-custom-template

# 证书
- name: platform_certificate_manage
  icon: certificate
  href: certificate
  gate: legacy-certificate-manage

# 系统设置
- name: platform_setting
  icon: platform_settings
  children:
    # 许可证
    - name: license_manage
      href: platform-setting/license
      gate: license-manage
    # 平台参数
    - name: platform_parameters
      href: platform-setting/params
    # 登录页
    - name: login_page
      href: platform-setting/login-page
    # 门户
    - name: portal
      href: platform-setting/portal
    # Logo
    - name: logo
      href: platform-setting/logo
    # 地域
    - name: manage_region
      href: platform-setting/manage-region
    # 平台维护
    - name: platform_ops
      href: platform-setting/online-ops

项目视图

# 概览
- name: project_overview
  icon: bar_chart
  href: overview

# 详情
- name: project_detail
  icon: project
  href: detail

# 成员
- name: project_member
  icon: member
  href: member

# DevOps 工具链
- name: toolchain_management
  icon: devops_tools
  gate: katanomi
  href: /console-devops/project/$project/integration
# 流水线
- name: pipeline_management
  icon: pipeline
  gate: katanomi
  href: /console-devops/project/$project/source-management