Создание динамических плагинов#

Динамический плагин позволяет добавлять пользовательские страницы и другие расширения в веб интерфейс во время выполнения. Пользовательский ресурс ConsolePlugin регистрирует плагины в консоли, а администратор кластера включает плагины в конфигурации console-operator.

Динамический плагин позволяет добавить следующие элементы в интерфейс OKD Console:

  • пользовательские страницы;

  • права и роли помимо администратора и разработчика;

  • элементы навигации;

  • вкладки и действия на страницы ресурсов.

Общие рекомендации#

При создании плагина следуйте рекомендациям:

  • установите Node.js и yarn для сборки и запуска плагина;

  • используйте префикс имен классов CSS с именем вашего плагина. Например, my-plugin__heading и my-plugin_\_icon;

  • поддерживайте единообразный внешний вид, поведение и навигацию с другими страницами консоли;

  • следуйте рекомендациям по локализации response-i18next при создании плагина. Используйте Webhook useTranslation, как в следующем примере:

    conster Header: React.FC = () => {
      const { t } = useTranslation('plugin__console-demo-plugin');
      return <h1>{t('Hello, World!')}</h1>;
    };
    

Рекомендации по использованию PatternFly 4#

При создании плагина следуйте этим рекомендациям по использованию PatternFly:

  • Используйте компоненты PatternFly4 и переменные CSS PatternFly. Основные компоненты PatternFly доступны через SDK. Использование компонентов и переменных PatternFly поможет вашему плагину выглядеть единообразным в будущих версиях консоли.

  • Сделайте свой плагин доступным, следуя основам доступности PatternFly.

  • Избегайте использования других библиотек Bootstrap или Tailwind. Они могут конфликтовать с PatternFly и не соответствовать внешнему виду консоли.

Начало работы с динамическими плагинами#

Чтобы начать использовать динамический плагин, необходимо настроить свою среду для написания нового динамического плагина OKD. Пример написания нового плагина см. в разделе Добавление вкладки на страницу модулей.

Разработка динамического плагина#

Запустите плагин используя локальную среду разработки. OKD console работает в контейнере, подключенном к кластеру, в который осуществлен вход.

Предварительные условия#

Предварительные условия для разработки динамического плагина:

  • запущен кластер DropApp;

  • установлен CLI;

  • установлен yarn (менеджер пакетов с открытым исходным кодом, используемый для управления зависимостями в проектах JavaScript);

  • установлен Docker v3.2.0 или новее или Podman.

Процедура#

Процедура разработки динамического плагина

  1. В терминале выполните следующую команду для установки зависимостей плагина:

    yarn install
    
  2. После установки выполните следующую команду, чтобы запустить менеджер пакетов:

    yarn run start
    
  3. В другом окне терминала войдите через CLI:

    kubectl login
    
  4. Запустите OKD Console в контейнере, выполнив команду:

    yarn run start-console
    

Проверка#

Посетите страницу localhost:9000, чтобы просмотреть работающий плагин. Проверьте значение window.SERVER_FLAGS.consolePlugins, чтобы увидеть список плагинов, которые загружаются во время выполнения.

Развертывание плагина в кластере#

Создание образов в Docker#

Создайте образ и отправьте его в реестр образов, чтобы развернуть плагин в кластере.

Процедура#

Процедура создания образов

  1. Создайте образ с помощью следующей команды:

    docker build -t quay.io/my-repositroy/my-plugin:latest
    
  2. Необязательно: для тестирования образа запустите следующую команду:

    docker push quay.io/my-repository/my-plugin:latest
    
  3. Отправьте образ, выполнив следующую команду:

    docker push quay.io/my-repository/my-plugin:latest
    

Развертывание плагина в кластере#

Выполнение сценария развертывания возможно после отправки образа с изменениями в репозиторий.

Процедура#

Чтобы развернуть плагин в кластере, установите Helm с именем плагина в качестве имени выпуска Helm в новое namespace или существующее namespace, как указано в параметре командной строки -n. Укажите расположение изображения внутри параметра plugin.image, используя следующую команду:

helm upgrade -i  my-plugin charts/openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin.image=my-plugin-image-location

Где:

  • n <my-plugin-namespace> - указывает существующее namespace для развертывания плагина;

  • --create-namespace необязательно: при развертывании в новом namespace используйте этот параметр;

  • --set plugin.image=my-plugin-image-location - указывает расположение изображения внутри plugin.image параметра.

  1. Необязательно: укажите дополнительные параметры, используя набор дополнительных параметров в файле charts/openshift-console-plugin/values.yaml:

plugin:
  name: ""
  description: ""
  image: ""
  imagePullPolicy: IfNotPresent
  replicas: 2
  port: 9443
  securityContext:
    enabled: true
  podSecurityContext:
    enabled: true
    runAsNonRoot: true
    seccompProfile:
      type: RuntimeDefault
  containerSecurityContext:
    enabled: true
    allowPrivilegeEscalation: false
    capabilities:
      drop:
        - ALL
  resources:
    requests:
      cpu: 10m
      memory: 50Mi
  basePath: /
  certificateSecretName: ""
  serviceAccount:
    create: true
    annotations: {}
    name: ""
  patcherServiceAccount:
    create: true
    annotations: {}
    name: ""
  jobs:
    patchConsoles:
      enabled: true
      image: "registry.ххххххххх.io/openshift4/ose-tools-rhel8@sha256:e00000f00e0cca0000e00cb0ff000000e0bd00000ea00d000000a0a0ae000003"
      podSecurityContext:
        enabled: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      containerSecurityContext:
        enabled: true
        allowPrivilegeEscalation: false
        capabilities:
          drop:
            - ALL
      resources:
        requests:
          cpu: 10m
          memory: 50Mi

Проверка#

Просмотрите список включенных плагинов, перейдя в AdministrationCluster SettingsConfigurationConsoleConsole plugins или посетив страницу Owerview.

Отключение плагина в браузере#

Операторы OKD Console могут использовать параметр запроса disable-plugins, чтобы отключить определенные или все динамические плагины, которые обычно загружаются во время выполнения.

Процедура#

Процедура отключения плагина

  • Отключите определенный плагин: удалите плагин, который необходимо отключить, из списка имен плагинов, разделенных запятыми;

  • отключите все плагины: оставьте пустую строку в параметре запроса disable-plugins.

Примечание

Администраторы кластера могут отключать плагины на странице Cluster Settings OKD console.

Пример динамического плагина#

Прежде чем приступить к работе с примером, убедитесь, что плагин работает, выполнив действия, описанные в разделе «Разработка динамического плагина».

Добавление вкладки на страницу модулей#

В OKD console можно внести различные настройки. Сценарий добавляет вкладку на страницу сведений о модуле в качестве примера расширения плагина.

Примечание

OKD console работает в контейнере, подключенном к кластеру, в который осуществлен вход, см. раздел «Разработка динамического плагина» для получения информации о тестировании плагина.

Процедура#

Процедура Добавление вкладки на страницу модулей:

  1. Откройте репозиторий console-plugin-template, содержащий шаблон для создания плагинов в новой вкладке.

  2. Создайте репозиторий для шаблона, нажав Use this templateCreate new repository.

  3. Переименуйте новый репозиторий, указав имя плагина.

  4. Клонируйте новый репозиторий на локальный компьютер, чтобы иметь возможность редактировать код.

  5. Отредактируйте файл package.json, добавив в объявление метаданные плагина consolePlugin, например:

    "consolePlugin": {
      "name": "my-plugin", # Введите имя плагина
      "version": "0.0.1", # Добавьте версию плагина
      "displayName": "My Plugin", # Введите отображаемое имя плагина
      "description": "Enjoy this shiny, new console plugin!", # Добавьте описание или краткий обзор плагина
      "exposedModules": {
        "ExamplePage": "./components/ExamplePage"
      },
      "dependencies": {
        "@console/pluginAPI": "/*"
      }
    }
    
  6. Добавьте в файл console-extensions.json следующее:

    {
      "type": "console.tab/horizontalNav",
      "properties": {
        "page": {
          "name": "Example Tab",
          "href": "example"
        },
        "model": {
          "group": "core",
          "version": "v1",
          "kind": "Pod"
        },
        "component": { "$codeRef": "ExampleTab" }
      }
    }
    
  7. Отредактируйте файл package.json, включив в него следующие изменения:

            "exposedModules": {
                "ExamplePage": "./components/ExamplePage",
                "ExampleTab": "./components/ExampleTab"
            }
    
  8. Напишите сообщение для отображения на новой настраиваемой вкладке на странице модулей, создав новый файл src/components/ExampleTab.tsx и добавив следующий скрипт:

    import * as React from 'react';
    
    export default function ExampleTab() {
        return (
            <p>This is a custom tab added to a resource using a dynamic plugin.</p>
        );
    }
    
  9. Установите Helm-чарт с именем плагина в качестве имени выпуска Helm в новое namespace или существующее namespace, как указано в параметре -n командной строки, чтобы развернуть плагин в кластере. Укажите расположение образа внутри параметра plugin.image, используя следующую команду:

    helm upgrade -i  my-plugin charts openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin image=my-plugin-image-location
    
  10. Посетите страницу Pod чтобы просмотреть добавленную вкладку.

Справочник по настройкам динамического плагина#

В данном разделе представлены расширения, которые позволяют настроить динамический плагин под задачи оператора. Эти расширения затем загружаются в OKD Console во время выполнения.

Ниже представлены типы расширений динамических плагинов с кратким описанием выполняемых действий и синтаксисом.

Console.action/filter#

ActionFilter можно использовать для фильтрации действия.

Имя

Тип значения

Обязательность применения

Описание

contextId

string

нет

Идентификатор контекста помогает сузить объем выполняемых действий до определенной области приложения. Примеры включают topology и helm

filter

CodeRef<(scope: any, action: Action)⇒ boolean>

нет

Функция, которая будет фильтровать действия по некоторым условиям.</p><p>scope: Объем, в котором должны быть предусмотрены действия. Перехватчик может потребоваться, при удалении действия ModifyCount из развертывания с помощью горизонтального автомасштабирования модуля (HPA)</p>

Console.action/group#

ActionGroup добавляет группу действий, которая также может быть подменю.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор, используемый для идентификации раздела действий

label

string

да

Метка, отображаемая в пользовательском интерфейсе. Требуется для подменю

submenu

boolean

да

