Создание динамических плагинов#
Динамический плагин позволяет добавлять пользовательские страницы и другие расширения в веб интерфейс во время выполнения. Пользовательский ресурс ConsolePlugin регистрирует плагины в консоли, а администратор кластера включает плагины в конфигурации console-operator.
Динамический плагин позволяет добавить следующие элементы в интерфейс OKD Console:
пользовательские страницы;
права и роли помимо администратора и разработчика;
элементы навигации;
вкладки и действия на страницы ресурсов.
Общие рекомендации#
При создании плагина следуйте рекомендациям:
установите Node.js и yarn для сборки и запуска плагина;
используйте префикс имен классов CSS с именем вашего плагина. Например,
my-plugin__headingиmy-plugin_\_icon;поддерживайте единообразный внешний вид, поведение и навигацию с другими страницами консоли;
следуйте рекомендациям по локализации
response-i18nextпри создании плагина. Используйте WebhookuseTranslation, как в следующем примере: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 web console работает в контейнере, подключенном к кластеру, в который осуществлен вход.
Предварительные условия#
Предварительные условия для разработки динамического плагина:
запущен кластер DropApp;
установлен CLI;
установлен yarn (менеджер пакетов с открытым исходным кодом, используемый для управления зависимостями в проектах JavaScript);
установлен Docker v3.2.0 или новее или Podman.
Процедура#
Процедура разработки динамического плагина
В терминале выполните следующую команду для установки зависимостей плагина:
yarn installПосле установки выполните следующую команду, чтобы запустить менеджер пакетов:
yarn run startВ другом окне терминала войдите через CLI:
kubectl loginЗапустите OCD Console в контейнере, выполнив команду:
yarn run start-console
Проверка#
Посетите страницу localhost:9000, чтобы просмотреть работающий плагин. Проверьте значение window.SERVER_FLAGS.consolePlugins, чтобы увидеть список плагинов, которые загружаются во время выполнения.
Развертывание плагина в кластере#
Создание образов в Docker#
Создайте образ и отправьте его в реестр образов, чтобы развернуть плагин в кластере.
Процедура#
Процедура создания образов
Создайте образ с помощью следующей команды:
docker build -t quay.io/my-repositroy/my-plugin:latestНеобязательно: для тестирования образа запустите следующую команду:
docker push quay.io/my-repository/my-plugin:latestОтправьте образ, выполнив следующую команду:
docker push quay.io/my-repository/my-plugin:latest
Развертывание плагина в кластере#
Выполнение сценария развертывания возможно после отправки образа с изменениями в репозиторий.
Процедура#
Примечание
В сценарии используется менеджер пакетов Helm. Данный инструмент не входит в состав продукта и требует дополнительной установки.
Чтобы развернуть плагин в кластере, установите 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параметра.
Необязательно: укажите дополнительные параметры, используя набор дополнительных параметров в файле 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:e44074f21e0cca6464e50cb6ff934747e0bd11162ea01d522433a1a1ae116103"
podSecurityContext:
enabled: true
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
containerSecurityContext:
enabled: true
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
resources:
requests:
cpu: 10m
memory: 50Mi
Проверка#
Просмотрите список включенных плагинов, перейдя в Administration → Cluster Settings → Configuration → Console → Console plugins или посетив страницу Owerview.
Отключение плагина в браузере#
Операторы OCD Console могут использовать параметр запроса disable-plugins, чтобы отключить определенные или все динамические плагины, которые обычно загружаются во время выполнения.
Процедура#
Процедура отключения плагина
Отключите определенный плагин: удалите плагин, который необходимо отключить, из списка имен плагинов, разделенных запятыми;
отключите все плагины: оставьте пустую строку в параметре запроса
disable-plugins.
Примечание
Администраторы кластера могут отключать плагины на странице Cluster Settings OKD console.
Пример динамического плагина#
Прежде чем приступить к работе с примером, убедитесь, что плагин работает, выполнив действия, описанные в разделе «Разработка динамического плагина».
Добавление вкладки на страницу модулей#
В OKD console можно внести различные настройки. Сценарий добавляет вкладку на страницу сведений о модуле в качестве примера расширения плагина.
Примечание
OKD console работает в контейнере, подключенном к кластеру, в который осуществлен вход, см. раздел «Разработка динамического плагина» для получения информации о тестировании плагина.
Процедура#
Процедура Добавление вкладки на страницу модулей:
Откройте репозиторий
console-plugin-template, содержащий шаблон для создания плагинов в новой вкладке.Создайте репозиторий для шаблона, нажав Use this template → Create new repository.
Переименуйте новый репозиторий, указав имя плагина.
Клонируйте новый репозиторий на локальный компьютер, чтобы иметь возможность редактировать код.
Отредактируйте файл 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": "/*" } }Добавьте в файл console-extensions.json следующее:
{ "type": "console.tab/horizontalNav", "properties": { "page": { "name": "Example Tab", "href": "example" }, "model": { "group": "core", "version": "v1", "kind": "Pod" }, "component": { "$codeRef": "ExampleTab" } } }Отредактируйте файл package.json, включив в него следующие изменения:
"exposedModules": { "ExamplePage": "./components/ExamplePage", "ExampleTab": "./components/ExampleTab" }Напишите сообщение для отображения на новой настраиваемой вкладке на странице модулей, создав новый файл 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> ); }Установите диаграмму 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Посетите страницу
Podчтобы просмотреть добавленную вкладку.
Справочник по настройкам динамического плагина#
В данном разделе представлены расширения, которые позволяют настроить динамический плагин под задачи оператора. Эти расширения затем загружаются в OKD Console во время выполнения.
Ниже представлены типы расширений динамических плагинов с кратким описанием выполняемых действий и синтаксисом.
Console.action/filter#
ActionFilter можно использовать для фильтрации действия.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
contextId |
string |
нет |
Идентификатор контекста помогает сузить объем выполняемых действий до определенной области приложения. Примеры включают topology и helm |
filter |
CodeRef<(scope: any, action: Action)⇒ boolean> |
нет |
Функция, которая будет фильтровать действия по некоторым условиям. |
Console.action/group#
ActionGroup добавляет группу действий, которая также может быть подменю.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
id |
string |
нет |
Идентификатор, используемый для идентификации раздела действий |
label |
string |
да |
Метка, отображаемая в пользовательском интерфейсе. Требуется для подменю |
submenu |
boolean |
да |
Должна ли эта группа отображаться как подменю |
insertBefore |
string |
да |
Вставьте этот элемент перед элементом, указанным здесь. Для массивов используется первый найденный по порядку |
insertAfter |
string |
да |
Вставьте этот элемент после элемента, указанного здесь. Для массивов используется первый найденный по порядку. Значение |
Сonsole.action/provider#
ActionProvider предоставляет перехватчик, который возвращает список действий для определенного контекста.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
contextId |
string |
нет |
Идентификатор контекста помогает сузить объем выполняемых действий до определенной области приложения. Примеры включают topology и helm |
provider |
CodeRe |
нет |
Перехватчик React, который возвращает действия для заданной области. Если |
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 |
|
нет |
Получите элементы и нормализуйте их для каталога. Значение это перехватчик, возвращающий функцию, которая будет использоваться для предоставления метаданных для элементов каталога определенного типа |
priority |
number |
да |
Приоритет для этого провайдера. По умолчанию |
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 |
нет |
Запрос использования Prometheus |
humanize |
CodeRef |
нет |
Преобразование данных Prometheus в форму, удобную для чтения человеком |
TopConsumerPopovers |
CodeRef<React.ComponentType |
да |
Активация всплывающего окна «Top consumer» вместо простого значения |
Console.cluster-overview/utilization-item#
Добавляет новый элемент обзора использования кластера.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
title |
string |
нет |
Название элемента кластера |
getUtilizationQuery |
CodeRef |
нет |
Запрос использования Prometheus |
humanize |
CodeRef |
нет |
Преобразуйте данные Prometheus в удобочитаемую форму |
getTotalQuery |
CodeRef |
да |
Общий запрос Prometheus |
getRequestQuery |
CodeRef |
да |
Запрос запроса Prometheus |
getLimitQuery |
CodeRef |
да |
Запрос ограничения Prometheus |
TopConsumerPopover |
CodeRef<React.ComponentType |
да |
Показывает всплывающее окно «Top consumer» вместо простого значения |
Console.context-provider#
Добавляет нового поставщика контекста React в корень приложения веб-консоли.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
provider |
CodeRef<Provider |
нет |
Компонент поставщика контекста |
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 |
нет |
Компонент действия |
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 |
да |
Определяет статус Операторов |
operatorRowLoader |
CodeRef<React.ComponentType<OperatorRowProps |
да |
Загрузчик компонента всплывающей строки |
viewAllLink |
string |
да |
Ссылки на все страницы ресурсов. Если не указано, то используется страница списка первого ресурса из ресурсов |
Console.dashboards/overview/health/prometheus#
Добавляет подсистему работоспособности в карточку состояния информационной панели Overview, где источник статуса Prometheus.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
title |
string |
нет |
Отображаемое имя подсистемы |
queries |
string[] |
нет |
Запросы Prometheus |
healthHandler |
CodeRef |
нет |
Устраните проблему со здоровьем подсистемы |
additionalResource |
CodeRef |
да |
Дополнительный ресурс, который будет получен и передан в healthHandler |
popupComponent |
CodeRef<React.ComponentType |
да |
Загрузчик содержимого всплывающего меню. Если определено, элемент здоровья представлен в виде ссылки, которая открывает всплывающее меню с заданным содержимым |
popupTitle |
string |
да |
Название popup |
disallowedControlPlaneTopology |
string[] |
да |
Топология плоскости управления, для которой подсистема должна быть скрыта |
Console.dashboards/overview/health/resource#
Добавляет подсистему работоспособности на карточку состояния панели «Overview», где источник состояния ресурс Kubernetes.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
title |
string |
нет |
Отображаемое имя подсистемы |
resources |
CodeRef<WatchK8sResources |
нет |
Ресурсы Kubernetes, которые будут получены и переданы в healthHandler |
healthHandler |
CodeRef<ResourceHealthHandler |
нет |
Устраните проблему со здоровьем подсистемы |
popupComponent |
CodeRef<WatchK8sResults |
да |
Загрузчик содержимого всплывающего меню. Если определено, элемент представлен в виде ссылки, которая открывает всплывающее меню с заданным содержимым |
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 |
да |
Дополнительный ресурс, который будет получен и передан в healthHandler |
popupComponent |
CodeRef<React.ComponentType<{ healthResult?: T; healthResultError?: any; k8sResult?: FirehoseResult |
да |
Загрузчик всплывающего контента. Если этот параметр определен, элемент здоровья будет представлен в виде ссылки, открывающей всплывающее окно с заданным содержимым |
popupTitle |
string |
да |
Название popup |
Console.dashboards/overview/inventory/item#
Добавляет плитку ресурса в карточку состояния панели мониторинга «Overview».
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
model |
CodeRef |
нет |
Модель, для resource которой будет получена информация. Используется для получения модели label или abbr |
mapper |
CodeRef<StatusGroupMapper<T, R>> |
да |
Функция, которая отображает различные статусы в группы |
additionalResources |
CodeRef<WatchK8sResources |
да |
Дополнительные ресурсы, которые будут получены и переданы функции mapper |
Console.dashboards/overview/inventory/item/group#
Добавляет группу статуса запасов.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
id |
string |
нет |
Идентификатор группы статусов |
icon |
|
нет |
Компонент React, представляющий значок группы статуса |
Console.dashboards/overview/inventory/item/replacement#
Заменяет карточку состояния панели мониторинга «Overview».
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
model |
CodeRef |
нет |
Модель, для resource которой будет получена информация. Используется для получения модели label или abbr |
mapper |
CodeRef<StatusGroupMapper<T, R>> |
да |
Функция, которая отображает различные статусы в группы |
additionalResources |
CodeRef<WatchK8sResources |
да |
Дополнительные ресурсы, которые будут получены и переданы функции mapper |
Console.dashboards/overview/prometheus/activity/resource#
Добавляет действие в карточку активности панели Prometheus, где запуск действия основан на просмотре ресурса Kubernetes.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
queries |
string[] |
нет |
Вопросы для просмотра |
component |
CodeRef<React.ComponentType |
нет |
Компонент действия |
isActivity |
CodeRef<(results: PrometheusResponse[]) ⇒ boolean> |
да |
Функция, которая определяет, представляет ли данный ресурс действие. Если не определено, каждый ресурс представляет собой активность |
Console.dashboards/project/overview/item#
Добавляет плитку ресурса в инвентарную карточку обзора проекта.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
model |
CodeRef |
нет |
Модель, для resource которой будет получена информация. Используется для получения модели label или abbr |
mapper |
CodeRef<StatusGroupMapper<T, R>> |
да |
Функция, которая отображает различные статусы в группы |
additionalResources |
CodeRef<WatchK8sResources |
да |
Дополнительные ресурсы, которые будут получены и переданы функции mapper |
Console.dashboards/tab#
Добавляет новую вкладку панели мониторинга, расположенную после вкладки Overview.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
id |
string |
нет |
Уникальный идентификатор вкладки, используемый в качестве ссылки на вкладку href и при добавлении карточек на эту вкладку |
navSection |
'home', 'storage' |
нет |
Раздел навигации, к которому относится вкладка |
title |
string |
нет |
Название вкладки |
Console.file-upload#
Это расширение можно использовать для предоставления обработчика действия по удалению файла для определенных расширений файлов.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
fileExtensions |
string[] |
нет |
Поддерживаемые расширения файлов |
handler |
CodeRef |
нет |
Функция, которая обрабатывает действие по удалению файла |
Console.flag#
Предоставляет полный контроль над флагами функций веб-консоли.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
handler |
CodeRef |
нет |
Используется для установки или снятия произвольных флагов функций |
Console.flag/hookProvider#
Предоставляет полный контроль над флагами функций веб-консоли с помощью обработчиков перехватчиков.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
handler |
CodeRef |
нет |
Используется для установки или снятия произвольных флагов функций |
Console.flag/model#
Добавляет новый флаг функции веб-консоли, зависящий от наличия объекта CustomResourceDefinition(CRD) в кластере.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
flag |
string |
нет |
Имя флага, который будет установлен после обнаружения CRD |
model |
ExtensionK8sModel |
нет |
Модель, которая относится к CRD |
Console.global-config#
Это расширение идентифицирует ресурс, используемый для управления конфигурацией кластера. Ссылка на ресурс будет добавлена на страницу Administration → Cluster Settings → Configuration.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
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, добавляется |
prefixNamespaced |
boolean |
да |
Если true, добавляется |
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 |
нет |
Значок отображения роли |
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 |
нет |
Запрос использования Prometheus |
humanize |
CodeRef |
нет |
Преобразуйте данные Prometheus в удобочитаемую форму |
getTotalQuery |
CodeRef |
да |
Общий запрос Prometheus |
getRequestQuery |
CodeRef |
да |
Запрос запроса Prometheus |
getLimitQuery |
CodeRef |
да |
Запрос ограничения Prometheus |
TopConsumerPopover |
CodeRef<React.ComponentType |
да |
Показывает всплывающее окно с верхним числом потребителей вместо простого значения |
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 |
|
нет |
Предикат, указывающий, использовать расширение или нет |
onPVCKill |
|
нет |
Метод операции удаления PVC |
alert |
|
нет |
Компонент оповещений для отображения дополнительной информации |
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 |
|
нет |
Функция редуктора, работающая в подсостоянии, управляемом редуктором |
Console.resource/create#
Это расширение позволяет плагинам предоставлять пользовательский компонент (например, мастер или форму) для определенных ресурсов, который будет отображаться, когда пользователи попытаются создать новый экземпляр ресурса.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
model |
ExtensionK8sModel |
нет |
Модель, для которой будет отображаться эта страница создания ресурса |
component |
CodeRef<React.ComponentType |
нет |
Компонент, который будет отображаться при совпадении модели |
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 |
нет |
Компонент содержимого вкладки |
Console.tab/horizontalNav#
Это расширение можно использовать для добавления вкладки на страницу сведений о ресурсе.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
model |
ExtensionK8sKindVersionModel |
нет |
Модель, для которой этот поставщик показывает вкладку |
page |
{ name: string; href: string; } |
нет |
Страница, которая будет отображаться в горизонтальной вкладке. В качестве имени и href принимается имя вкладки |
component |
CodeRef<React.ComponentType<PageComponentProps |
нет |
Компонент, который будет отображаться при совпадении маршрута |
Console.telemetry/listener#
Этот компонент можно использовать для регистрации функции, получающей события телеметрии. Эти события включают идентификацию пользователя, навигацию по страницам и другие события, специфичные для приложения. Слушатель может использовать эти данные для целей отчетности и анализа.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
listener |
CodeRef |
нет |
Прослушивание событий телеметрии |
Console.topology/adapter/build#
BuildAdapter предоставляет адаптирует элемент к данным, которые могут использоваться компонентом сборки.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
adapt |
CodeRef<(element: GraphElement) ⇒ AdapterDataType |
undefined> |
нет |
Console.topology/adapter/network#
NetworkAdapater предоставляет адаптер для адаптации элемента к данным, которые могут использоваться компонентом Networking.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
adapt |
CodeRef<(element: GraphElement) ⇒ NetworkAdapterType undefined> |
нет |
Адаптер для адаптации элемента к данным, которые могут использоваться сетевым компонентом |
Console.topology/adapter/pod#
PodAdapter предоставляет адаптация элемента к данным, которые могут использоваться компонентом Pod.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
adapt |
CodeRef<(element: GraphElement) ⇒ AdapterDataType |
нет |
Адаптер для адаптации элемента к данным, которые могут использоваться компонентом Pod |
Console.topology/component/factory#
Getter для ViewComponentFactory.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
getFactory |
CodeRef |
нет |
Getter для ViewComponentFactory |
Console.topology/create/connector#
Getter для функции создания соединителя.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
getCreateConnector |
CodeRef |
нет |
Getter для функции создания соединителя |
Console.topology/data/factory#
Расширение фабрики топологической модели данных
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
id |
string |
нет |
Уникальный идентификатор завода |
priority |
number |
нет |
Приоритет для завода |
resources |
WatchK8sResourcesGeneric |
да |
Ресурсы, которые нужно получить с помощью useK8sWatchResources Webhook |
workloadKeys |
string[] |
да |
Ключи в ресурсах, содержащих рабочие нагрузки |
getDataModel |
CodeRef |
да |
Getter для фабрики моделей данных |
isResourceDepicted |
CodeRef |
да |
Getter для функции, определяющей, отображается ли ресурс в этой фабрике моделей |
getDataModelReconciler |
CodeRef |
да |
Getter для функции для согласования модели данных после загрузки всех моделей расширений |
Console.topology/decorator/provider#
Расширение поставщика декоратора топологии
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
id |
string |
нет |
Идентификатор декоратора топологии, специфичного для расширения |
priority |
number |
нет |
Приоритет декоратора топологии, специфичного для расширения |
quadrant |
TopologyQuadrant |
нет |
Квадрант для декоратора топологии, специфичного для расширения |
decorator |
CodeRef |
нет |
Декоратор, специфичный для расширения |
Console.topology/details/resource-alert#
DetailsResourceAlertвыдает предупреждение для конкретного контекста топологии или элемента графа.
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
id |
string |
нет |
Идентификатор этого оповещения. Используется для сохранения состояния, если предупреждение не должно отображаться после закрытия |
contentProvider |
CodeRef<(element: GraphElement) ⇒ DetailsResourceAlertContent null> |
нет |
Крючок для возврата содержимого оповещения |
Console.topology/details/resource-link#
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 |
нет |
Перехватчик, который возвращает компонент, или, если он равен нулю или не определен, отображается на боковой панели топологии. Компонент SDK: |
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 |
нет |
Функция применения фильтров к модели |
Console.topology/relationship/provider#
Расширение соединителя поставщика взаимосвязей топологии
Имя |
Тип значения |
Обязательность применения |
Описание |
|---|---|---|---|
provides |
CodeRef |
нет |
Используйте, чтобы определить, можно ли создать соединение между исходным и целевым узлом |
tooltip |
string |
нет |
Подсказка, показывающая, когда операция соединителя нависает над целью перетаскивания, например «Создать визуальный соединитель» |
create |
CodeRef |
нет |
Обратный вызов для выполнения, когда соединитель перемещается над целевым узлом для создания соединения |
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 |
|
нет |
Шаблон YAML |
name |
|
нет |
Имя шаблона. Используйте имя 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#
Компонент, отображающий знак успешного исполнения - зеленую галочку.
Пример
Имя параметра |
Описание |
|---|---|
className |
(необязательно) дополнительное имя класса для компонента |
title |
(необязательно) название значка |
size |
(необязательно) размер значка: ( sm, md, lg, xl) |
RedExclamationCircleIcon#
Компонент для отображения значка в виде красного восклицательного знака.
Пример
<GreenCheckCircleIcon title="Healthy" />
Имя |
Тип значения |
|---|---|
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 |
(необязательно) размер значка: ( |
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 |
группа/версия/вид ресурсов, которые будут представляться |
ListPageCreateLink#
Компонент для создания стилизованной ссылки.
Пример
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#
Компонент, который создает ссылку на определенный тип ресурса со значком.
Пример
<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 для отображения сообщения об ошибке. Cообщение вместе с трассировкой стека и другой полезной информацией для отладки. Его следует использовать вместе с компонентом.
Пример
//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 |
заголовок для отображения в качестве заголовка страницы границы ошибки |