Настройка левой навигации

В этом руководстве объясняется, как настроить левую навигацию в виде администратора и виде проектов, изменяя ConfigMap'ы custom-navconfig-platform и custom-navconfig-project.


Содержание

Где настроить

В пространстве имён 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": "<Example Name>",
        "hidden": true
      }
    }
  customs: |
    [
      {
        "label": "<Example>",
        "iconData": "<Base64 encoded icon>",
        "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: необязательный флаг функции, контролирующий отображение этого элемента навигации.

Навигация по умолчанию слева

Ниже приведены полные ссылки на name, href, gate и структуру для прямого копирования и изменения.

Вид администратора

# Кластеры
- name: cluster_management
  icon: server
  children:
    # Кластеры
    - name: clusters
      href: cluster-management/cluster
    # Облачные учётные данные
    - name: cloud_credentials
      href: cluster-management/cloud-credential
    # CRD
    - 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
    # Object StorageClass
    - name: object_storage_class
      href: $cluster/storage-management/object-storageclass
      gate: cosi
    # Buckets
    - 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
    # Логотип
    - 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