Должна ли эта группа отображаться как подменю

insertBefore

string

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. Значение insertBefore имеет приоритет

Console.action/provider#

ActionProvider предоставляет перехватчик, который возвращает список действий для определенного контекста.

Имя

Тип значения

Обязательность применения

Описание

contextId

string

нет

Идентификатор контекста помогает сузить объем выполняемых действий до определенной области приложения. Примеры включают topology и helm

provider

CodeRe

нет

Перехватчик React, который возвращает действия для заданной области. Если contextId=resource, то областью всегда будет объект ресурса Kubernetes

Console.action/resource-provider#

ResourceActionProvider предоставляет перехватчик, который возвращает список действий для конкретной модели ресурса.

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sKindVersionModel

нет

Модель, для которой этот поставщик предоставляет действия

provider

CodeRef

нет

Перехватчик реагирования, который возвращает действия для данной модели ресурса

Console.alert-action#

Это расширение можно использовать для запуска определенного действия, когда OKD console наблюдает определенное предупреждение Prometheus на основе его значения rule.name.

Имя

Тип значения

Обязательность применения

Описание

alert

string

нет

Имя оповещения, определенное свойством alert.rule.name

text

string

нет

action

boolean

нет

Функция для выполнения побочного эффекта

Console.catalog/item-filter#

Это расширение можно использовать для плагинов, чтобы добавить обработчик, который может фильтровать определенные элементы каталога. Например, плагин может предоставить фильтр, который фильтрует диаграммы управления от конкретного поставщика.

Имя

Тип значения

Обязательность применения

Описание

catalogId

string

нет

Уникальный идентификатор каталога, в котором участвует этот поставщик.

type

string

нет

Идентификатор типа для типа элемента каталога.

filter

boolean

нет

Фильтрует элементы определенного типа. Value — это функция, которая принимает CatalogItem[]и возвращает подмножество на основе критериев фильтра.

Console.catalog/item-metadata#

Это расширение можно использовать для предоставления поставщика, который добавляет дополнительные метаданные к определенным элементам каталога.

Имя

Тип значения

Обязательность применения

Описание

catalogId

string

нет

Уникальный идентификатор каталога, в котором участвует этот поставщик

type

string

нет

Идентификатор типа для типа элемента каталога

provider

CodeRef<ExtensionHook<CatalogItemMetadataProviderFunction, CatalogExtensionHookOptions>>

нет

Перехватчик, возвращающий функцию, которая будет использоваться для предоставления метаданных для элементов каталога определенного типа

Console.catalog/item-provider#

Это расширение позволяет плагинам добавлять поставщика для типа элемента каталога. Например, плагин Helm может добавить поставщика, который извлекает все диаграммы Helm. Это расширение также может использоваться другими плагинами для добавления дополнительных элементов к определенному типу элементов каталога.

Имя

Тип значения

Обязательность применения

Описание

catalogId

string

нет

Уникальный идентификатор каталога, в котором участвует этот поставщик

type

string

нет

Идентификатор типа для типа элемента каталога

title

string

нет

Название поставщика элементов каталога

provider

CodeRef<ExtensionHook<CatalogItem<any>[], CatalogExtensionHookOptions>>

нет

Получите элементы и нормализуйте их для каталога. Значение это перехватчик, возвращающий функцию, которая будет использоваться для предоставления метаданных для элементов каталога определенного типа

priority

number

да

Приоритет для этого провайдера. По умолчанию 0. Поставщики с более высоким приоритетом могут переопределять элементы каталога, предоставленные другими поставщиками

Console.catalog/item-type#

Это расширение позволяет плагинам добавлять новый тип элемента каталога. Например, плагин Helm может определить новый тип элемента каталога как HelmCharts.

Имя

Тип значения

Обязательность применения

Описание

type

string

нет

Введите элемент каталога

title

string

нет

Название позиции каталога

catalogDescription

string

да

Описание для каталога конкретного типа

typeDescription

string

да

Описание типа элемента каталога

filters

CatalogItemAttribute[]

да

Пользовательские фильтры, специфичные для элемента каталога

groupings

CatalogItemAttribute[]

да

Пользовательские группировки, специфичные для элемента каталога

Console.catalog/item-type-metadata#

Это расширение позволяет плагинам предоставлять дополнительные метаданные, такие как пользовательские фильтры или группировки для любого типа элементов каталога. Например, плагин может прикрепить собственный фильтр для HelmCharts, который может фильтровать данные на основе поставщика диаграмм.

Имя

Тип значения

Обязательность применения

Описание

type

string

нет

Тип элемента каталога

filters

CatalogItemAttribute[]

да

Пользовательские фильтры, специфичные для элемента каталога

groupings

CatalogItemAttribute[]

да

Пользовательские группировки, специфичные для элемента каталога

Console.cluster-overview/inventory-item#

Добавляет новый элемент на страницу Overview кластера.

Имя

Тип значения

Обязательность применения

Описание

component

CodeRef<React.ComponentType<{}>>

нет

Компонент, который необходимо отобразить

Console.cluster-overview/multiline-utilization-item#

Добавляет новый многострочный элемент обзора кластера.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Название элемента кластера

getUtilizationQueries

CodeRef<GetMultilineQueries>

нет

Запрос использования Prometheus

humanize

CodeRef<Humanize>

нет

Преобразование данных Prometheus в форму, удобную для чтения человеком

TopConsumerPopovers

CodeRef<React.ComponentType<TopConsumerPopoverProps>[]>

да

Активация всплывающего окна «Top consumer» вместо простого значения

Console.cluster-overview/utilization-item#

Добавляет новый элемент обзора использования кластера.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Название элемента кластера

getUtilizationQuery

CodeRef<GetQuery>

нет

Запрос использования Prometheus

humanize

CodeRef<Humanize>

нет

Преобразуйте данные Prometheus в удобочитаемую форму

getTotalQuery

CodeRef<GetQuery>

да

Общий запрос Prometheus

getRequestQuery

CodeRef<GetQuery>

да

Запрос запроса Prometheus

getLimitQuery

CodeRef<GetQuery>

да

Запрос ограничения Prometheus

TopConsumerPopover

CodeRef\<React.ComponentType<TopConsumerPopoverProps>>

да

Показывает всплывающее окно «Top consumer» вместо простого значения

Console.context-provider#

Добавляет нового поставщика контекста React в корень приложения веб-консоли.

Имя

Тип значения

Обязательность применения

Описание

provider

CodeRef<Provider<T>>

нет

Компонент поставщика контекста

useValueHook

CodeRef<() T>

нет

Перехватчик значения контекста

Console.dashboards/card#

Добавляет новую карточку информационной панели.

Имя

Тип значения

Обязательность применения

Описание

tab

string

нет

Идентификатор вкладки панели мониторинга, в которую будет добавлена карточка

position

„LEFT“, „RIGHT“, „MAIN“

нет

Положение карты на информационной панели в сетке

component

CodeRef<React.ComponentType<{}>>

нет

Компонент карты информационной панели

span

OverviewCardSpan

да

Вертикальный диапазон карты в столбце. Игнорируется для маленьких экранов, по умолчанию 12

Console.dashboards/custom/overview/detail/item#

Добавляет элемент на карточку сведений на обзорной панели.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Название карточки с подробностями

component

CodeRef<React.ComponentType<{}>>

нет

Значение, отображаемое компонентом ReviewDetailItem

valueClassName

string

да

Значение имени класса

isLoading

CodeRef<() boolean>

да

Функция, возвращающая состояние загрузки компонента

error

CodeRef<() string>

да

Функция, возвращающая ошибки, которые будут отображаться компонентом

Console.dashboards/overview/activity/resource#

Добавляет действие в карточку активности обзорной панели, где запуск действия основан на просмотре ресурса Kubernetes.

Имя

Тип значения

Обязательность применения

Описание

k8sResource

CodeRef<FirehoseResource & { isList: true; }>

нет

Предмет использования, подлежащий замене

component

CodeRef<React.ComponentType<K8sActivityProps<T>>>

нет

Компонент действия

isActivity

CodeRef<(resource: T) boolean>

да

Функция, которая определяет, представляет ли данный ресурс действие. Если не определено, каждый ресурс представляет собой активность

getTimestamp

CodeRef<(resource: T) Date>

да

Временная метка данного действия, которая будет использоваться при заказе

Console.dashboards/overview/health/operator#

Добавляет подсистему работоспособности в карточку состояния панели мониторинга Overview, где источник статуса API REST Kubernetes.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Название раздела «Операторы» во всплывающем меню

resources

CodeRef<FirehoseResource[]>

нет

Ресурсы Kubernetes, которые будут извлечены и переданы в healthHandler

getOperatorsWithStatuses

CodeRef<GetOperatorsWithStatuses<T>>

да

Определяет статус Операторов

operatorRowLoader

CodeRef<React.ComponentType<OperatorRowProps<T>>>

да

Загрузчик компонента всплывающей строки

viewAllLink

string

да

Ссылки на все страницы ресурсов. Если не указано, то используется страница списка первого ресурса из ресурсов

Console.dashboards/overview/health/prometheus#

Добавляет подсистему работоспособности в карточку состояния информационной панели Overview, где источник статуса Prometheus.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Отображаемое имя подсистемы

queries

string[]

нет

Запросы Prometheus

healthHandler

CodeRef<PrometheusHealthHandler>

нет

Устраните проблему со здоровьем подсистемы

additionalResource

CodeRef<FirehoseResource>

да

Дополнительный ресурс, который будет получен и передан в healthHandler

popupComponent

CodeRef<React.ComponentType<PrometheusHealthPopupProps>>

да

Загрузчик содержимого всплывающего меню. Если определено, элемент здоровья представлен в виде ссылки, которая открывает всплывающее меню с заданным содержимым

popupTitle

string

да

Название popup

disallowedControlPlaneTopology

string[]

да

Топология плоскости управления, для которой подсистема должна быть скрыта

Console.dashboards/overview/health/resource#

Добавляет подсистему работоспособности на карточку состояния панели «Overview», где источник состояния ресурс Kubernetes.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Отображаемое имя подсистемы

resources

CodeRef<WatchK8sResources<T>>

нет

Ресурсы Kubernetes, которые будут получены и переданы в healthHandler

healthHandler

CodeRef<ResourceHealthHandler<T>>

нет

Устраните проблему со здоровьем подсистемы

popupComponent

CodeRef<WatchK8sResults<T>>

да

Загрузчик содержимого всплывающего меню. Если определено, элемент представлен в виде ссылки, которая открывает всплывающее меню с заданным содержимым

popupTitle

string

да

Название popup

Console.dashboards/overview/health/url#

Добавляет подсистему работоспособности в карточку состояния панели мониторинга «Overview», где источник статуса API REST Kubernetes.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Отображаемое имя подсистемы

url

string

нет

URL-адрес для получения данных. Ему будет предшествовать базовый URL-адрес Kubernetes

healthHandler

CodeRef<URLHealthHandler<T, K8sResourceCommon  K8sResourceCommon[]>>

нет

Устраните проблему healthHandler подсистемы

additionalResource

CodeRef<FirehoseResource>

да

Дополнительный ресурс, который будет получен и передан в healthHandler

popupComponent

CodeRef<React.ComponentType<{ healthResult?: T; healthResultError?: any; k8sResult?: FirehoseResult<R>; }>>

да

Загрузчик всплывающего контента. Если этот параметр определен, элемент здоровья будет представлен в виде ссылки, открывающей всплывающее окно с заданным содержимым

popupTitle

string

да

Название popup

Console.dashboards/overview/inventory/item#

Добавляет плитку ресурса в карточку состояния панели мониторинга «Overview».

Имя

Тип значения

Обязательность применения

Описание

model

CodeRef<T>

нет

Модель, для resource которой будет получена информация. Используется для получения модели label или abbr

mapper

CodeRef<StatusGroupMapper<T, R>>

да

Функция, которая отображает различные статусы в группы

additionalResources

CodeRef<WatchK8sResources<R>>

да

Дополнительные ресурсы, которые будут получены и переданы функции mapper

Console.dashboards/overview/inventory/item/group#

Добавляет группу статуса запасов.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор группы статусов

icon

CodeRef<React.ReactElement<any, string  React.JSXElementConstructor<any>>>

нет

Компонент React, представляющий значок группы статуса

Console.dashboards/overview/inventory/item/replacement#

Заменяет карточку состояния панели мониторинга «Overview».

Имя

Тип значения

Обязательность применения

Описание

model

CodeRef<T>

нет

Модель, для resource которой будет получена информация. Используется для получения модели label или abbr

mapper

CodeRef<StatusGroupMapper<T, R>>

да

Функция, которая отображает различные статусы в группы

additionalResources

CodeRef<WatchK8sResources<R>>

да

Дополнительные ресурсы, которые будут получены и переданы функции mapper

Console.dashboards/overview/prometheus/activity/resource#

Добавляет действие в карточку активности панели Prometheus, где запуск действия основан на просмотре ресурса Kubernetes.

Имя

Тип значения

Обязательность применения

Описание

queries

string[]

нет

Вопросы для просмотра

component

CodeRef<React.ComponentType<PrometheusActivityProps>>

нет

Компонент действия

isActivity

CodeRef<(results: PrometheusResponse[]) boolean>

да

Функция, которая определяет, представляет ли данный ресурс действие. Если не определено, каждый ресурс представляет собой активность

Console.dashboards/project/overview/item#

Добавляет плитку ресурса в инвентарную карточку обзора проекта.

Имя

Тип значения

Обязательность применения

Описание

model

CodeRef<T>

нет

Модель, для resource которой будет получена информация. Используется для получения модели label или abbr

mapper

CodeRef<StatusGroupMapper<T, R>>

да

Функция, которая отображает различные статусы в группы

additionalResources

CodeRef<WatchK8sResources<R>>

да

Дополнительные ресурсы, которые будут получены и переданы функции mapper

Console.dashboards/tab#

Добавляет новую вкладку панели мониторинга, расположенную после вкладки Overview.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор вкладки, используемый в качестве ссылки на вкладку href и при добавлении карточек на эту вкладку

navSection

„home“, „storage“

нет

Раздел навигации, к которому относится вкладка

title

string

нет

Название вкладки

Console.file-upload#

Это расширение можно использовать для предоставления обработчика действия по удалению файла для определенных расширений файлов.

Имя

Тип значения

Обязательность применения

Описание

fileExtensions

string[]

нет

Поддерживаемые расширения файлов

handler

CodeRef<FileUploadHandler>

нет

Функция, которая обрабатывает действие по удалению файла

Console.flag#

Предоставляет полный контроль над флагами функций веб-консоли.

Имя

Тип значения

Обязательность применения

Описание

handler

CodeRef<FeatureFlagHandler>

нет

Используется для установки или снятия произвольных флагов функций

Console.flag/hookProvider#

Предоставляет полный контроль над флагами функций веб-консоли с помощью обработчиков перехватчиков.

Имя

Тип значения

Обязательность применения

Описание

handler

CodeRef<FeatureFlagHandler>

нет

Используется для установки или снятия произвольных флагов функций

Console.flag/model#

Добавляет новый флаг функции веб-консоли, зависящий от наличия объекта CustomResourceDefinition(CRD) в кластере.

Имя

Тип значения

Обязательность применения

Описание

flag

string

нет

Имя флага, который будет установлен после обнаружения CRD

model

ExtensionK8sModel

нет

Модель, которая относится к CRD

Console.global-config#

Это расширение идентифицирует ресурс, используемый для управления конфигурацией кластера. Ссылка на ресурс будет добавлена на страницу AdministrationCluster SettingsConfiguration.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор экземпляра ресурса конфигурации кластера

name

string

нет

Имя экземпляра ресурса конфигурации кластера

model

ExtensionK8sModel

нет

Модель, которая ссылается на ресурс конфигурации кластера

namespace

string

нет

Namespace экземпляра ресурса конфигурации кластера

Console.model-metadata#

Настраивает отображение моделей, переопределяя значения, полученные и сгенерированные посредством обнаружения API.

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sGroupModel

нет

Модель для настройки. Можно указать только группу или дополнительную версию и вид

badge

ModelBadge

да

Следует ли рассматривать эту ссылку на модель как предварительную версию технологии или предварительную версию для разработчиков

color

string

да

Цвет, который будет связан с этой моделью

label

string

да

Переопределить метку. Требуется предоставить kind

labelPlural

string

да

Переопределить метку во множественном числе. Требуется предоставить kind

abbr

string

да

Настройте аббревиатуру. По умолчанию используются все символы верхнего регистра kind длиной до 4 символов. Требует того, что kind предусмотрено

Console.navigation/href#

Это расширение можно использовать для добавления элемента навигации, указывающего на определенную ссылку в пользовательском интерфейсе.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор этого элемента

name

string

нет

Название этого предмета

href

string

нет

Стоимость ссылки href

perspective

string

да

Идентификатор перспективы, которой принадлежит этот элемент. Если не указано, используется перспектива по умолчанию

section

string

да

Раздел навигации, к которому относится этот элемент. Если не указано, отображать этот элемент как ссылку верхнего уровня

dataAttributes

{ [key: string]: string; }

да

Добавляет атрибуты данных в DOM

startsWith

string[]

да

Отметьте этот элемент как активный, если URL-адрес начинается с одного из этих путей

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. insertBefore имеет приоритет

namespaced

boolean

да

Если true, добавляется /ns/active-namespace в конец

prefixNamespaced

boolean

да

Если true, добавляется /k8s/ns/active-namespace в начало

Console.navigation/resource-cluster#

Это расширение можно использовать для добавления элемента навигации, указывающего на страницу сведений о ресурсе кластера. Модель K8s этого ресурса можно использовать для определения элемента навигации.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор этого элемента

model

ExtensionK8sModel

нет

Модель, на которую ссылается этот элемент навигации

perspective

string

да

Идентификатор перспективы, которой принадлежит этот элемент. Если не указано, используется перспектива по умолчанию

section

string

да

Раздел навигации, к которому относится этот элемент. Если не указано, отображать этот элемент как ссылку верхнего уровня

dataAttributes

{ [key: string]: string; }

да

Добавляет атрибуты данных в DOM

startsWith

string[]

да

Отметьте этот элемент как активный, если URL-адрес начинается с одного из этих путей

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. insertBefore имеет приоритет

name

string

да

Переопределяет имя по умолчанию. Если оно не указано, имя ссылки будет равняться множественному значению модели

Console.navigation/resource-ns#

Это расширение можно использовать для добавления элемента навигации, указывающего на страницу сведений о ресурсе в namespace. Модель этого ресурса можно использовать для определения элемента навигации.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор этого элемента

model

ExtensionK8sModel

нет

Модель, на которую ссылается этот элемент навигации

perspective

string

да

Идентификатор перспективы, которой принадлежит этот элемент. Если не указано, используется перспектива по умолчанию

section

string

да

Раздел навигации, к которому относится этот элемент. Если не указано, отображать этот элемент как ссылку верхнего уровня

dataAttributes

{ [key: string]: string; }

да

Добавляет атрибуты данных в DOM

startsWith

string[]

да

Отметьте этот элемент как активный, если URL-адрес начинается с одного из этих путей

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. insertBefore имеет приоритет

name

string

да

Переопределяет имя по умолчанию. Если оно не указано, имя ссылки будет равняться множественному значению модели

Console.navigation/section#

Это расширение можно использовать для определения нового раздела элементов навигации на вкладке навигации.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор этого элемента.

perspective

string

да

Идентификатор перспективы, которой принадлежит этот элемент. Если не указано, используется перспектива по умолчанию

dataAttributes

{ [key: string]: string; }

да

Добавляет атрибуты данных в DOM

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. insertBefore имеет приоритет

name

string

да

Название этого раздела. Если он не указан, над разделом будет отображаться только разделитель

Console.navigation/separator#

Это расширение можно использовать для добавления разделителя между элементами навигации в навигации.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор этого элемента

perspective

string

да

Идентификатор перспективы, которой принадлежит этот элемент. Если не указано, используется перспектива по умолчанию

section

string

да

Раздел навигации, к которому относится этот элемент. Если не указано, отображать этот элемент как ссылку верхнего уровня

dataAttributes

{ [key: string]: string; }

да

Добавляет атрибуты данных в DOM

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. insertBefore имеет приоритет

Console.page/resource/details#

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sGroupKindModel

нет

Модель, на которую ссылается эта страница ресурса

component

CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>

нет

Компонент, который будет отображаться при совпадении маршрута

Console.page/resource/list#

Добавляет новую страницу списка ресурсов в консольный маршрутизатор.

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sGroupKindModel

нет

Модель, на которую ссылается эта страница ресурса

component

CodeRef<React.ComponentType<{ match: match<{}>; namespace: string; model: ExtensionK8sModel; }>>

нет

Компонент, который будет отображаться при совпадении маршрута

Console.page/route#

Добавляет новую страницу в маршрутизатор веб-консоли. См. React Router .

Имя

Тип значения

Обязательность применения

Описание

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

нет

Компонент, который будет отображаться при совпадении маршрута

path

string string[]

нет

Действительный путь URL или массив путей, который path-to-regexp@^1.7.0 понимает

perspective

string

да

Перспектива, к которой принадлежит эта страница. Если не указано, способствует всем перспективам

exact

boolean

да

Если true, будет соответствовать только в том случае, если путь location.pathname точно соответствует

Console.page/route/standalone#

Добавляет новую автономную страницу, отображаемую вне общего макета страницы.

Имя

Тип значения

Обязательность применения

Описание

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

нет

Компонент, который будет отображаться при совпадении маршрута

path

string string[]

нет

Действительный путь URL или массив путей, который path-to-regexp@^1.7.0понимает

exact

boolean

да

Если true, будет соответствовать только в том случае, если путь location.pathname точно соответствует

Console.perspective#

Это расширение позволяет настраивать меню навигации.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор роли

name

string

нет

Отображаемое имя роли

icon

CodeRef<LazyComponent>

нет

Значок отображения роли

landingPageURL

CodeRef<(flags: { [key: string]: boolean; }, isFirstVisit: boolean) string>

нет

Функция получения URL-адреса перспективной целевой страницы

importRedirectURL

CodeRef<(namespace: string) string>

нет

Функция для получения URL-адреса перенаправления для потока импорта

default

boolean

да

Является ли роль значением по умолчанию. По умолчанию может быть только одно значение

defaultPins

ExtensionK8sModel[]

да

Ресурсы, закрепленные по умолчанию в навигации

usePerspectiveDetection

CodeRef<() [boolean, boolean]>

да

Webhook для определения роли по умолчанию

Console.project-overview/inventory-item#

Добавляет новый элемент на страницу Project Overview.

Имя

Тип значения

Обязательность применения

Описание

component

CodeRef<React.ComponentType<{ projectName: string; }>>

нет

Компонент, который необходимо отрисовать

Console.project-overview/utilization-item#

Добавляет новый элемент использования.

Имя

Тип значения

Обязательность применения

Описание

title

string

нет

Название предмета использования.

getUtilizationQuery

CodeRef<GetProjectQuery>

нет

Запрос использования Prometheus

humanize

CodeRef<Humanize>

нет

Преобразуйте данные Prometheus в удобочитаемую форму

getTotalQuery

CodeRef<GetProjectQuery>

да

Общий запрос Prometheus

getRequestQuery

CodeRef<GetProjectQuery>

да

Запрос запроса Prometheus

getLimitQuery

CodeRef<GetProjectQuery>

да

Запрос ограничения Prometheus

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

да

Показывает всплывающее окно с верхним числом потребителей вместо простого значения

Console.pvc/alert#

Это расширение можно использовать для добавления пользовательских оповещений на странице сведений о PVC.

Имя

Тип значения

Обязательность применения

Описание

alert

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

нет

Компонент оповещения

Console.pvc/create-prop#

Это расширение можно использовать для указания дополнительных свойств, которые будут использоваться при создании ресурсов PVC на странице списка PVC.

Имя

Тип значения

Обязательность применения

Описание

label

string

нет

Ярлык для действия создания реквизита

path

string

нет

Путь для действия создания реквизита

Console.pvc/delete#

Это расширение позволяет подключиться к удалению ресурсов PVC. Он может предоставлять оповещения с дополнительной информацией и настраиваемой логикой удаления PVC.

Имя

Тип значения

Обязательность применения

Описание

predicate

CodeRef<(pvc: K8sResourceCommon) boolean>

нет

Предикат, указывающий, использовать расширение или нет

onPVCKill

CodeRef<(pvc: K8sResourceCommon) Promise<void>>

нет

Метод операции удаления PVC

alert

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

нет

Компонент оповещений для отображения дополнительной информации

Console.pvc/status#

Имя

Тип значения

Обязательность применения

Описание

priority

number

нет

Приоритет статусного компонента. Большее значение означает более высокий приоритет

status

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

нет

Статусная составляющая

predicate

CodeRef<(pvc: K8sResourceCommon) boolean>

нет

Предикат, указывающий, следует ли отображать компонент статуса или нет

Console.redux-reducer#

Добавляет новый редуктор в хранилище Console Redux, который работает с состоянием plugins.<scope>.

Имя

Тип значения

Обязательность применения

Описание

scope

string

нет

Ключ для представления подсостояния, управляемого редуктором, в объекте состояния Redux

reducer

CodeRef<Reducer<any, AnyAction>>

нет

Функция редуктора, работающая в подсостоянии, управляемом редуктором

Console.resource/create#

Это расширение позволяет плагинам предоставлять пользовательский компонент (например, мастер или форму) для определенных ресурсов, который будет отображаться, когда пользователи попытаются создать новый экземпляр ресурса.

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sModel

нет

Модель, для которой будет отображаться эта страница создания ресурса

component

CodeRef<React.ComponentType<CreateResourceComponentProps>>

нет

Компонент, который будет отображаться при совпадении модели

Console.storage-class/provisioner#

Добавляет новый поставщик классов хранения в качестве опции при создании класса хранения.

Имя

Тип значения

Обязательность применения

Описание

CSI

ProvisionerDetails

да

Тип поставщика интерфейса хранилища контейнеров

OTHERS

ProvisionerDetails

да

Другой тип поставщика

Console.storage-provider#

Это расширение можно использовать для выбора нового поставщика хранилища при подключении хранилища и компонента, специфичного для поставщика.

Имя

Тип значения

Обязательность применения

Описание

name

string

нет

Отображаемое имя провайдера

Component

CodeRef<React.ComponentType<Partial<RouteComponentProps<{}, StaticContext, any>>>>

нет

Компонент, специфичный для поставщика, для визуализации

Console.tab#

Добавляет вкладку в горизонтальную навигацию, соответствующую contextId.

Имя

Тип значения

Обязательность применения

Описание

contextId

string

нет

Идентификатор контекста, назначенный горизонтальной навигации, в которую будет вставлена вкладка. Возможные значения: dev-console-observe

name

string

нет

Отображаемая метка вкладки

href

string

нет

Добавленный href к существующему URL-адресу

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

нет

Компонент содержимого вкладки

Console.tab/horizontalNav#

Это расширение можно использовать для добавления вкладки на страницу сведений о ресурсе.

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sKindVersionModel

нет

Модель, для которой этот поставщик показывает вкладку

page

{ name: string; href: string; }

нет

Страница, которая будет отображаться в горизонтальной вкладке. В качестве имени и href принимается имя вкладки

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

нет

Компонент, который будет отображаться при совпадении маршрута

Console.telemetry/listener#

Этот компонент можно использовать для регистрации функции, получающей события телеметрии. Эти события включают идентификацию пользователя, навигацию по страницам и другие события, специфичные для приложения. Слушатель может использовать эти данные для целей отчетности и анализа.

Имя

Тип значения

Обязательность применения

Описание

listener

CodeRef<TelemetryEventListener>

нет

Прослушивание событий телеметрии

Console.topology/adapter/build#

BuildAdapter предоставляет адаптирует элемент к данным, которые могут использоваться компонентом сборки.

Имя

Тип значения

Обязательность применения

Описание

adapt

CodeRef<(element: GraphElement) AdapterDataType<BuildConfigData> | undefined>

нет

Адаптер для адаптации элемента к данным, которые могут использоваться компонентом сборки.

Console.topology/adapter/network#

NetworkAdapater предоставляет адаптер для адаптации элемента к данным, которые могут использоваться компонентом Networking.

Имя

Тип значения

Обязательность применения

Описание

adapt

CodeRef<(element: GraphElement) NetworkAdapterType  undefined>

нет

Адаптер для адаптации элемента к данным, которые могут использоваться сетевым компонентом

Console.topology/adapter/pod#

PodAdapter предоставляет адаптация элемента к данным, которые могут использоваться компонентом Pod.

Имя

Тип значения

Обязательность применения

Описание

adapt

CodeRef<(element: GraphElement) AdapterDataType<PodsAdapterDataType> undefined>

нет

Адаптер для адаптации элемента к данным, которые могут использоваться компонентом Pod

Console.topology/component/factory#

Getter для ViewComponentFactory.

Имя

Тип значения

Обязательность применения

Описание

getFactory

CodeRef<ViewComponentFactory>

нет

Getter для ViewComponentFactory

Console.topology/create/connector#

Getter для функции создания соединителя.

Имя

Тип значения

Обязательность применения

Описание

getCreateConnector

CodeRef<CreateConnectionGetter>

нет

Getter для функции создания соединителя

Console.topology/data/factory#

Расширение фабрики топологической модели данных

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор завода

priority

number

нет

Приоритет для завода

resources

WatchK8sResourcesGeneric

да

Ресурсы, которые нужно получить с помощью useK8sWatchResources Webhook

workloadKeys

string[]

да

Ключи в ресурсах, содержащих рабочие нагрузки

getDataModel

CodeRef<TopologyDataModelGetter>

да

Getter для фабрики моделей данных

isResourceDepicted

CodeRef<TopologyDataModelDepicted>

да

Getter для функции, определяющей, отображается ли ресурс в этой фабрике моделей

getDataModelReconciler

CodeRef<TopologyDataModelReconciler>

да

Getter для функции для согласования модели данных после загрузки всех моделей расширений

Console.topology/decorator/provider#

Расширение поставщика декоратора топологии

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор декоратора топологии, специфичного для расширения

priority

number

нет

Приоритет декоратора топологии, специфичного для расширения

quadrant

TopologyQuadrant

нет

Квадрант для декоратора топологии, специфичного для расширения

decorator

CodeRef<TopologyDecoratorGetter>

нет

Декоратор, специфичный для расширения

Console.topology/details/resource-alert#

DetailsResourceAlert выдает предупреждение для конкретного контекста топологии или элемента графа.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор этого оповещения. Используется для сохранения состояния, если предупреждение не должно отображаться после закрытия

contentProvider

CodeRef<(element: GraphElement) DetailsResourceAlertContent null>

нет

Крючок для возврата содержимого оповещения

DetailsResourceLink предоставляет ссылку на конкретный контекст топологии или элемент графа.

Имя

Тип значения

Обязательность применения

Описание

link

CodeRef<(element: GraphElement) React.Component undefined>

нет

Верните ссылку на ресурс, если она предоставлена, в противном случае не определена. Используйте свойства ResourceIcon и ResourceLink для стилей

priority

number

да

Фабрика с более высоким приоритетом получит первую возможность создать ссылку

Console.topology/details/tab#

DetailsTab добавляет вкладку для панели сведений о топологии.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор этой вкладки сведений

label

string

нет

Метка вкладки, отображаемая в пользовательском интерфейсе

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. Значение insertBefore имеет приоритет

Console.topology/details/tab-section#

DetailsTabSection добавляет раздел для определенной вкладки на панели сведений о топологии.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Уникальный идентификатор для этого раздела вкладки сведений

tab

string

нет

Идентификатор родительской вкладки, которому должен соответствовать этот раздел

provider

CodeRef<DetailsTabSectionExtensionHook>

нет

Перехватчик, который возвращает компонент, или, если он равен нулю или не определен, отображается на боковой панели топологии. Компонент SDK: <Section title=\{}> заполненная область

section

CodeRef<(element: GraphElement, renderNull?: () null) React.Component undefined>

нет

Устарело: резервный вариант, если поставщик не определен. renderNull уже не используется

insertBefore

string string[]

да

Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку

insertAfter

string string[]

да

Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. Значение insertBefore имеет приоритет

Console.topology/display/filters#

Расширение фильтров отображения топологии

Имя

Тип значения

Обязательность применения

Описание

getTopologyFilters

CodeRef<() TopologyDisplayOption[]>

нет

Getter для фильтров топологии, специфичных для расширения

applyDisplayOptions

CodeRef<TopologyApplyDisplayOptions>

нет

Функция применения фильтров к модели

Console.topology/relationship/provider#

Расширение соединителя поставщика взаимосвязей топологии

Имя

Тип значения

Обязательность применения

Описание

provides

CodeRef<RelationshipProviderProvides>

нет

Используйте, чтобы определить, можно ли создать соединение между исходным и целевым узлом

tooltip

string

нет

Подсказка, показывающая, когда операция соединителя нависает над целью перетаскивания, например «Создать визуальный соединитель»

create

CodeRef<RelationshipProviderCreate>

нет

Обратный вызов для выполнения, когда соединитель перемещается над целевым узлом для создания соединения

priority

number

нет

Приоритет отношений, более высокий будет предпочтителен в случае нескольких

Console.user-preference/group#

Это расширение можно использовать для добавления группы на странице пользовательских настроек консоли. Он появится в виде вертикальной вкладки на странице пользовательских настроек консоли.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор, используемый для идентификации группы предпочтений пользователя

label

string

нет

Метка группы предпочтений пользователя

insertBefore

string

да

Идентификатор группы предпочтений пользователя, перед которой должна быть размещена эта группа

insertAfter

string

да

Идентификатор группы предпочтений пользователя, после которой следует разместить эту группу

Console.user-preference/item#

Это расширение можно использовать для добавления элемента в группу пользовательских настроек на странице пользовательских настроек консоли.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор, используемый для идентификации элемента предпочтений пользователя и указанный в InsertAfter и InsertBefore для определения порядка элементов

label

string

нет

Ярлык предпочтений пользователя

description

string

нет

Описание предпочтений пользователя

field

UserPreferenceField

нет

Параметры поля ввода, используемые для отображения значений для установки предпочтений пользователя

groupId

string

да

Идентификаторы, используемые для идентификации групп пользовательских предпочтений, к которым будет принадлежать элемент

insertBefore

string

да

Идентификатор элемента пользовательских предпочтений, перед которым должен быть размещен этот элемент

insertAfter

string

да

Идентификатор элемента пользовательских предпочтений, после которого следует разместить этот элемент

Console.yaml-template#

Шаблоны YAML для редактирования ресурсов через редактор yaml.

Имя

Тип значения

Обязательность применения

Описание

model

ExtensionK8sModel

нет

Модель, связанная с шаблоном

template

CodeRef<string>

нет

Шаблон YAML

name

string

нет

Имя шаблона. Используйте имя default , чтобы отметить его как шаблон по умолчанию

dev-Console.add/action#

Это расширение позволяет плагинам добавлять элемент действия Add на страницу с ролью разработчика. Например, бессерверный плагин может создать новый элемент действия для добавления бессерверных функций на страницу консоли разработчика.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор, используемый для идентификации действия

label

string

нет

Ярлык действия

description

string

нет

Описание действия

href

string

нет

Объект href для перехода

groupId

string

да

Идентификаторы, используемые для идентификации групп действий, к которым будет принадлежать действие

icon

CodeRef<React.ReactNode>

да

Значок отображения перспективы

accessReview

AccessReviewResourceAttributes[]

да

Дополнительный просмотр доступа для контроля видимости или включения действия

dev-console.add/action-group#

Это расширение позволяет плагинам добавлять группу на странице консоли разработчика. На группы могут ссылаться действия, которые будут объединены на странице добавления действий на основе определения их расширения. Например, плагин Serverless может добавить группу Serverless вместе с несколькими добавленными действиями.

Имя

Тип значения

Обязательность применения

Описание

id

string

нет

Идентификатор, используемый для идентификации группы действий

name

string

нет

Название группы действий

insertBefore

string

да

Идентификатор группы действий, перед которой должна быть размещена эта группа

insertAfter

string

да

ID группы действий, после которой следует разместить эту группу

dev-console.import/environment#

Это расширение можно использовать для указания дополнительных полей переменных среды сборки под селектором образа компоновщика в форме импорта git консоли разработчика. Если этот параметр установлен, поля будут переопределять одноименные переменные среды в разделе сборки.

Имя

Тип значения

Обязательность применения

Описание

imageStreamName

string

нет

Имя потока изображений, для которого необходимо предоставить пользовательские переменные среды

imageStreamTags

string[]

нет

Список поддерживаемых тегов потока изображений

environments

ImageEnvironment[]

нет

Список переменных среды

useActivePerspective#

Webhook, который предоставляет текущую активную перспективу и обратный вызов для установки активной перспективы. Он возвращает ответ, содержащий текущую активную роль и обратный вызов установщика.

Пример:

const Component: React.FC = (props) => {
   const [activePerspective, setActivePerspective] = useActivePerspective();
   return <select
     value={activePerspective}
     onChange={(e) => setActivePerspective(e.target.value)}
   >
     {
       // ...perspective options
     }
   </select>
}

GreenCheckCircleIcon#

Компонент, отображающий знак успешного исполнения - зеленую галочку.

Пример:

<GreenCheckCircleIcon title="Healthy" />

Имя параметра

Описание

className

(необязательно) дополнительное имя класса для компонента

title

(необязательно) название значка

size

(необязательно) размер значка: ( sm, md, lg, xl)

RedExclamationCircleIcon#

Компонент для отображения значка в виде красного восклицательного знака.

Пример:

<RedExclamationCircleIcon title="Failed" />

Имя

Тип значения

className

(необязательно) дополнительное имя класса для компонента

title

(необязательно) название значка

size

(необязательно) размер значка: ( sm, md, lg, xl)

YellowExclamationTriangleIcon#

Компонент для отображения значка восклицательного знака желтого треугольника.

Пример:

<YellowExclamationTriangleIcon title="Warning" />

Имя

Тип значения

className

(необязательно) дополнительное имя класса для компонента

title

(необязательно) название значка

size

(необязательно) размер значка: ( sm, md, lg, xl)

BlueInfoCircleIcon#

Компонент для отображения синего информационного круга.

Пример:

<BlueInfoCircleIcon title="Info" />

Имя

Тип значения

className

(необязательно) дополнительное имя класса для компонента

title

(необязательно) название значка

size

(необязательно) размер значка: (sm, md, lg, xl)

ErrorStatus#

Компонент для отображения всплывающего сообщения о статусе ошибки.

Пример:

<ErrorStatus title={errorMsg} />

Имя

Тип значения

title

(необязательно) текст статуса

iconOnly

(необязательно), если true, отображается только значок

noTooltip

(необязательно), если true, всплывающая подсказка не будет отображаться

className

(необязательно) дополнительное имя класса для компонента

popoverTitle

(необязательно) заголовок всплывающего окна

InfoStatus#

Компонент для отображения всплывающего окна с информацией о статусе.

Пример:

<InfoStatus title={infoMsg} />

Имя

Тип значения

title

(необязательно) текст статуса

iconOnly

(необязательно), если true, отображается только значок

noTooltip

(необязательно), если true, всплывающая подсказка не будет отображаться.

className

(необязательно) дополнительное имя класса для компонента

popoverTitle

(необязательно) заголовок всплывающего окна

ProgressStatus#

Компонент для отображения всплывающего окна о прогрессе статуса.

Пример:

<ProgressStatus title={progressMsg} />

Имя

Тип значения

title

(необязательно) текст статуса

iconOnly

(необязательно), если true, отображается только значок

noTooltip

(необязательно), если true, всплывающая подсказка не будет отображаться

className

(необязательно) дополнительное имя класса для компонента

popoverTitle

(необязательно) заголовок всплывающего окна

SuccessStatus#

Компонент для отображения всплывающего окна о статусе успеха.

Пример:

<SuccessStatus title={successMsg} />

Имя

Тип значения

title

(необязательно) текст статуса

iconOnly

(необязательно), если true, отображается только значок

noTooltip

(необязательно), если true, всплывающая подсказка не будет отображаться

className

(необязательно) дополнительное имя класса для компонента

popoverTitle

(необязательно) заголовок всплывающего окна

checkAccess#

Предоставляет информацию о доступе пользователя к данному ресурсу. Он возвращает объект с информацией о доступе к ресурсу.

Имя

Тип значения

resourceAttributes

атрибуты ресурса для проверки доступа

impersonate

информация о неудачной попытке аутентификации

useAccessReview#

Webhook, предоставляющий информацию о доступе пользователя к данному ресурсу. Он возвращает массив со значениями isAllowed и loading.

Имя

Тип значения

resourceAttributes

атрибуты ресурса для проверки доступа

impersonate

информация о неудачной попытке аутентификации

useResolvedExtensions#

Перехватчик React для использования расширений консоли с разрешенными CodeRef свойствами. Этот Webhook принимает тот же аргумент(ы), что и useExtensions Webhook, и возвращает адаптированный список экземпляров расширения, разрешая все ссылки на код в свойствах каждого расширения.

Первоначально Webhook возвращает пустой массив. После завершения разрешения компонент React повторно отображается с помощью Webhook, возвращающего адаптированный список расширений. При изменении списка соответствующих расширений разрешение перезапускается. Webhook будет продолжать возвращать предыдущий результат до тех пор, пока разрешение не завершится.

Элементы результата Webhook гарантированно будут повторяться при повторной визуализации. Webhook возвращает ответ, содержащий список адаптированных экземпляров расширения с разрешенными ссылками на код, логический флаг, указывающий, завершено ли разрешение, и список ошибок, обнаруженных во время разрешения.

Пример:

const [navItemExtensions, navItemsResolved] = useResolvedExtensions<NavItem>(isNavItem);
// process adapted extensions and render your component

Имя

Тип значения

typeGuards

Список обратных вызовов, каждый из которых принимает динамическое расширение плагина в качестве аргумента и возвращает логический флаг, указывающий, соответствует ли расширение желаемым ограничениям типа

HorizontalNav#

Компонент, создающий панель навигации для страницы. Маршрутизация обрабатывается как часть компонента. Console.tab/horizontalNav может использоваться для добавления дополнительного контента к любой горизонтальной навигации.

Пример:

const HomePage: React.FC = (props) => {
    const page = {
      href: '/home',
      name: 'Home',
      component: () => <>Home</>
    }
    return <HorizontalNav match={props.match} pages={[page]} />
}

Имя

Тип значения

resource

Ресурс, связанный с панелью навигации, объект типа K8sResourceCommon

pages

Массив объектов страницы

match

Объект соответствия, предоставленный React Router

VirtualizedTable#

Компонент для создания виртуализированных таблиц.

Пример:

const MachineList: React.FC<MachineListProps> = (props) => {
  return (
    <VirtualizedTable<MachineKind>
     {...props}
     aria-label='Machines'
     columns={getMachineColumns}
     Row={getMachineTableRow}
    />
  );
}

Имя

Тип значения

data

данные для таблицы

loaded

флаг, указывающий, что данные загружены

loadError

объект ошибки, если проблема с загрузкой данных

columns

настройка столбца

Row

настройка строки

unfilteredData

исходные данные без фильтра

NoDataEmptyMsg

(необязательно) нет данных, пустой компонент сообщения

EmptyMsg

(необязательно) пустой компонент сообщения

scrollNode

(необязательно) функция для обработки прокрутки

label

(необязательно) этикетка для таблицы

ariaLabel

(необязательно) метка арии

gridBreakPoint

определение размера сетки для обеспечения отзывчивости

onSelect

(необязательно) функция для обработки выбора таблицы

rowData

(необязательно) данные, специфичные для строки

TableData#

Компонент для отображения данных таблицы внутри строки таблицы.

Пример:

const PodRow: React.FC<RowProps<K8sResourceCommon>> = ({ obj, activeColumnIDs }) => {
  return (
    <>
      <TableData id={columns[0].id} activeColumnIDs={activeColumnIDs}>
        <ResourceLink kind="Pod" name={obj.metadata.name} namespace={obj.metadata.namespace} />
      </TableData>
      <TableData id={columns[1].id} activeColumnIDs={activeColumnIDs}>
        <ResourceLink kind="Namespace" name={obj.metadata.namespace} />
      </TableData>
    </>
  );
};

Имя

Тип значения

id

уникальный идентификатор таблицы

activeColumnIDs

активные столбцы

className

(необязательно) имя класса опции для стилизации

useActiveColumns#

Перехватчик, который предоставляет список выбранных пользователем активных TableColumns.

Пример:

// See implementation for more details on TableColumn type
  const [activeColumns, userSettingsLoaded] = useActiveColumns({
    columns,
    showNamespaceOverride: false,
    columnManagementID,
  });
  return userSettingsAreLoaded ? <VirtualizedTable columns={activeColumns} {...otherProps} /> : null

Имя

Тип значения

options

Которые передаются как карта значений ключа

{TableColumn[]} options.columns

Массив всех доступных TableColumns

{boolean} [options.showNamespaceOverride]

(необязательно) Если это правда, столбец namespace будет включен независимо от выбора управления столбцами

{string} [options.columnManagementID]

(необязательно) Уникальный идентификатор, используемый для сохранения и извлечения параметров управления столбцами в пользовательские настройки и из них. Обычно это строка группы/версии/вида (GVK) для ресурса

Кортеж, содержащий активные столбцы, выбранные текущим пользователем (подмножество options.columns), и логический флаг, указывающий, загружены ли пользовательские настройки.

ListPageHeader#

Компонент для генерации шапки страницы.

Пример:

const exampleList: React.FC = () => {
  return (
    <>
      <ListPageHeader title="Example List Page"/>
    </>
  );
};

Имя

Тип значения

title

заголовок заголовка

helpText

(необязательно) раздел справки как узел реагирования

badge

(необязательно) значок значка в качестве узла реагирования

ListPageCreate#

Компонент для добавления кнопки создания для определенного типа ресурса, который автоматически генерирует ссылку на YAML-файл создания для этого ресурса.

const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreate groupVersionKind="Pod">Create Pod</ListPageCreate>
      </ListPageHeader>
    </>
  );
};

Имя

Тип значения

groupVersionKind

группа/версия/вид ресурсов, которые будут представляться

Компонент для создания стилизованной ссылки.

Пример:

const exampleList: React.FC<MyProps> = () => {
 return (
  <>
   <ListPageHeader title="Example Pod List Page"/>
      <ListPageCreateLink to={'/link/to/my/page'}>Create Item</ListPageCreateLink>
   </ListPageHeader>
  </>
 );
};

Имя

Тип значения

to

расположение строки, куда должна вести ссылка

createAccessReview

(необязательный) объект с namespace и типом, используемым для определения доступа

children

(необязательно) дочерние элементы компонента

ListPageCreateButton#

Компонент для создания кнопки.

Пример:

const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreateButton createAccessReview={access}>Create Pod</ListPageCreateButton>
      </ListPageHeader>
    </>
  );
};

Имя

Тип значения

createAccessReview

(необязательный) объект с namespace и типом, используемым для определения доступа

pfButtonProps

(необязательно) Реквизит Patternfly Button

ListPageCreateDropdown#

Компонент для создания раскрывающегося списка с проверкой разрешений.

const exampleList: React.FC<MyProps> = () => {
  const items = {
    SAVE: 'Save',
    DELETE: 'Delete',
  }
  return (
    <>
     <ListPageHeader title="Example Pod List Page"/>
       <ListPageCreateDropdown createAccessReview={access} items={items}>Actions</ListPageCreateDropdown>
     </ListPageHeader>
    </>
  );
};

Имя

Тип значения

items

key:ReactNode пары элементов для отображения в раскрывающемся компоненте

onClick

функция обратного вызова для щелчка по элементам раскрывающегося списка

createAccessReview

(необязательный) объект с namespace и типом, используемым для определения доступа

children

(необязательно) дочерние элементы для переключателя раскрывающегося списка

ListPageFilter#

Компонент, который генерирует фильтр для страницы списка.

Пример:

  // See implementation for more details on RowFilter and FilterValue types
  const [staticData, filteredData, onFilterChange] = useListPageFilter(
    data,
    rowFilters,
    staticFilters,
  );
  // ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
  return (
    <>
      <ListPageHeader .../>
      <ListPagBody>
        <ListPageFilter data={staticData} onFilterChange={onFilterChange} />
        <List data={filteredData} />
      </ListPageBody>
    </>
  )

Имя

Тип значения

data

Массив точек данных

loaded

указывает на то, что данные загружены

onFilterChange

функция обратного вызова при обновлении фильтра

rowFilters

(необязательно) Массив элементов RowFilter, определяющих доступные параметры фильтра

nameFilterPlaceholder

(необязательно) заполнитель для фильтра имени

labelFilterPlaceholder

(необязательно) заполнитель для фильтра меток

hideLabelFilter

(необязательно) показывает только фильтр имени вместо фильтра имени и метки

hideNameLabelFilter

(необязательно) скрывает фильтр имени и ярлыка

columnLayout

(необязательно) объект макета столбца

hideColumnManagement

(необязательно) флаг, чтобы скрыть управление столбцами

useListPageFilter#

Перехватчик, который управляет состоянием фильтра для компонента ListPageFilter. Он возвращает сообщение, содержащее данные, отфильтрованные всеми статическими фильтрами и/или данные, пропущенные через фильтр строк, а также обратный вызов, обновляющий rowFilters.

Пример:

  // See implementation for more details on RowFilter and FilterValue types
  const [staticData, filteredData, onFilterChange] = useListPageFilter(
    data,
    rowFilters,
    staticFilters,
  );
  // ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
  return (
    <>
      <ListPageHeader .../>
      <ListPagBody>
        <ListPageFilter data={staticData} onFilterChange={onFilterChange} />
        <List data={filteredData} />
      </ListPageBody>
    </>
  )

Имя

Тип значения

data

Массив точек данных

rowFilters

(необязательно) Массив элементов RowFilter, определяющих доступные параметры фильтра

staticFilters

(необязательно) Массив элементов FilterValue, которые статически применяются к данным

Компонент, который создает ссылку на определенный тип ресурса со значком.

Пример:

  <ResourceLink
      kind="Pod"
      name="testPod"
      title={metadata.uid}
  />

Имя

Тип значения

kind

(необязательно) тип ресурса, например Pod, Deployment, Namespace

groupVersionKind

(необязательно) объект с группой, версией и типом

className

(необязательно) стиль класса для компонента

displayName

(необязательно) отображаемое имя компонента, заменяет имя ресурса, если оно установлено

inline

(необязательно) флаг для создания значка и имени, встроенного в дочерние элементы

linkTo

(необязательно) флаг для создания объекта Link — по умолчанию установлено значение true

name

(необязательно) название ресурса

namespace

(необязательно) конкретное namespace для типа ресурса, на который будет ссылаться

hideIcon

(необязательно) флаг, чтобы скрыть значок значка

title

(необязательно) заголовок объекта ссылки (не отображается)

dataTest

(необязательно) идентификатор для тестирования

onClick

(необязательно) функция обратного вызова при нажатии на компонент

truncate

(необязательно) флаг для обрезания длинной ссылки

ResourceIcon#

Компонент, создающий знак для определенного типа ресурса.

Пример:

<ResourceIcon kind="Pod"/>

Имя

Тип значения

kind

(необязательно) тип ресурса, например Pod, Deployment, Namespace

groupVersionKind

(необязательно) объект с группой, версией и типом

className

(необязательно) стиль класса для компонента

useK8sModel#

Webhook, который извлекает модель k8s для предоставленного K8sGroupVersionKind из redux. Он возвращает массив, в котором первый элемент — модель k8s, а второй элемент — inFlight статус.

Пример:

const Component: React.FC = () => {
  const [model, inFlight] = useK8sModel({ group: 'app'; version: 'v1'; kind: 'Deployment' });
  return ...
}

Имя

Тип значения

groupVersionKind

группа, версия, тип ресурса k8s K8sGroupVersionKind является предпочтительным, альтернативно может передавать ссылку на группу, версию, тип, который устарел, т. е. группа/версия/вид (GVK) K8sResourceKindReference

useK8sModels#

Webhook, который извлекает все текущие модели k8s из redux. Он возвращает массив, в котором первый элемент — это список моделей k8s, а второй элемент — inFlight статус.

Пример:

const Component: React.FC = () => {
  const [models, inFlight] = UseK8sModels();
  return ...
}

useK8sWatchResource#

Перехватчик, который извлекает ресурс k8s вместе со статусом загрузки и ошибкой. Он возвращает массив с первым элементом в качестве ресурса(ов), вторым элементом в качестве статуса загрузки и третьим элементом в качестве состояния ошибки, если таковая имеется.

Пример:

const Component: React.FC = () => {
  const watchRes = {
        ...
      }
  const [data, loaded, error] = useK8sWatchResource(watchRes)
  return ...
}

Имя

Тип значения

initResource

варианты, необходимые для наблюдения за ресурсом.

useK8sWatchResources#

Перехватчик, который извлекает ресурсы k8s вместе с их соответствующим статусом загрузки и ошибки. Он возвращает карту, где ключи указаны в initResouces, а значение имеет три свойства: данные загружены и ошибка.

Пример:

const Component: React.FC = () => {
  const watchResources = {
        'deployment': {...},
        'pod': {...}
        ...
      }
  const {deployment, pod} = useK8sWatchResources(watchResources)
  return ...
}

Имя

Тип значения

initResources

Ресурсы необходимо просматривать как пару ключ-значение, где ключ будет уникальным для ресурса, а значение будет параметром, необходимым для наблюдения за соответствующим ресурсом

ConsoleFetch#

Пользовательская оболочка, fetch которая добавляет заголовки, специфичные для консоли, и допускает повторные попытки и тайм-ауты. Она также проверяет код состояния ответа и выдает соответствующую ошибку или выводит пользователя из системы, если это необходимо. Она возвращает обещание, которое разрешается в ответ.

Имя

Тип значения

url

URL-адрес для получения

options

Параметры передачи для извлечения

timeout

Таймаут в миллисекундах

ConsoleFetchJSON#

Пользовательская оболочка fetch, которая добавляет заголовки, специфичные для консоли, и допускает повторные попытки и таймауты. Оболочка также проверяет код состояния ответа и выдает соответствующую ошибку или при необходимости осуществляет выход пользователя из системы. Она возвращает ответ в виде объекта JSON. Использует consoleFetch. Ответ преобразуется в объект JSON.

Имя

Тип значения

url

URL-адрес для получения

method

Используемый метод HTTP. По умолчанию GET

options

Параметры передачи для извлечения

timeout

Таймаут в миллисекундах

cluster

Имя кластера, к которому будет сделан запрос. По умолчанию используется активный кластер, выбранный пользователем

ConsoleFetchText#

Пользовательская оболочка fetch, которая добавляет заголовки, специфичные для консоли, и допускает повторные попытки и таймауты. Оболочка также проверяет код состояния ответа и выдает соответствующую ошибку или при необходимости осуществляет выход пользователя из системы. Она возвращает ответ в виде текста. Использует console Fetch.

Имя

Тип значения

url

URL-адрес для получения

options

Параметры передачи для извлечения

timeout

Таймаут в миллисекундах

cluster

Имя кластера, к которому будет сделан запрос. По умолчанию используется активный кластер, выбранный пользователем

getConsoleRequestHeaders#

Функция, которая создает заголовки, связанные с олицетворением и мультикластером, для запросов API, используя текущее состояние редукции. Она возвращает объект, содержащий соответствующие заголовки олицетворения и запроса кластера, на основе состояния редукции.

Имя

Тип значения

targetCluster

Переопределить текущий активный кластер с помощью предоставленного targetCluster

k8sGetResource#

Инструмент извлекает ресурс из кластера на основе предоставленных параметров. Если указано имя, k8sGetResource возвращает один соответствующий ему ресурс, в противном случае — возвращаются все ресурсы, соответствующие модели. Он возвращает сообщение с объектом JSON, содержащим ресурс. Если не указано имя ресурса - буду выведены все ресурсы соответствующие модели. В случае неудачи вызов отклоняется с ответом об ошибке HTTP.

Имя

Тип значения

options

Передача в качестве пары ключ-значение

options.model

Модель k8s

options.name

Имя ресурса. Если оно не указано, будет выполнен поиск всех ресурсов, соответствующих модели

options.ns

Namespace, которое необходимо просмотреть, не следует указывать для ресурсов в области кластера

options.path

Добавление пути

options.queryParams

Параметры запроса, которые будут включены в URL-адрес

options.requestInit

Извлечение объекта инициализации, который нужно использовать. Он может содержать заголовки запроса, метод, перенаправление и т. д.

k8sCreateResource#

k8sCreateResource создает ресурс в кластере на основе предоставленных параметров. Он создает запрос, который разрешается при успешном создании ресурса. В случае неудачи запрос отклоняется с ответом об ошибке HTTP.

Имя

Тип значения

options

Отображение в виде пары ключ-значение

options.model

Модель k8s

options.data

Полезная нагрузка для создаваемого ресурса

options.path

Добавление пути

options.queryParams

Параметры запроса, которые будут включены в URL-адрес

k8sUpdateResource#

Инструмент k8sUpdateResource обновляет весь ресурс в кластере на основе предоставленных параметров. Когда клиенту необходимо полностью заменить существующий ресурс, он может использовать k8sUpdate. Альтернативно можно использовать k8sPatch для выполнения частичного обновления. Он возвращает запрос, который соответствует ответу обновленного ресурса. В случае неудачи запрос отклоняется с ответом об ошибке HTTP.

Имя

Тип значения

options

Отображение в виде пары ключ-значение

options.model

Модель k8s

options.data

Полезная нагрузка для ресурса k8s будет обновлена

options.ns

Namespace, которое необходимо изучить, его не следует указывать для ресурсов в области кластера

options.name

Имя ресурса, которое необходимо обновить

options.path

Добавление пути

options.queryParams

Параметры запроса, которые будут включены в URL-адрес

k8sPatchResource#

k8sPatchResource исправляет любой ресурс в кластере на основе предоставленных параметров. Применяется при частичном обновлении клиента. В качестве альтернативы можно использовать k8sUpdate для полной замены существующего ресурса. Он возвращает запрос, который соответствует ответу исправленного ресурса. В случае неудачи запрос отклоняется с ответом об ошибке HTTP.

Имя

Тип значения

options

Отображение в виде пары ключ-значение

options.model

Модель k8s

options.resource

Ресурс, который необходимо исправить

options.data

Только данные, которые нужно исправить на существующем ресурсе, с указанием операции, пути и значения

options.path

Добавление пути

options.queryParams

Параметры запроса, которые будут включены в URL-адрес

k8sDeleteResource#

k8sDeleteResource удаляет ресурсы из кластера на основе предоставленной модели ресурса. Сбор мусора работает на основе Foreground | Background можно настроить с помощью свойства propagationPolicy в предоставленной модели или передать в json. Он возвращает сообщение, которое разрешается в ответ типа Status. В случае неудачи сообщение отклоняется с ответом об ошибке HTTP.

Пример:

kind: 'DeleteOptions', apiVersion: 'v1', propagationPolicy

Имя

Тип значения

options

Отображение в виде пары ключ-значение

options.model

Модель k8s

options.resource

Ресурс, который необходимо удалить

options.path

Добавление пути

options.queryParams

Параметры запроса, которые будут включены в URL-адрес

options.requestInit

Извлечение объекта инициализации, который нужно использовать. Он может иметь заголовки запроса, метод, перенаправление и т. д.

options.json

Включение контроля сбора ресурсов, если это предусмотрено, иначе по умолчанию будет использоваться «propagationPolicy» модели

k8sListResource#

Перечисляет ресурсы в виде массива в кластере на основе предоставленных параметров. Он возвращает обещание, которое разрешается в ответ.

Имя

Тип значения

options

Отображение в виде пары ключ-значение

options.model

модель k8s

options.queryParams

Параметры запроса должны быть включены в URL-адрес, а также могут передаваться селекторам меток с помощью ключа «labelSelector»

options.requestInit

Извлечение объекта инициализации, который нужно использовать. Он может иметь заголовки запроса, метод, перенаправление и т. д.

k8sListResourceItems#

Тот же интерфейс, что и у k8sListResource, но возвращает элементы. Он возвращает apiVersion для модели, т. е. group/version.

getAPIVersionForModel#

Предоставляет apiVersion для модели k8s.

Имя

Тип значения

model

Модель k8s

getGroupVersionKindForResource#

Предоставляет группу, версию и тип ресурса. Он возвращает группу, версию и тип предоставленного ресурса. Если у ресурса нет группы API, будет возвращена группа «core». Если ресурс имеет недопустимую версию apiVersion, он выдаст ошибку.

Имя

Тип значения

resource

Ресурс k8s

getGroupVersionKindForModel#

Предоставляет группу, версию и тип модели k8s. Возвращает группу, версию и тип предоставленной модели. Если в модели нет apiGroup, будет возвращена группа «core».

Имя

Тип значения

model

Модель k8s

StatusPopupSection#

Компонент, который показывает статус во всплывающем окне. Компонент для создания console.dashboards/overview/health/resource расширений.

  <StatusPopupSection
    firstColumn={
      <>
        <span>{title}</span>
        <span className="text-secondary">
          My Example Item
        </span>
      </>
    }
    secondColumn='Status'
  >

Имя

Тип значения

firstColumn

значения для первого столбца всплывающего окна

secondColumn

(необязательно) значения для второго столбца всплывающего окна

children

(необязательно) дочерние объекты для всплывающего окна

StatusPopupItem#

Элемент статуса, используемый во всплывающем окне статуса; используется в StatusPopupSection.

Пример:

<StatusPopupSection
   firstColumn='Example'
   secondColumn='Status'
>
   <StatusPopupItem icon={healthStateMapping[MCGMetrics.state]?.icon}>
      Complete
   </StatusPopupItem>
   <StatusPopupItem icon={healthStateMapping[RGWMetrics.state]?.icon}>
       Pending
   </StatusPopupItem>
</StatusPopupSection>

Имя

Тип значения

value

(необязательно) текстовое значение для отображения

icon

(необязательно) значок для отображения

children

дочерние элементы

Overview#

Создает компонент-оболочку для информационной панели.

Пример:

    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>

Имя

Тип значения

className

(необязательно) класс стиля для div

children

(опционально) элементы панели

OverviewGrid#

Создает сетку элементов карточки для дашборда; используется внутри Overview.

Пример:

    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>

Имя

Тип значения

mainCards

карточки для сетки

leftCards

(необязательно) карточки для левой стороны сетки

rightCards

(необязательно) карточки для правой стороны сетки

InventoryItem#

Создает элемент карточки инструментария.

Пример:

  return (
    <InventoryItem>
      <InventoryItemTitle>{title}</InventoryItemTitle>
      <InventoryItemBody error={loadError}>
        {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
      </InventoryItemBody>
    </InventoryItem>
  )

Имя

Тип значения

children

Элементы для визуализации внутри элемента

InventoryItemTitle#

Создает заголовок для элемента карты инструментов; используется внутри InventoryItem.

Пример:

 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )

Имя

Тип значения

children

Элементы для визуализации внутри заголовка

InventoryItemBody#

Создает тело инвентарной карточки; используется внутри InventoryCard и может использоваться с InventoryTitle.

Пример:

 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )

Имя

Тип значения

children

Элементы для визуализации внутри инвентарной карточки или заголовка

error

Элементы div

InventoryItemStatus#

Создает счетчик и значок для инвентарной карточки с дополнительным адресом ссылки; используется внутри InventoryItemBody

Пример:

 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )

Имя

Тип значения

count

считать для отображения

icon

значок для отображения

linkTo

(необязательно) адрес ссылки

InventoryItemLoading#

Создает скелетный контейнер при загрузке карточки инвентаря; используется с InventoryItem и родственными компонентами.

Пример:

if (loadError) {
   title = <Link to={workerNodesLink}>{t('Worker Nodes')}</Link>;
} else if (!loaded) {
  title = <><InventoryItemLoading /><Link to={workerNodesLink}>{t('Worker Nodes')}</Link></>;
}
return (
  <InventoryItem>
    <InventoryItemTitle>{title}</InventoryItemTitle>
  </InventoryItem>
)

useFlag#

Webhook, который возвращает данный флаг функции из состояния FLAGS redux. Он возвращает логическое значение запрошенного флага функции или неопределенное значение.

Имя

Тип значения

flag

Флаг функции, который нужно вернуть

YAMLEditor#

Базовый редактор YAML с отложенной загрузкой, поддержкой при наведении и завершении.

Пример:

<React.Suspense fallback={<LoadingBox />}>
  <YAMLEditor
    value={code}
  />
</React.Suspense>

Имя

Тип значения

value

Строка, представляющая код YAML для визуализации

options

Параметры редактора Monako

minHeight

Минимальная высота редактора в допустимых значениях высоты CSS

showShortcuts

Логическое значение для отображения ярлыков поверх редактора

toolbarLinks

Массив ReactNode, отображаемый в разделе ссылок на панели инструментов в верхней части редактора

onChange

Обратный вызов для события изменения кода

onSave

Обратный вызов вызывается при срабатывании команды CTRL/CMD+S

ref

Реакция на ссылку на { editor?: IStandaloneCodeEditor }. Используя это свойство editor, получается доступ ко всем методам управления редактором

ResourceYAMLEditor#

Редактор YAML с отложенной загрузкой для ресурсов Kubernetes с подсказкой по наведению и завершением. Компонент использует YAMLEditor и добавляет к нему дополнительные функции, такие как обработка обновлений ресурсов, оповещения, кнопки сохранения, отмены и перезагрузки, специальные возможности и многое другое. Если обратный вызов onSave не предусмотрен, обновление ресурса обрабатывается автоматически. ResourceYAMLEditor должен быть включен в компонент React.Suspense.

Пример:

<React.Suspense fallback={<LoadingBox />}>
  <ResourceYAMLEditor
    initialResource={resource}
    header="Create resource"
    onSave={(content) => updateResource(content)}
  />
</React.Suspense>

Имя

Тип значения

initialResource

YAML/Объект, представляющий ресурс, который будет отображаться редактором. Этот реквизит используется только во время первоначальной визуализации

header

Добавление заголовка поверх редактора YAML

onSave

Обратный вызов для кнопки Save. Его передача переопределит обновление по умолчанию, выполняемое для ресурса редактором

ResourceEventStream#

Компонент для отображения событий, связанных с конкретным ресурсом.

Пример:

const [resource, loaded, loadError] = useK8sWatchResource(clusterResource);
return <ResourceEventStream resource={resource} />

Имя

Тип значения

resource

Объект, связанные события которого должны быть показаны

usePrometheusPoll#

Настраивает запрос в Prometheus. usePrometheusPoll возвращает последовательность, содержащую ответ на запрос, логический флаг, указывающий, завершен ли ответ, а также любые ошибки, обнаруженные во время запроса или последующей обработки запроса.

Имя

Тип значения

{PrometheusEndpoint} props.endpoint

одна из PrometheusEndpoint (метка, запрос, диапазон, правила, цели)

{string} [props.query]

(необязательно) Строка запроса Prometheus. Если оно пусто или не определено, опрос не запускается.

{number} [props.delay]

(необязательно) интервал задержки опроса (мс)

{number} [props.endTime]

(необязательно) для точки QUERY_RANGE, конец диапазона запроса.

{number} [props.samples]

(необязательно) для точки QUERY_RANGE

{number} [options.timespan]

(необязательно) для точки QUERY_RANGE

{string} [options.namespace]

(необязательно) параметр поиска для добавления

{string} [options.timeout]

(необязательно) параметр поиска для добавления

Timestamp#

Компонент для отображения временной метки. Временные метки синхронизируются между отдельными экземплярами компонента Timestamp. Предоставленная временная метка форматируется в соответствии с языковыми стандартами пользователя.

Имя

Тип значения

timestamp

Временная метка для визуализации. Ожидается, что формат будет ISO 8601 (используется Kubernetes), временной меткой эпохи или экземпляром даты

simple

Визуализируйте простую версию компонента без значка и всплывающей подсказки

omitSuffix

Форматирует дату без суффикса

className

Дополнительное имя класса для компонента

useModal#

Запуск модальных окон.

Пример:

const context: AppPage: React.FC = () => {<br/> const [launchModal] = useModal();<br/> const onClick = () => launchModal(ModalComponent);<br/> return (<br/>   <Button onClick={onClick}>Launch a Modal</Button><br/> )<br/>}<br/>`

ActionServiceProvider#

Компонент, позволяющий получать вклады от других плагинов для типа расширения console.action/provider.

Пример:

   const context: ActionContext = { 'a-context-id': { dataFromDynamicPlugin } };

   ...

   <ActionServiceProvider context={context}>
       {({ actions, options, loaded }) =>
         loaded && (
           <ActionMenu actions={actions} options={options} variant={ActionMenuVariant.DROPDOWN} />
         )
       }
   </ActionServiceProvider>

Имя

Тип значения

context

Объект с contextId и дополнительными данными плагина

NamespaceBar#

Компонент, который отображает горизонтальную панель инструментов с раскрывающимся меню пространства имен в крайнем левом положении. Дополнительные компоненты можно передать как дочерние, и они будут отображаться справа от раскрывающегося списка пространства имен. Этот компонент предназначен для использования в верхней части страницы. Его следует использовать на страницах, где пользователю необходимо иметь возможность изменять активное пространство имен, например на страницах с ресурсами k8s.

Пример:

   const logNamespaceChange = (namespace) => console.log(`New namespace: ${namespace}`);

   ...

   <NamespaceBar onNamespaceChange={logNamespaceChange}>
     <NamespaceBarApplicationSelector />
   </NamespaceBar>
   <Page>

     ...

Имя

Тип значения

onNamespaceChange

(необязательно) Функция, которая выполняется при выборе опции namespace. Он принимает новое namespace в виде строки в качестве единственного аргумента. Активное namespace обновляется автоматически при выборе опции, но с помощью этой функции можно применить дополнительную логику. При изменении namespace параметр namespace в URL-адресе будет изменен с предыдущего namespace на вновь выбранное namespace

isDisabled

(необязательно) Логический флаг, который отключает раскрывающийся список namespace, если установлено значение true. Этот параметр применяется только к раскрывающемуся списку namespace и не влияет на дочерние компоненты

children

(необязательно) Дополнительные элементы, которые будут отображаться на панели инструментов справа от раскрывающегося списка namespace

ErrorBoundaryFallbackPage#

Создает полностраничный компонент ErrorBoundaryFallbackPage для отображения сообщения об ошибке. Сообщение вместе с трассировкой стека и другой полезной информацией для отладки. Его следует использовать вместе с компонентом.

Пример:

//in ErrorBoundary component
 return (
   if (this.state.hasError) {
     return <ErrorBoundaryFallbackPage errorMessage={errorString} componentStack={componentStackString}
      stack={stackTraceString} title={errorString}/>;
   }

   return this.props.children;
)

Имя

Тип значения

errorMessage

текстовое описание сообщения об ошибке

componentStack

трассировка компонента исключения

stack

трассировка стека исключения

title

заголовок для отображения в качестве заголовка страницы границы ошибки