From 1180c23ff631aaa03479d480990a59cb5b20f476 Mon Sep 17 00:00:00 2001 From: shofiq Date: Thu, 5 Feb 2026 18:30:28 +0600 Subject: [PATCH 01/12] convert kubedb ui preset to form builder structure Signed-off-by: shofiq --- .../ui/create-ui.yaml | 3168 ++++++++--------- .../ui/functions.js | 1682 ++++----- .../ui/old-create-ui.yaml | 1948 ++++++++++ .../ui/old-function.js | 967 +++++ 4 files changed, 5221 insertions(+), 2544 deletions(-) create mode 100644 charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml create mode 100644 charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index 60a0c8350e..d311d5fdda 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -1,44 +1,41 @@ -steps: -- form: - elements: - - elements: - - discriminator: - bundle: - default: {} - type: object +step: +- type: single-step-form + id: options + elements: + - type: block-layout + if: + name: presetNameEqualsTo|kubedb-ui-presets + type: function + loader: FetchDbBundle + showLabels: false + elements: + - type: block-layout + if: + name: isKubedbUiPreset + type: function elements: - - fetch: FetchDbBundle - if: returnFalse - schema: - $ref: discriminator#/bundle - type: input - elements: - - label: - text: labels.deployment.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/deployment/properties/toggle + - label: Can users modify Deployment type? + schema: schema/properties/spec/properties/admin/properties/deployment/properties/toggle type: switch - - hasDescription: true - options: - - description: labels.deployment.shared + - options: + - description: For exploring databases when high-performance is not required. text: Shared value: Shared - - description: labels.deployment.dedicated + - description: For production applications with sophisticated workload requirements. text: Dedicated value: Dedicated - schema: - $ref: schema#/properties/spec/properties/admin/properties/deployment/properties/default + schema: schema/properties/spec/properties/admin/properties/deployment/properties/default + label: Deployment Type + isHorizontal: true type: radio - hideForm: true - label: - text: labels.deployment.name - show_label: true - type: single-step-form + # hideBlock: true + label: Deployment Type + showLabels: true + type: block-layout - elements: - - label: - text: labels.clusterTier.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/toggle + - label: Can users modify Cluster Tier? + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/toggle type: switch - isHorizontal: true options: @@ -48,1602 +45,1431 @@ steps: value: MemoryOptimized - text: CPU Optimized value: CPUOptimized - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/default + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/default + label: Cluster Tier type: radio - elements: - - label: - text: labels.clusterTier.placement.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle + - label: Can user modify Placement? + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle type: switch - - fetch: getPlacements - label: - text: labels.clusterTier.placement.availablePlacement - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available - type: multiselect + - loader: getPlacements + label: Available Placements + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available + type: select + multiple: true - disableUnselect: true - fetch: getOptions|clusterTier/placement - label: - text: labels.clusterTier.placement.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default + loader: getOptions|clusterTier/placement + label: Default Placement + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default type: select - type: single-step-form + showLabels: false + type: block-layout - elements: - - label: - text: labels.clusterTier.nodeTopology.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle + - label: Can user modify Node Topology? + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle type: switch - - fetch: getNodeTopology - label: - text: labels.clusterTier.nodeTopology.availableNodeTopology - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available - type: multiselect + - loader: getNodeTopology + label: Available Node Topologies + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available + type: select + multiple: true - disableUnselect: true - fetch: getOptions|clusterTier/nodeTopology - label: - text: labels.clusterTier.nodeTopology.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default + loader: getOptions|clusterTier/nodeTopology + label: Default Node Topology + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default type: select - type: single-step-form - hideForm: false - label: - text: labels.clusterTier.name - show_label: true - type: single-step-form - - discriminator: - allDbVersions: - default: {} - type: object - elements: - - fetch: FetchAllDbVersions - if: returnFalse - schema: - $ref: discriminator#/allDbVersions - type: input + showLabels: false + type: block-layout + hideBlock: false + label: Cluster Tier + showLabels: true + type: block-layout + - elements: - elements: - elements: - - label: - text: labels.databases.Cassandra.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle + - label: Can user modify Cassandra Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Cassandra - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Cassandra - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Cassandra - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions - type: single-step-form + - loader: FetchDbVersions|Cassandra + label: Available Versions + watcher: + func: clearDefaultVersion|Cassandra + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Cassandra + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Cassandra - label: - text: labels.databases.Cassandra.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Cassandra + label: Can user modify Cassandra Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Cassandra - label: - text: labels.databases.modes - onChange: clearDefaultMode|Cassandra - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Cassandra - fetch: availableModes|Cassandra - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode - type: single-step-form - hideForm: true - label: - text: Cassandra - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra - show_label: true - type: single-step-form + - loader: fetchModes|Cassandra + label: Available Modes + watcher: + func: clearDefaultMode|Cassandra + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Cassandra + loader: availableModes|Cassandra + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode + showLabels: false + type: block-layout + hideBlock: true + label: Cassandra + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.ClickHouse.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle + - label: Can user modify ClickHouse Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|ClickHouse - label: - text: labels.databases.versions - onChange: clearDefaultVersion|ClickHouse - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|ClickHouse - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions - type: single-step-form + - loader: FetchDbVersions|ClickHouse + label: Available Versions + watcher: + func: clearDefaultVersion|ClickHouse + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|ClickHouse + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|ClickHouse - label: - text: labels.databases.ClickHouse.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|ClickHouse + label: Can user modify ClickHouse Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle type: switch - - fetch: fetchModes|ClickHouse - label: - text: labels.databases.modes - onChange: clearDefaultMode|clickHouse - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|ClickHouse - fetch: availableModes|ClickHouse - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode - type: single-step-form - hideForm: true - label: - text: ClickHouse - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse - show_label: true - type: single-step-form + - loader: fetchModes|ClickHouse + label: Available Modes + watcher: + func: clearDefaultMode|clickHouse + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|ClickHouse + loader: availableModes|ClickHouse + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode + type: block-layout + hideBlock: true + label: ClickHouse + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Druid.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle + - label: Can user modify Druid Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Druid - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Druid - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Druid - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions - type: single-step-form + - loader: FetchDbVersions|Druid + label: Available Versions + watcher: + func: clearDefaultVersion|Druid + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Druid + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Druid - label: - text: labels.databases.Druid.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Druid + label: Can user modify Druid Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Druid - label: - text: labels.databases.modes - onChange: clearDefaultMode|druid - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Druid - fetch: availableModes|Druid - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode - type: single-step-form - hideForm: true - label: - text: Druid - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid - show_label: true - type: single-step-form + - loader: fetchModes|Druid + label: Available Modes + watcher: + func: clearDefaultMode|druid + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Druid + loader: availableModes|Druid + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode + type: block-layout + hideBlock: true + label: Druid + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Elasticsearch.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle + - label: Can user modify Elasticsearch Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Elasticsearch - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Elasticsearch - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Elasticsearch - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions - type: single-step-form + - loader: FetchDbVersions|Elasticsearch + label: Available Versions + watcher: + func: clearDefaultVersion|Elasticsearch + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Elasticsearch + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Elasticsearch - label: - text: labels.databases.Elasticsearch.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Elasticsearch + label: Can user modify Elasticsearch Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Elasticsearch - label: - text: labels.databases.modes - onChange: clearDefaultMode|elasticsearch - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Elasticsearch - fetch: availableModes|Elasticsearch - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode - type: single-step-form - hideForm: true - label: - text: Elasticsearch - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch - show_label: true - type: single-step-form + - loader: fetchModes|Elasticsearch + label: Available Modes + watcher: + func: clearDefaultMode|elasticsearch + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Elasticsearch + loader: availableModes|Elasticsearch + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode + type: block-layout + hideBlock: true + label: Elasticsearch + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.FerretDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle + - label: Can user modify FerretDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|FerretDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|FerretDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|FerretDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions - type: single-step-form + - loader: FetchDbVersions|FerretDB + label: Available Versions + watcher: + func: clearDefaultVersion|FerretDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|FerretDB + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|FerretDB - label: - text: labels.databases.FerretDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|FerretDB + label: Can user modify FerretDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle type: switch - - fetch: fetchModes|FerretDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|ferretdb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|FerretDB - fetch: availableModes|FerretDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode - type: single-step-form - hideForm: true - label: - text: FerretDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB - show_label: true - type: single-step-form + - loader: fetchModes|FerretDB + label: Available Modes + watcher: + func: clearDefaultMode|ferretdb + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|FerretDB + loader: availableModes|FerretDB + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode + type: block-layout + hideBlock: true + label: FerretDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Hazelcast.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle + - label: Can user modify Hazelcast Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Hazelcast - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Hazelcast - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Hazelcast - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions - type: single-step-form + - loader: FetchDbVersions|Hazelcast + label: Available Versions + watcher: + func: clearDefaultVersion|Hazelcast + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Hazelcast + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Hazelcast - label: - text: labels.databases.Hazelcast.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Hazelcast + label: Can user modify Hazelcast Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Hazelcast - label: - text: labels.databases.modes - onChange: clearDefaultMode|Hazelcast - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Hazelcast - fetch: availableModes|Hazelcast - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode - type: single-step-form - hideForm: true - label: - text: Hazelcast - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast - show_label: true - type: single-step-form + - loader: fetchModes|Hazelcast + label: Available Modes + watcher: + func: clearDefaultMode|Hazelcast + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Hazelcast + loader: availableModes|Hazelcast + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode + type: block-layout + hideBlock: true + label: Hazelcast + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Ignite.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle + - label: Can user modify Ignite Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Ignite - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Ignite - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Ignite - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions - type: single-step-form + - loader: FetchDbVersions|Ignite + label: Available Versions + watcher: + func: clearDefaultVersion|Ignite + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Ignite + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Ignite - label: - text: labels.databases.Ignite.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Ignite + label: Can user modify Ignite Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Ignite - label: - text: labels.databases.modes - onChange: clearDefaultMode|Ignite - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Ignite - fetch: availableModes|Ignite - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode - type: single-step-form - hideForm: true - label: - text: Ignite - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite - show_label: true - type: single-step-form + - loader: fetchModes|Ignite + label: Available Modes + watcher: + func: clearDefaultMode|Ignite + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Ignite + loader: availableModes|Ignite + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode + type: block-layout + hideBlock: true + label: Ignite + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Kafka.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle + - label: Can user modify Kafka Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Kafka - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Kafka - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Kafka - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions - type: single-step-form + - loader: FetchDbVersions|Kafka + label: Available Versions + watcher: + func: clearDefaultVersion|Kafka + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Kafka + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Kafka - label: - text: labels.databases.Kafka.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Kafka + label: Can user modify Kafka Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Kafka - label: - text: labels.databases.modes - onChange: clearDefaultMode|kafka - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Kafka - fetch: availableModes|Kafka - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode - type: single-step-form - hideForm: true - label: - text: Kafka - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka - show_label: true - type: single-step-form + - loader: fetchModes|Kafka + label: Available Modes + watcher: + func: clearDefaultMode|kafka + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Kafka + loader: availableModes|Kafka + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode + type: block-layout + hideBlock: true + label: Kafka + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.MSSQLServer.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle + - label: Can user modify MSSQLServer Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|MSSQLServer - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MSSQLServer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MSSQLServer - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions - type: single-step-form + - loader: FetchDbVersions|MSSQLServer + label: Available Versions + watcher: + func: clearDefaultVersion|MSSQLServer + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|MSSQLServer + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|MSSQLServer - label: - text: labels.databases.MSSQLServer.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|MSSQLServer + label: Can user modify MSSQLServer Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle type: switch - - fetch: fetchModes|MSSQLServer - label: - text: labels.databases.modes - onChange: clearDefaultMode|mssqlserver - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MSSQLServer - fetch: availableModes|MSSQLServer - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode - type: single-step-form - hideForm: true - label: - text: MSSQLServer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer - show_label: true - type: single-step-form + - loader: fetchModes|MSSQLServer + label: Available Modes + watcher: + func: clearDefaultMode|mssqlserver + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MSSQLServer + loader: availableModes|MSSQLServer + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode + type: block-layout + hideBlock: true + label: MSSQLServer + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.MariaDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle + - label: Can user modify MariaDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|MariaDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MariaDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MariaDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions - type: single-step-form + - loader: FetchDbVersions|MariaDB + label: Available Versions + watcher: + func: clearDefaultVersion|MariaDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|MariaDB + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|MariaDB - label: - text: labels.databases.MariaDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|MariaDB + label: Can user modify MariaDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle type: switch - - fetch: fetchModes|MariaDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|mariadb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MariaDB - fetch: availableModes|MariaDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode - type: single-step-form - hideForm: true - label: - text: MariaDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB - show_label: true - type: single-step-form + - loader: fetchModes|MariaDB + label: Available Modes + watcher: + func: clearDefaultMode|mariadb + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MariaDB + loader: availableModes|MariaDB + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode + type: block-layout + hideBlock: true + label: MariaDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Memcached.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle + - label: Can user modify Memcached Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Memcached - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Memcached - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Memcached - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions - type: single-step-form + - loader: FetchDbVersions|Memcached + label: Available Versions + watcher: + func: clearDefaultVersion|Memcached + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Memcached + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Memcached - label: - text: labels.databases.Memcached.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Memcached + label: Can user modify Memcached Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Memcached - label: - text: labels.databases.modes - onChange: clearDefaultMode|memcached - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Memcached - fetch: availableModes|Memcached - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode - type: single-step-form - hideForm: true - label: - text: Memcached - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached - show_label: true - type: single-step-form + - loader: fetchModes|Memcached + label: Available Modes + watcher: + func: clearDefaultMode|memcached + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Memcached + loader: availableModes|Memcached + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode + type: block-layout + hideBlock: true + label: Memcached + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.MongoDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle + - label: Can user modify MongoDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|MongoDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MongoDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MongoDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions - type: single-step-form + - loader: FetchDbVersions|MongoDB + label: Available Versions + watcher: + func: clearDefaultVersion|MongoDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|MongoDB + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|MongoDB - label: - text: labels.databases.MongoDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|MongoDB + label: Can user modify MongoDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle type: switch - - fetch: fetchModes|MongoDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|mongodb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MongoDB - fetch: availableModes|MongoDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode - type: single-step-form - hideForm: true - label: - text: MongoDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB - show_label: true - type: single-step-form + - loader: fetchModes|MongoDB + label: Available Modes + watcher: + func: clearDefaultMode|mongodb + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MongoDB + loader: availableModes|MongoDB + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode + type: block-layout + hideBlock: true + label: MongoDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.MySQL.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle + - label: Can user modify MySQL Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|MySQL - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MySQL - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions - type: single-step-form + - loader: FetchDbVersions|MySQL + label: Available Versions + watcher: + func: clearDefaultVersion|MySQL + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|MySQL + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|MySQL - label: - text: labels.databases.MySQL.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|MySQL + label: Can user modify MySQL Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle type: switch - - fetch: fetchModes|MySQL - label: - text: labels.databases.modes - onChange: clearDefaultMode|mysql - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MySQL - fetch: availableModes|MySQL - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode - type: single-step-form - hideForm: true - label: - text: MySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL - show_label: true - type: single-step-form + - loader: fetchModes|MySQL + label: Available Modes + watcher: + func: clearDefaultMode|mysql + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MySQL + loader: availableModes|MySQL + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode + type: block-layout + hideBlock: true + label: MySQL + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Oracle.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle + - label: Can user modify Oracle Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Oracle - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Oracle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Oracle - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions - type: single-step-form + - loader: FetchDbVersions|Oracle + label: Available Versions + watcher: + func: clearDefaultVersion|Oracle + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Oracle + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Oracle - label: - text: labels.databases.Oracle.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Oracle + label: Can user modify Oracle Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Oracle - label: - text: labels.databases.modes - onChange: clearDefaultMode|Oracle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Oracle - fetch: availableModes|Oracle - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode - type: single-step-form - hideForm: true - label: - text: Oracle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle - show_label: true - type: single-step-form + - loader: fetchModes|Oracle + label: Available Modes + watcher: + func: clearDefaultMode|Oracle + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Oracle + loader: availableModes|Oracle + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode + type: block-layout + hideBlock: true + label: Oracle + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.PerconaXtraDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle + - label: Can user modify PerconaXtraDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|PerconaXtraDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|PerconaXtraDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|PerconaXtraDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions - type: single-step-form + - loader: FetchDbVersions|PerconaXtraDB + label: Available Versions + watcher: + func: clearDefaultVersion|PerconaXtraDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|PerconaXtraDB + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|PerconaXtraDB - label: - text: labels.databases.PerconaXtraDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|PerconaXtraDB + label: Can user modify PerconaXtraDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle type: switch - - fetch: fetchModes|PerconaXtraDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|perconaxtradb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|PerconaXtraDB - fetch: availableModes|PerconaXtraDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode - type: single-step-form - hideForm: true - label: - text: PerconaXtraDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB - show_label: true - type: single-step-form + - loader: fetchModes|PerconaXtraDB + label: Available Modes + watcher: + func: clearDefaultMode|perconaxtradb + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|PerconaXtraDB + loader: availableModes|PerconaXtraDB + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode + type: block-layout + hideBlock: true + label: PerconaXtraDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.PgBouncer.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle + - label: Can user modify PgBouncer Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|PgBouncer - label: - text: labels.databases.versions - onChange: clearDefaultVersion|PgBouncer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|PgBouncer - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions - type: single-step-form + - loader: FetchDbVersions|PgBouncer + label: Available Versions + watcher: + func: clearDefaultVersion|PgBouncer + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|PgBouncer + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|PgBouncer - label: - text: labels.databases.PgBouncer.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|PgBouncer + label: Can user modify PgBouncer Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle type: switch - - fetch: fetchModes|PgBouncer - label: - text: labels.databases.modes - onChange: clearDefaultMode|pgbouncer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|PgBouncer - fetch: availableModes|PgBouncer - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode - type: single-step-form - hideForm: true - label: - text: PgBouncer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer - show_label: true - type: single-step-form + - loader: fetchModes|PgBouncer + label: Available Modes + watcher: + func: clearDefaultMode|pgbouncer + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|PgBouncer + loader: availableModes|PgBouncer + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode + type: block-layout + hideBlock: true + label: PgBouncer + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Pgpool.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle + - label: Can user modify Pgpool Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Pgpool - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Pgpool - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Pgpool - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions - type: single-step-form + - loader: FetchDbVersions|Pgpool + label: Available Versions + watcher: + func: clearDefaultVersion|Pgpool + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Pgpool + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Pgpool - label: - text: labels.databases.Pgpool.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Pgpool + label: Can user modify Pgpool Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Pgpool - label: - text: labels.databases.modes - onChange: clearDefaultMode|pgpool - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Pgpool - fetch: availableModes|Pgpool - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode - type: single-step-form - hideForm: true - label: - text: Pgpool - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool - show_label: true - type: single-step-form + - loader: fetchModes|Pgpool + label: Available Modes + watcher: + func: clearDefaultMode|pgpool + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Pgpool + loader: availableModes|Pgpool + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode + type: block-layout + hideBlock: true + label: Pgpool + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Postgres.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle + - label: Can user modify Postgres Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Postgres - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Postgres - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Postgres - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions - type: single-step-form + - loader: FetchDbVersions|Postgres + label: Available Versions + watcher: + func: clearDefaultVersion|Postgres + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Postgres + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Postgres - label: - text: labels.databases.Postgres.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Postgres + label: Can user modify Postgres Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Postgres - label: - text: labels.databases.modes - onChange: clearDefaultMode|postgres - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Postgres - fetch: availableModes|Postgres - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode - type: single-step-form - hideForm: true - label: - text: Postgres - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres - show_label: true - type: single-step-form + - loader: fetchModes|Postgres + label: Available Modes + watcher: + func: clearDefaultMode|postgres + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Postgres + loader: availableModes|Postgres + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode + type: block-layout + hideBlock: true + label: Postgres + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.ProxySQL.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle + - label: Can user modify ProxySQL Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|ProxySQL - label: - text: labels.databases.versions - onChange: clearDefaultVersion|ProxySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|ProxySQL - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions - type: single-step-form + - loader: FetchDbVersions|ProxySQL + label: Available Versions + watcher: + func: clearDefaultVersion|ProxySQL + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|ProxySQL + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|ProxySQL - label: - text: labels.databases.ProxySQL.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|ProxySQL + label: Can user modify ProxySQL Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle type: switch - - fetch: fetchModes|ProxySQL - label: - text: labels.databases.modes - onChange: clearDefaultMode|proxysql - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|ProxySQL - fetch: availableModes|ProxySQL - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode - type: single-step-form - hideForm: true - label: - text: ProxySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL - show_label: true - type: single-step-form + - loader: fetchModes|ProxySQL + label: Available Modes + watcher: + func: clearDefaultMode|proxysql + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|ProxySQL + loader: availableModes|ProxySQL + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode + type: block-layout + hideBlock: true + label: ProxySQL + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.RabbitMQ.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle + - label: Can user modify RabbitMQ Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|RabbitMQ - label: - text: labels.databases.versions - onChange: clearDefaultVersion|RabbitMQ - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|RabbitMQ - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions - type: single-step-form + - loader: FetchDbVersions|RabbitMQ + label: Available Versions + watcher: + func: clearDefaultVersion|RabbitMQ + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|RabbitMQ + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|RabbitMQ - label: - text: labels.databases.RabbitMQ.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|RabbitMQ + label: Can user modify RabbitMQ Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle type: switch - - fetch: fetchModes|RabbitMQ - label: - text: labels.databases.modes - onChange: clearDefaultMode|rabbitmq - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|RabbitMQ - fetch: availableModes|RabbitMQ - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode - type: single-step-form - hideForm: true - label: - text: RabbitMQ - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ - show_label: true - type: single-step-form + - loader: fetchModes|RabbitMQ + label: Available Modes + watcher: + func: clearDefaultMode|rabbitmq + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|RabbitMQ + loader: availableModes|RabbitMQ + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode + type: block-layout + hideBlock: true + label: RabbitMQ + # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Redis.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle + - label: Can user modify Redis Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Redis - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Redis - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Redis - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions - type: single-step-form + - loader: FetchDbVersions|Redis + label: Available Versions + watcher: + func: clearDefaultVersion|Redis + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Redis + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Redis - label: - text: labels.databases.Redis.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Redis + label: Can user modify Redis Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Redis - label: - text: labels.databases.modes - onChange: clearDefaultMode|redis - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Redis - fetch: availableModes|Redis - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode - type: single-step-form - hideForm: true - label: - text: Redis - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis - show_label: true - type: single-step-form + - loader: fetchModes|Redis + label: Available Modes + watcher: + func: clearDefaultMode|redis + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Redis + loader: availableModes|Redis + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode + type: block-layout + hideBlock: true + label: Redis + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Singlestore.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle + - label: Can user modify Singlestore Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Singlestore - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Singlestore - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Singlestore - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions - type: single-step-form + - loader: FetchDbVersions|Singlestore + label: Available Versions + watcher: + func: clearDefaultVersion|Singlestore + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Singlestore + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Singlestore - label: - text: labels.databases.Singlestore.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Singlestore + label: Can user modify Singlestore Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Singlestore - label: - text: labels.databases.modes - onChange: clearDefaultMode|singlestore - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Singlestore - fetch: availableModes|Singlestore - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode - type: single-step-form - hideForm: true - label: - text: Singlestore - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore - show_label: true - type: single-step-form + - loader: fetchModes|Singlestore + label: Available Modes + watcher: + func: clearDefaultMode|singlestore + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Singlestore + loader: availableModes|Singlestore + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode + type: block-layout + hideBlock: true + label: Singlestore + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.Solr.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle + - label: Can user modify Solr configuration? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|Solr - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Solr - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Solr - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions - type: single-step-form + - loader: FetchDbVersions|Solr + label: Available Versions + watcher: + func: clearDefaultVersion|Solr + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|Solr + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|Solr - label: - text: labels.databases.Solr.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|Solr + label: Can user modify Solr Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle type: switch - - fetch: fetchModes|Solr - label: - text: labels.databases.modes - onChange: clearDefaultMode|solr - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Solr - fetch: availableModes|Solr - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode - type: single-step-form - hideForm: true - label: - text: Solr - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr - show_label: true - type: single-step-form + - loader: fetchModes|Solr + label: Available Modes + watcher: + func: clearDefaultMode|solr + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Solr + loader: availableModes|Solr + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode + type: block-layout + hideBlock: true + label: Solr + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr + showLabels: true + type: block-layout - elements: - elements: - - label: - text: labels.databases.ZooKeeper.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle + - label: Can user modify ZooKeeper Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle type: switch - - fetch: FetchDbVersions|ZooKeeper - label: - text: labels.databases.versions - onChange: clearDefaultVersion|ZooKeeper - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|ZooKeeper - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions - type: single-step-form + - loader: FetchDbVersions|ZooKeeper + label: Available Versions + watcher: + func: clearDefaultVersion|ZooKeeper + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available + type: select + multiple: true + - loader: availableVersions|ZooKeeper + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions + type: block-layout - elements: - - computed: checkModeToggle|ZooKeeper - label: - text: labels.databases.ZooKeeper.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle + - init: + type: func + value: checkModeToggle|ZooKeeper + label: Can user modify ZooKeeper Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle type: switch - - fetch: fetchModes|ZooKeeper - label: - text: labels.databases.modes - onChange: clearDefaultMode|zookeeper - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|ZooKeeper - fetch: availableModes|ZooKeeper - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode - type: single-step-form - hideForm: true - label: - text: Zookeeper - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper - show_label: true - type: single-step-form - hideForm: true - label: - text: labels.databases.name - show_label: true - type: single-step-form + - loader: fetchModes|ZooKeeper + label: Available Modes + watcher: + func: clearDefaultMode|zookeeper + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|ZooKeeper + loader: availableModes|ZooKeeper + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode + type: block-layout + hideBlock: true + label: Zookeeper + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper + showLabels: true + type: block-layout + hideBlock: true + loader: FetchAllDbVersions + label: Configure Databases + showLabels: true + type: block-layout - elements: - - label: - text: Can user modify AuthCredential? - schema: - $ref: schema#/properties/spec/properties/admin/properties/authCredential/properties/customize + - label: Can user modify AuthCredential? + schema: schema/properties/spec/properties/admin/properties/authCredential/properties/customize type: switch - - label: - text: Can user refer existing Auth? - schema: - $ref: schema#/properties/spec/properties/admin/properties/authCredential/properties/referExisting + - label: Can user refer existing Auth? + schema: schema/properties/spec/properties/admin/properties/authCredential/properties/referExisting type: switch - hideForm: true - label: - text: Auth Credential - show_label: true - type: single-step-form + hideBlock: true + label: Auth Credential + showLabels: true + type: block-layout - elements: - - label: - text: Custom Configuration - schema: - $ref: schema#/properties/spec/properties/admin/properties/customConfiguration + - label: Custom Configuration + schema: schema/properties/spec/properties/admin/properties/customConfiguration type: switch - hideForm: true - label: - text: Custom Configuration - show_label: true - type: single-step-form - - discriminator: - enableProfiles: - default: true - type: boolean - elements: - - computed: hasMachineProfiles - label: - text: Use custom profiles? - onChange: onMachineProfilesToggle - schema: - $ref: discriminator#/enableProfiles + hideBlock: true + label: Custom Configuration + showLabels: true + type: block-layout + - elements: + - init: + type: func + value: hasMachineProfiles + label: Use custom profiles? + watcher: + func: onMachineProfilesToggle + paths: + - discriminator/enableProfiles + schema: discriminator/enableProfiles type: switch - - discriminator: - useCustomProfile: - type: boolean - elements: - - addFormLabel: MachineProfile - element: - discriminator: - profile: - default: "" - type: string - profileChoseSwitch: - default: false - type: boolean - elements: - - label: - text: Choose from well-known profiles - schema: - $ref: discriminator#/profileChoseSwitch - type: switch - - fetch: getKnownProfile - if: isKnownProfileToggled - label: - text: Profile - schema: - $ref: discriminator#/profile - type: select - - computed: getProfileName - label: - text: ID - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/id - type: input - - computed: getProfileName - label: - text: Name - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/name - type: input - - elements: - - computed: setLimits|cpu - label: - text: CPU Limits - required: true - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits/properties/cpu - type: input - - computed: setLimits|memory - label: - text: Memory Limits - required: true - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits/properties/memory - type: input - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits - type: single-step-form - type: single-step-form - hideDetailsButton: true - label: - text: Machine Profiles - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines - tableContents: - - inTableColumn: true - label: - text: ID - path: id - type: value - typeOfValue: string - - inTableColumn: true - label: - text: Name - path: name - type: value - typeOfValue: string - - inTableColumn: true - label: - text: Limits - path: limits - type: value - typeOfValue: string - temporaryPath: /profile - type: single-step-form-array - - computed: hasCustomProfile - label: - text: Can users set their own custom CPU & memory resources? - schema: - $ref: discriminator#/useCustomProfile + - elements: + - elements: + - label: Choose from well-known profiles + schema: temp/profileChoseSwitch + type: switch + - loader: getKnownProfile + if: + name: isKnownProfileToggled + type: function + label: Profile + schema: temp/profile + type: select + - loader: + name: getProfileName + watchPaths: + - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + watcher: + func: onProfileIdChange + paths: + - schema/spec/admin/machineProfiles/machines/dynamicIndex/id + label: ID + validation: + type: required + schema: id + type: input + - loader: + name: getProfileName + watchPaths: + - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: Name + schema: name + type: input + - loader: + name: setLimits|cpu + watchPaths: + - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: CPU Limits + validation: + type: required + schema: limits/properties/cpu + type: input + - loader: + name: setLimits|memory + watchPaths: + - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: Memory Limits + validation: + type: required + schema: limits/properties/memory + type: input + label: Machine Profiles + schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/machines + # temporaryPath: /profile + type: array-object-form + - init: + type: func + value: hasCustomProfile + label: Can users set their own custom CPU & memory resources? + schema: discriminator/useCustomProfile type: switch - - computed: setCustomAvlMachine + - init: + type: func + value: setCustomAvlMachine customClass: mt-10 - fetch: getMachines - label: - text: Available Machines - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/available - type: multiselect - - fetch: getAvailableMachines - label: - text: Default Machine - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/default + loader: getMachines + label: Available Machines + schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/available type: select - if: isEnableProfiles - type: single-step-form - hideForm: true - label: - text: Configure MachineProfiles - show_label: true - type: single-step-form + multiple: true + - loader: getAvailableMachines + label: Default Machine + schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/default + type: select + if: + name: isEnableProfiles + type: function + type: block-layout + hideBlock: true + label: Configure MachineProfiles + showLabels: true + type: block-layout - elements: - - label: - text: labels.storageClass.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/toggle + - label: Can users modify Storage Class? + schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/toggle type: switch - - fetch: getStorageClass - label: - text: labels.storageClass.available - schema: - $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/available - type: multiselect - - computed: setStorageClass - fetch: getOptions|storageClasses - label: - text: labels.storageClass.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/default + - loader: getStorageClass + label: Available Storage Classes + schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/available + type: select + multiple: true + - init: + type: func + value: setStorageClass + loader: getOptions|storageClasses + label: Default Storage Class + schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/default type: select - hideForm: false - label: - text: labels.storageClass.name - show_label: true - type: single-step-form + hideBlock: false + label: Storage Class + showLabels: true + type: block-layout - elements: - - label: - text: labels.tls.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/tls/properties/toggle + - label: Can users modify TLS? + schema: schema/properties/spec/properties/admin/properties/tls/properties/toggle type: switch - - label: - text: labels.tls.default - onChange: preSelectClusterIssuer - schema: - $ref: schema#/properties/spec/properties/admin/properties/tls/properties/default + - label: Enable TLS? + watcher: + func: preSelectClusterIssuer + paths: + - schema/properties/spec/properties/admin/properties/tls/properties/default + schema: schema/properties/spec/properties/admin/properties/tls/properties/default type: switch - hideForm: true - label: - text: labels.tls.name - show_label: true - type: single-step-form + hideBlock: true + label: TLS + showLabels: true + type: block-layout - elements: - - label: - text: labels.clusterIssuers.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle + - label: Can user modify Cluster Issuers? + schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle type: switch - - fetch: getClusterIssuers - label: - text: labels.clusterIssuers.available - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/available - type: multiselect - - fetch: getOptions|clusterIssuers - label: - text: labels.clusterIssuers.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/default + - loader: getClusterIssuers + label: Available Cluster Issuers + schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/available type: select - hideForm: false - label: - text: labels.clusterIssuers.name - show_label: true - type: single-step-form + multiple: true + - loader: getOptions|clusterIssuers + label: Default Cluster Issuer + schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/default + type: select + hideBlock: false + label: Cluster Issuers + showLabels: true + type: block-layout - elements: - - label: - text: labels.expose.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/expose/properties/toggle + - label: Can users modify Exposer via gateway? + schema: schema/properties/spec/properties/admin/properties/expose/properties/toggle type: switch - - label: - text: labels.expose.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/expose/properties/default + - label: Expose via gateway? + schema: schema/properties/spec/properties/admin/properties/expose/properties/default type: switch - hideForm: true - label: - text: labels.expose.name - show_label: true - type: single-step-form + hideBlock: true + label: Expose + showLabels: true + type: block-layout - elements: - - label: - text: labels.monitoring.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/toggle + - label: Can users modify Monitoring? + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/toggle type: switch - - label: - text: labels.monitoring.agent + - label: Agent options: - text: prometheus.io/operator value: prometheus.io/operator @@ -1651,40 +1477,41 @@ steps: value: prometheus.io - text: prometheus.io/builtin value: prometheus.io/builtin - schema: - $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/agent + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/agent type: radio - - elements: - - label: - text: labels.monitoring.exporter.name - schema: - $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources - type: resource-input-form - type: single-step-form - hideForm: true - label: - text: labels.monitoring.name - show_label: true - type: single-step-form + - type: horizontal-layout + label: Resources + showLabels: true + elements: + - type: input + label: CPU Requests + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/requests/properties/cpu + - type: input + label: CPU Limits + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/limits/properties/cpu + - type: input + label: Memory Requests + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/requests/properties/memory + - type: input + label: Memory Limits + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/limits/properties/memory + hideBlock: true + label: Monitoring + showLabels: true + type: block-layout - elements: - - label: - text: labels.alert.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/alert/properties/toggle + - label: Can user modify Alert? + schema: schema/properties/spec/properties/admin/properties/alert/properties/toggle type: switch - hideForm: true - label: - text: labels.alert.name - show_label: true - type: single-step-form + hideBlock: true + label: Alert + showLabels: true + type: block-layout - elements: - - label: - text: labels.deletionPolicy.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/deletionPolicy/properties/toggle + - label: Can user modify Deletion Policy? + schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/toggle type: switch - - label: - text: labels.deletionPolicy.default + - label: Default Deletion Policy options: - description: options.deletionPolicy.delete.description text: options.deletionPolicy.delete.label @@ -1698,251 +1525,150 @@ steps: - description: options.deletionPolicy.doNotTerminate.description text: options.deletionPolicy.doNotTerminate.label value: DoNotTerminate - schema: - $ref: schema#/properties/spec/properties/admin/properties/deletionPolicy/properties/default + schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/default type: select - hideForm: true - label: - text: labels.deletionPolicy.name - show_label: true - type: single-step-form - - elements: - - addFormLabel: labels.tolerations.label - element: - elements: - - label: - text: labels.tolerations.key - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/key - type: input - - label: - text: labels.tolerations.operator - options: - - NoSchedule - - PreferNoSchedule - - NoExecute - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/operator - type: select - - label: - text: labels.tolerations.value - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/value - type: input - - label: - text: labels.tolerations.effect - options: - - Exists - - Equal - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/effect - type: select - - label: - text: labels.tolerations.tolerationSeconds - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/tolerationSeconds - type: input - type: single-step-form - label: - text: labels.tolerations.label - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations - tableContents: - - inTableColumn: true - label: - text: labels.tolerations.effect - path: effect - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.key - path: key - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.operator - path: operator - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.tolerationSeconds - path: tolerationSeconds - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.value - path: value - type: value - typeOfValue: string - type: single-step-form-array - hideForm: true - label: - text: labels.tolerations.label - show_label: true - type: single-step-form + hideBlock: true + label: Deletion Policy + showLabels: true + type: block-layout - elements: - - isArray: true - keys: - label: - text: labels.nodeSelector.key - schema: - $ref: schema#/properties/spec/properties/admin/properties/nodeSelector - type: key-value-input-form - values: - label: - text: labels.nodeSelector.value - schema: - $ref: schema#/properties/spec/properties/admin/properties/nodeSelector/additionalProperties + - elements: + - label: Key + schema: key + type: input + - label: Operator + options: + - NoSchedule + - PreferNoSchedule + - NoExecute + schema: operator + type: select + - label: Value + schema: value type: input - hideForm: true - label: - text: labels.nodeSelector.label - show_label: true - type: single-step-form + - label: Effect + options: + - Exists + - Equal + schema: effect + type: select + - label: Toleration Seconds + schema: tolerationSeconds + type: input + label: Tolerations + schema: schema/properties/spec/properties/admin/properties/tolerations + type: array-object-form + hideBlock: true + label: Tolerations + showLabels: true + type: block-layout - elements: - - label: - text: labels.backup.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/backup/properties/enable/properties/toggle + - label: Key + schema: schema/properties/spec/properties/admin/properties/nodeSelector + type: object-item + buttonClass: is-light is-outlined + hideBlock: true + label: Node Selector + showLabels: true + type: block-layout + - elements: + - label: Can user modify Backup? + schema: schema/properties/spec/properties/admin/properties/backup/properties/enable/properties/toggle type: switch - - label: - text: labels.backup.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/backup/properties/enable/properties/default + - label: Enable Backup + schema: schema/properties/spec/properties/admin/properties/backup/properties/enable/properties/default type: switch - isHorizontal: true - label: - text: Take Backup by + label: Take Backup by options: - text: BackupConfiguration value: BackupConfiguration - text: BackupBlueprint value: BackupBlueprint - schema: - $ref: schema#/properties/spec/properties/admin/properties/backup/properties/by + schema: schema/properties/spec/properties/admin/properties/backup/properties/by type: radio - hideForm: true - label: - text: labels.backup.name - show_label: true - type: single-step-form + hideBlock: true + label: Backup + showLabels: true + type: block-layout - elements: - - label: - text: labels.pointInTimeRecovery.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/toggle + - label: Can users modify Point In-Time Recovery? + schema: schema/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/toggle type: switch - - label: - text: labels.pointInTimeRecovery.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/default + - label: Enable Point In-Time Recovery + schema: schema/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/default type: switch - hideForm: true - label: - text: labels.pointInTimeRecovery.name - show_label: true - type: single-step-form + hideBlock: true + label: Point In Time-Recovery + showLabels: true + type: block-layout - elements: - - label: - text: labels.archiver.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/archiver/properties/enable/properties/toggle + - label: Can user modify Archiver? + schema: schema/properties/spec/properties/admin/properties/archiver/properties/enable/properties/toggle type: switch - - label: - text: labels.archiver.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/archiver/properties/enable/properties/default + - label: Default Archiver + schema: schema/properties/spec/properties/admin/properties/archiver/properties/enable/properties/default type: switch - hideForm: true - label: - text: labels.archiver.name - show_label: true - type: single-step-form + hideBlock: true + label: Archiver + showLabels: true + type: block-layout - elements: - - label: - text: labels.showPreview.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/showPreview + - label: Show Preview? + schema: schema/properties/spec/properties/admin/properties/showPreview type: switch - - label: - text: Enable Gitops - schema: - $ref: schema#/properties/spec/properties/admin/properties/gitOps/properties/enable/properties/default + - label: Enable Gitops + schema: schema/properties/spec/properties/admin/properties/gitOps/properties/enable/properties/default type: switch - hideForm: true - label: - text: labels.showPreview.name - show_label: true - type: single-step-form + hideBlock: true + label: Preview + showLabels: true + type: block-layout - elements: - - label: - text: labels.leftPanel.showBackup - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showBackup + - label: Show Backup? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showBackup type: switch - - label: - text: labels.leftPanel.showBackupLegacy - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showBackupLegacy + - label: Show BackupLegacy? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showBackupLegacy type: switch - - label: - text: labels.leftPanel.showInsights - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showInsights + - label: Show Insights? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showInsights type: switch - - label: - text: labels.leftPanel.showOperations - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showOperations + - label: Show Operations? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showOperations type: switch - - label: - text: labels.leftPanel.showSecurity - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showSecurity + - label: Show Security? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showSecurity type: switch - - label: - text: labels.leftPanel.showVaultInfo - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showVaultInfo + - label: Show VaultInfo? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showVaultInfo type: switch - hideForm: true - label: - text: labels.leftPanel.name - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel - show_label: true - type: single-step-form - if: isKubedbUiPreset - type: single-step-form - if: presetNameEqualsTo|kubedb-ui-presets - type: single-step-form + hideBlock: true + label: Left Panel + # schema: schema/properties/spec/properties/admin/properties/leftPanel + showLabels: true + type: block-layout - elements: - elements: - - alias: reusable_stash-presets - chart: - name: uibytebuildersdev-component-stash-presets - version: v0.29.0 - moduleResolver: fetchJsons - schema: - $ref: schema#/properties/spec/properties/backup/properties/kubestash - type: reusable-element - - computed: setTool - if: returnFalse - schema: - $ref: schema#/properties/spec/properties/backup/properties/tool - type: input - schema: - $ref: schema#/properties/spec/properties/backup - type: single-step-form - if: presetNameEqualsTo|stash-presets - type: single-step-form - - elements: [] - type: single-step-form - type: single-step-form - id: options - title: Basic + - type: input + label: demo + schema: schema/properties/demo + if: + name: returnFalse + type: function + # - alias: reusable_stash-presets + # chart: + # name: uibytebuildersdev-component-stash-presets + # version: v0.29.0 + # moduleResolver: fetchJsons + # schema: + # $ref: schema#/properties/spec/properties/backup/properties/kubestash + # type: reusable-element + # schema: schema/properties/spec/properties/backup + loader: setTool + type: block-layout + if: + name: presetNameEqualsTo|stash-presets + type: function + type: block-layout type: multi-step-form diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index 9092043b9d..abaf884e88 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -1,967 +1,1003 @@ -const machinesMap = { - 'db.t.micro': { - resources: { - requests: { - cpu: '250m', - memory: '512Mi', - }, - limits: { - cpu: '500m', - memory: '1Gi', +const { ref, computed, axios, watch, useOperator, store } = window.vueHelpers || {} + +export const useFunc = (model) => { + const { getValue, setDiscriminatorValue, commit, storeGet, discriminator } = useOperator( + model, + store.state, + ) + + /********** Initialize Discriminator **************/ + + setDiscriminatorValue('/bundle', {}) + setDiscriminatorValue('/allDbVersions', {}) + setDiscriminatorValue('/enableProfiles', true) + setDiscriminatorValue('/useCustomProfile', false) + setDiscriminatorValue('/profile', '') + setDiscriminatorValue('/profileChoseSwitch', false) + + /************** Common Funcitons ******************/ + + const machinesMap = { + 'db.t.micro': { + resources: { + requests: { + cpu: '250m', + memory: '512Mi', + }, + limits: { + cpu: '500m', + memory: '1Gi', + }, }, }, - }, - 'db.t.small': { - resources: { - requests: { - cpu: '1', - memory: '1Gi', - }, - limits: { - cpu: '2', - memory: '2Gi', + 'db.t.small': { + resources: { + requests: { + cpu: '1', + memory: '1Gi', + }, + limits: { + cpu: '2', + memory: '2Gi', + }, }, }, - }, - 'db.t.medium': { - resources: { - requests: { - cpu: '1', - memory: '2Gi', - }, - limits: { - cpu: '2', - memory: '4Gi', + 'db.t.medium': { + resources: { + requests: { + cpu: '1', + memory: '2Gi', + }, + limits: { + cpu: '2', + memory: '4Gi', + }, }, }, - }, - 'db.t.large': { - resources: { - requests: { - cpu: '1', - memory: '4Gi', - }, - limits: { - cpu: '2', - memory: '8Gi', + 'db.t.large': { + resources: { + requests: { + cpu: '1', + memory: '4Gi', + }, + limits: { + cpu: '2', + memory: '8Gi', + }, }, }, - }, - 'db.t.xlarge': { - resources: { - requests: { - cpu: '2', - memory: '8Gi', - }, - limits: { - cpu: '4', - memory: '16Gi', + 'db.t.xlarge': { + resources: { + requests: { + cpu: '2', + memory: '8Gi', + }, + limits: { + cpu: '4', + memory: '16Gi', + }, }, }, - }, - 'db.t.2xlarge': { - resources: { - requests: { - cpu: '4', - memory: '16Gi', - }, - limits: { - cpu: '8', - memory: '32Gi', + 'db.t.2xlarge': { + resources: { + requests: { + cpu: '4', + memory: '16Gi', + }, + limits: { + cpu: '8', + memory: '32Gi', + }, }, }, - }, - 'db.m.small': { - resources: { - requests: { - cpu: '500m', - memory: '912680550', - }, - limits: { - cpu: '1', - memory: '1825361100', + 'db.m.small': { + resources: { + requests: { + cpu: '500m', + memory: '912680550', + }, + limits: { + cpu: '1', + memory: '1825361100', + }, }, }, - }, - 'db.m.large': { - resources: { - requests: { - cpu: '1', - memory: '4Gi', - }, - limits: { - cpu: '2', - memory: '8Gi', + 'db.m.large': { + resources: { + requests: { + cpu: '1', + memory: '4Gi', + }, + limits: { + cpu: '2', + memory: '8Gi', + }, }, }, - }, - 'db.m.xlarge': { - resources: { - requests: { - cpu: '2', - memory: '8Gi', - }, - limits: { - cpu: '4', - memory: '16Gi', + 'db.m.xlarge': { + resources: { + requests: { + cpu: '2', + memory: '8Gi', + }, + limits: { + cpu: '4', + memory: '16Gi', + }, }, }, - }, - 'db.m.2xlarge': { - resources: { - requests: { - cpu: '4', - memory: '16Gi', - }, - limits: { - cpu: '8', - memory: '32Gi', + 'db.m.2xlarge': { + resources: { + requests: { + cpu: '4', + memory: '16Gi', + }, + limits: { + cpu: '8', + memory: '32Gi', + }, }, }, - }, - 'db.m.4xlarge': { - resources: { - requests: { - cpu: '8', - memory: '32Gi', - }, - limits: { - cpu: '16', - memory: '64Gi', + 'db.m.4xlarge': { + resources: { + requests: { + cpu: '8', + memory: '32Gi', + }, + limits: { + cpu: '16', + memory: '64Gi', + }, }, }, - }, - 'db.m.8xlarge': { - resources: { - requests: { - cpu: '16', - memory: '64Gi', - }, - limits: { - cpu: '32', - memory: '128Gi', + 'db.m.8xlarge': { + resources: { + requests: { + cpu: '16', + memory: '64Gi', + }, + limits: { + cpu: '32', + memory: '128Gi', + }, }, }, - }, - 'db.m.12xlarge': { - resources: { - requests: { - cpu: '24', - memory: '96Gi', - }, - limits: { - cpu: '48', - memory: '192Gi', + 'db.m.12xlarge': { + resources: { + requests: { + cpu: '24', + memory: '96Gi', + }, + limits: { + cpu: '48', + memory: '192Gi', + }, }, }, - }, - 'db.m.16xlarge': { - resources: { - requests: { - cpu: '32', - memory: '128Gi', - }, - limits: { - cpu: '64', - memory: '256Gi', + 'db.m.16xlarge': { + resources: { + requests: { + cpu: '32', + memory: '128Gi', + }, + limits: { + cpu: '64', + memory: '256Gi', + }, }, }, - }, - 'db.m.24xlarge': { - resources: { - requests: { - cpu: '48', - memory: '192Gi', - }, - limits: { - cpu: '96', - memory: '384Gi', + 'db.m.24xlarge': { + resources: { + requests: { + cpu: '48', + memory: '192Gi', + }, + limits: { + cpu: '96', + memory: '384Gi', + }, }, }, - }, - 'db.r.large': { - resources: { - requests: { - cpu: '1', - memory: '8Gi', - }, - limits: { - cpu: '2', - memory: '16Gi', + 'db.r.large': { + resources: { + requests: { + cpu: '1', + memory: '8Gi', + }, + limits: { + cpu: '2', + memory: '16Gi', + }, }, }, - }, - 'db.r.xlarge': { - resources: { - requests: { - cpu: '2', - memory: '16Gi', - }, - limits: { - cpu: '4', - memory: '32Gi', + 'db.r.xlarge': { + resources: { + requests: { + cpu: '2', + memory: '16Gi', + }, + limits: { + cpu: '4', + memory: '32Gi', + }, }, }, - }, - 'db.r.2xlarge': { - resources: { - requests: { - cpu: '4', - memory: '32Gi', - }, - limits: { - cpu: '8', - memory: '64Gi', + 'db.r.2xlarge': { + resources: { + requests: { + cpu: '4', + memory: '32Gi', + }, + limits: { + cpu: '8', + memory: '64Gi', + }, }, }, - }, - 'db.r.4xlarge': { - resources: { - requests: { - cpu: '8', - memory: '96Gi', - }, - limits: { - cpu: '16', - memory: '192Gi', + 'db.r.4xlarge': { + resources: { + requests: { + cpu: '8', + memory: '96Gi', + }, + limits: { + cpu: '16', + memory: '192Gi', + }, }, }, - }, - 'db.r.8xlarge': { - resources: { - requests: { - cpu: '16', - memory: '128Gi', - }, - limits: { - cpu: '32', - memory: '256Gi', + 'db.r.8xlarge': { + resources: { + requests: { + cpu: '16', + memory: '128Gi', + }, + limits: { + cpu: '32', + memory: '256Gi', + }, }, }, - }, - 'db.r.12xlarge': { - resources: { - requests: { - cpu: '24', - memory: '192Gi', - }, - limits: { - cpu: '48', - memory: '384Gi', + 'db.r.12xlarge': { + resources: { + requests: { + cpu: '24', + memory: '192Gi', + }, + limits: { + cpu: '48', + memory: '384Gi', + }, }, }, - }, - 'db.r.16xlarge': { - resources: { - requests: { - cpu: '32', - memory: '256Gi', - }, - limits: { - cpu: '64', - memory: '512Gi', + 'db.r.16xlarge': { + resources: { + requests: { + cpu: '32', + memory: '256Gi', + }, + limits: { + cpu: '64', + memory: '512Gi', + }, }, }, - }, - 'db.r.24xlarge': { - resources: { - requests: { - cpu: '24', - memory: '384Gi', - }, - limits: { - cpu: '96', - memory: '768Gi', + 'db.r.24xlarge': { + resources: { + requests: { + cpu: '24', + memory: '384Gi', + }, + limits: { + cpu: '96', + memory: '768Gi', + }, }, }, - }, -} + } -const machineList = [ - 'db.t.micro', - 'db.t.small', - 'db.t.medium', - 'db.t.large', - 'db.t.xlarge', - 'db.t.2xlarge', - 'db.m.small', - 'db.m.large', - 'db.m.xlarge', - 'db.m.2xlarge', - 'db.m.4xlarge', - 'db.m.8xlarge', - 'db.m.12xlarge', - 'db.m.16xlarge', - 'db.m.24xlarge', - 'db.r.large', - 'db.r.xlarge', - 'db.r.2xlarge', - 'db.r.4xlarge', - 'db.r.8xlarge', - 'db.r.12xlarge', - 'db.r.16xlarge', - 'db.r.24xlarge', -] - -const modes = { - Cassandra: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - ClickHouse: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - Druid: { - availableModes: ['Topology'], - default: 'Topology', - }, - Elasticsearch: { - availableModes: ['Combined', 'Topology'], - default: 'Topology', - }, - FerretDB: { - availableModes: ['PrimaryOnly', 'PrimaryAndSecondary'], - default: 'PrimaryAndSecondary', - }, - Kafka: { - availableModes: ['Combined', 'Topology'], - default: 'Topology', - }, - Hazelcast: { - availableModes: ['Combined', 'Topology'], - default: 'Topology', - }, - Ignite: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - MSSQLServer: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - MariaDB: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Memcached: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - MongoDB: { - availableModes: ['Standalone', 'Replicaset', 'Sharded'], - default: 'Replicaset', - }, - MySQL: { - availableModes: [ - 'Standalone', - 'GroupReplication', - 'InnoDBCluster', - 'RemoteReplica', - 'SemiSync', - ], - default: 'GroupReplication', - }, - Oracle: { - availableModes: ['Standalone', 'DataGuard'], - default: 'DataGuard', - }, - PerconaXtraDB: { - availableModes: ['Replicaset'], - default: 'Replicaset', - }, - PgBouncer: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Pgpool: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Postgres: { - availableModes: ['Standalone', 'Cluster', 'RemoteReplica'], - default: 'Cluster', - }, - ProxySQL: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - RabbitMQ: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Redis: { - availableModes: ['Standalone', 'Cluster', 'Sentinel'], - default: 'Cluster', - }, - Singlestore: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - Solr: { - availableModes: ['Standalone', 'Replicaset', 'Topology'], - default: 'Topology', - }, - ZooKeeper: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, -} + const machineList = [ + 'db.t.micro', + 'db.t.small', + 'db.t.medium', + 'db.t.large', + 'db.t.xlarge', + 'db.t.2xlarge', + 'db.m.small', + 'db.m.large', + 'db.m.xlarge', + 'db.m.2xlarge', + 'db.m.4xlarge', + 'db.m.8xlarge', + 'db.m.12xlarge', + 'db.m.16xlarge', + 'db.m.24xlarge', + 'db.r.large', + 'db.r.xlarge', + 'db.r.2xlarge', + 'db.r.4xlarge', + 'db.r.8xlarge', + 'db.r.12xlarge', + 'db.r.16xlarge', + 'db.r.24xlarge', + ] + + const modes = { + Cassandra: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + ClickHouse: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + Druid: { + availableModes: ['Topology'], + default: 'Topology', + }, + Elasticsearch: { + availableModes: ['Combined', 'Topology'], + default: 'Topology', + }, + FerretDB: { + availableModes: ['PrimaryOnly', 'PrimaryAndSecondary'], + default: 'PrimaryAndSecondary', + }, + Kafka: { + availableModes: ['Combined', 'Topology'], + default: 'Topology', + }, + Hazelcast: { + availableModes: ['Combined', 'Topology'], + default: 'Topology', + }, + Ignite: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + MSSQLServer: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + MariaDB: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Memcached: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + MongoDB: { + availableModes: ['Standalone', 'Replicaset', 'Sharded'], + default: 'Replicaset', + }, + MySQL: { + availableModes: [ + 'Standalone', + 'GroupReplication', + 'InnoDBCluster', + 'RemoteReplica', + 'SemiSync', + ], + default: 'GroupReplication', + }, + Oracle: { + availableModes: ['Standalone', 'DataGuard'], + default: 'DataGuard', + }, + PerconaXtraDB: { + availableModes: ['Replicaset'], + default: 'Replicaset', + }, + PgBouncer: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Pgpool: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Postgres: { + availableModes: ['Standalone', 'Cluster', 'RemoteReplica'], + default: 'Cluster', + }, + ProxySQL: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + RabbitMQ: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Redis: { + availableModes: ['Standalone', 'Cluster', 'Sentinel'], + default: 'Cluster', + }, + Singlestore: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + Solr: { + availableModes: ['Standalone', 'Replicaset', 'Topology'], + default: 'Topology', + }, + ZooKeeper: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + } -function setTool({ commit }) { - commit('wizard/model$update', { - path: '/spec/backup/tool', - value: 'KubeStash', - force: true, - }) - return 'KubeStash' -} + function setTool() { + commit('wizard/model$update', { + path: '/spec/backup/tool', + value: 'KubeStash', + force: true, + }) + return 'KubeStash' + } -function returnFalse() { - return false -} + function returnFalse() { + return false + } -function checkModeToggle({ getValue, model }, db) { - const toggle = getValue(model, `/spec/admin/databases/${db}/mode/toggle`) - if (toggle === undefined) return true -} + function checkModeToggle(db) { + const toggle = getValue(model, `/spec/admin/databases/${db}/mode/toggle`) + if (toggle === undefined) return true + } -async function fetchJsons({ axios, itemCtx }) { - let ui = {} - let language = {} - let functions = {} - const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart + // remove itemCtx + async function fetchJsons({ itemCtx }) { + let ui = {} + let language = {} + let functions = {} + const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart + + try { + ui = await axios.get( + `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + language = await axios.get( + `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + const functionString = await axios.get( + `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, + ) + // declare evaluate the functionString to get the functions Object + const evalFunc = new Function(functionString.data || '') + functions = evalFunc() + } catch (e) { + console.log(e) + } - try { - ui = await axios.get( - `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - language = await axios.get( - `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - const functionString = await axios.get( - `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, - ) - // declare evaluate the functionString to get the functions Object - const evalFunc = new Function(functionString.data || '') - functions = evalFunc() - } catch (e) { - console.log(e) + return { + ui: ui.data || {}, + language: language.data || {}, + functions, + } } - return { - ui: ui.data || {}, - language: language.data || {}, - functions, + function presetNameEqualsTo(value) { + console.log('foundddddddddd -> ', value) + const presetName = storeGet('/route/params/presetName') || '' + return presetName === value } -} - -function presetNameEqualsTo({ storeGet }, value) { - const presetName = storeGet('/route/params/presetName') || '' - return presetName === value -} -function getOptions({ getValue, model, watchDependency }, type) { - watchDependency(`model#/spec/admin/${type}/available`) - const options = getValue(model, `/spec/admin/${type}/available`) - return options -} + function getOptions(type) { + // watchDependency(`model#/spec/admin/${type}/available`) + const options = getValue(model, `/spec/admin/${type}/available`) + return options + } -async function FetchAllDbVersions({ storeGet, axios, setDiscriminatorValue }) { - const owner = storeGet('/route/params/user') - const cluster = storeGet('/route/params/cluster') - const url = `/clusters/${owner}/${cluster}/proxy/catalog.kubedb.com/v1alpha1/all-available` + async function FetchAllDbVersions() { + const owner = storeGet('/route/params/user') + const cluster = storeGet('/route/params/cluster') + const url = `/clusters/${owner}/${cluster}/proxy/catalog.kubedb.com/v1alpha1/all-available` - const resp = await axios.get(url) + const resp = await axios.get(url) - setDiscriminatorValue(`/allDbVersions`, resp.data) - return resp.data -} + setDiscriminatorValue(`/allDbVersions`, resp.data) + return resp.data + } -function isConfigureDb({ getValue, discriminator, watchDependency }, value) { - watchDependency(`discriminator#/${value}/isConfigure`) - const resp = getValue(discriminator, `/${value}/isConfigure`) - return resp -} + function isConfigureDb(value) { + // watchDependency(`discriminator#/${value}/isConfigure`) + const resp = getValue(discriminator, `/${value}/isConfigure`) + return resp + } -async function FetchDbVersions({ watchDependency, getValue, discriminator }, db) { - watchDependency(`discriminator#/allDbVersions`) - data = getValue(discriminator, `allDbVersions/${db}Version`) - if (!data?.includes('Remove all')) data?.unshift('Remove all') - if (!data?.includes('Select all')) data?.unshift('Select all') - return data -} + async function FetchDbVersions(db) { + // watchDependency(`discriminator#/allDbVersions`) + let data = getValue(discriminator, `allDbVersions/${db}Version`) + if (!data?.includes('Remove all')) data?.unshift('Remove all') + if (!data?.includes('Select all')) data?.unshift('Select all') + return data + } -function clearDefaultVersion({ commit, model, getValue, discriminator }, db) { - const data = getValue(model, `/spec/admin/databases/${db}/versions/available`) - if (data?.includes('Select all')) { - versions = getValue(discriminator, `allDbVersions/${db}Version`) - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/versions/available`, - value: versions, - force: true, - }) + function clearDefaultVersion(db) { + const data = getValue(model, `/spec/admin/databases/${db}/versions/available`) + if (data?.includes('Select all')) { + versions = getValue(discriminator, `allDbVersions/${db}Version`) + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/versions/available`, + value: versions, + force: true, + }) + } + if (data?.includes('Remove all')) { + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/versions/available`, + value: [], + force: true, + }) + } } - if (data?.includes('Remove all')) { + + function clearDefaultMode(db) { commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/versions/available`, - value: [], + path: `/spec/admin/databases/${db}/mode/default`, + value: '', force: true, }) } -} - -function clearDefaultMode({ commit }, db) { - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/mode/default`, - value: '', - force: true, - }) -} -function availableVersions({ getValue, model, watchDependency }, db) { - watchDependency(`model#/spec/admin/databases/${db}/versions/available`) - return getValue(model, `/spec/admin/databases/${db}/versions/available`) -} + function availableVersions(db) { + // watchDependency(`model#/spec/admin/databases/${db}/versions/available`) + return getValue(model, `/spec/admin/databases/${db}/versions/available`) + } -function availableModes({ getValue, model, watchDependency }, db) { - watchDependency(`model#/spec/admin/databases/${db}/mode/available`) - return getValue(model, `/spec/admin/databases/${db}/mode/available`) -} + function availableModes(db) { + // watchDependency(`model#/spec/admin/databases/${db}/mode/available`) + return getValue(model, `/spec/admin/databases/${db}/mode/available`) + } -function isKubedbPresetEnable(storeGet) { - const featureSets = storeGet('/cluster/featureSets/result') || [] - const featureSetName = storeGet('/route/params/featureset') || '' - const featureSet = featureSets.find((item) => item?.metadata?.name === featureSetName) + function isKubedbPresetEnable(storeGet) { + const featureSets = storeGet('/cluster/featureSets/result') || [] + const featureSetName = storeGet('/route/params/featureset') || '' + const featureSet = featureSets.find((item) => item?.metadata?.name === featureSetName) - const features = featureSet?.status?.features || [] - const isKubedbPresetEnable = features.some((feature) => { - if (feature.name === 'kubedb-ui-presets') return true - }) - return isKubedbPresetEnable -} + const features = featureSet?.status?.features || [] + const isKubedbPresetEnable = features.some((feature) => { + if (feature.name === 'kubedb-ui-presets') return true + }) + return isKubedbPresetEnable + } -async function FetchDbBundle({ axios, storeGet, setDiscriminatorValue, discriminator }) { - const owner = storeGet('/route/params/user') - const cluster = storeGet('/route/params/cluster') - const url = `/clusters/${owner}/${cluster}/db-bundle?type=common&deployment=all` - try { - const resp = await axios.get(url) - setDiscriminatorValue('/bundle', resp.data) - } catch (e) { - console.log(e) - return [] + async function FetchDbBundle() { + const owner = storeGet('/route/params/user') + const cluster = storeGet('/route/params/cluster') + const url = `/clusters/${owner}/${cluster}/db-bundle?type=common&deployment=all` + try { + const resp = await axios.get(url) + setDiscriminatorValue('/bundle', resp.data) + } catch (e) { + console.log(e) + return [] + } } -} -function getPlacements({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const placements = getValue(discriminator, '/bundle/placementpolicies') + function getPlacements() { + // watchDependency('discriminator#/bundle') + const placements = getValue(discriminator, '/bundle/placementpolicies') - return placements -} + return placements + } -function getNodeTopology({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const shared = getValue(discriminator, '/bundle/shared') - const dedicated = getValue(discriminator, '/bundle/dedicated') + function getNodeTopology() { + // watchDependency('discriminator#/bundle') + const shared = getValue(discriminator, '/bundle/shared') + const dedicated = getValue(discriminator, '/bundle/dedicated') - const nodeTopology = [] + const nodeTopology = [] - shared?.map((item) => { - nodeTopology.push(item + ' (shared)') - }) - dedicated?.map((item) => { - nodeTopology.push(item + ' (dedicated)') - }) + shared?.map((item) => { + nodeTopology.push(item + ' (shared)') + }) + dedicated?.map((item) => { + nodeTopology.push(item + ' (dedicated)') + }) - return nodeTopology -} + return nodeTopology + } -function getStorageClass({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const storageClasses = getValue(discriminator, '/bundle/storageclasses') + function getStorageClass() { + // watchDependency('discriminator#/bundle') + const storageClasses = getValue(discriminator, '/bundle/storageclasses') - return storageClasses -} + return storageClasses + } -function getClusterIssuers({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const clusterIssuers = getValue(discriminator, '/bundle/clusterissuers') + function getClusterIssuers() { + // watchDependency('discriminator#/bundle') + const clusterIssuers = getValue(discriminator, '/bundle/clusterissuers') - return clusterIssuers -} + return clusterIssuers + } -async function getNamespaces({ axios, storeGet }) { - const params = storeGet('/route/params') - const { user, cluster, group, version, resource } = params - try { - const resp = await axios.post( - `/clusters/${user}/${cluster}/proxy/identity.k8s.appscode.com/v1alpha1/selfsubjectnamespaceaccessreviews`, - { - apiVersion: 'identity.k8s.appscode.com/v1alpha1', - kind: 'SelfSubjectNamespaceAccessReview', - spec: { - resourceAttributes: [ - { - verb: 'create', - group: group, - version: version, - resource: resource, - }, - ], + async function getNamespaces() { + const params = storeGet('/route/params') + const { user, cluster, group, version, resource } = params + try { + const resp = await axios.post( + `/clusters/${user}/${cluster}/proxy/identity.k8s.appscode.com/v1alpha1/selfsubjectnamespaceaccessreviews`, + { + apiVersion: 'identity.k8s.appscode.com/v1alpha1', + kind: 'SelfSubjectNamespaceAccessReview', + spec: { + resourceAttributes: [ + { + verb: 'create', + group: group, + version: version, + resource: resource, + }, + ], + }, }, - }, - ) - if (resp.data?.status?.projects) { - const projects = resp.data?.status?.projects - let projectsNamespace = [] - projectsNamespace = Object.keys(projects).map((project) => ({ - project: project, - namespaces: projects[project].map((namespace) => ({ - text: namespace, - value: namespace, - })), - })) - return projectsNamespace - } else { - return resp.data?.status?.namespaces || [] + ) + if (resp.data?.status?.projects) { + const projects = resp.data?.status?.projects + let projectsNamespace = [] + projectsNamespace = Object.keys(projects).map((project) => ({ + project: project, + namespaces: projects[project].map((namespace) => ({ + text: namespace, + value: namespace, + })), + })) + return projectsNamespace + } else { + return resp.data?.status?.namespaces || [] + } + } catch (e) { + console.log(e) } - } catch (e) { - console.log(e) + return [] } - return [] -} -function isRancherManaged({ storeGet }) { - const managers = storeGet('/cluster/clusterDefinition/result/clusterManagers') - const found = managers.find((item) => item === 'Rancher') - return !!found -} + function isRancherManaged() { + const managers = storeGet('/cluster/clusterDefinition/result/clusterManagers') + const found = managers.find((item) => item === 'Rancher') + return !!found + } -function setTool({ commit }) { - commit('wizard/model$update', { - path: '/spec/backup/tool', - value: 'KubeStash', - force: true, - }) - return 'KubeStash' -} + function setTool() { + commit('wizard/model$update', { + path: '/spec/backup/tool', + value: 'KubeStash', + force: true, + }) + return 'KubeStash' + } -async function fetchJsons({ axios, itemCtx }) { - let ui = {} - let language = {} - let functions = {} - const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart + async function fetchJsons({ itemCtx }) { + let ui = {} + let language = {} + let functions = {} + const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart + + try { + ui = await axios.get( + `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + language = await axios.get( + `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + const functionString = await axios.get( + `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, + ) + // declare evaluate the functionString to get the functions Object + const evalFunc = new Function(functionString.data || '') + functions = evalFunc() + } catch (e) { + console.log(e) + } - try { - ui = await axios.get( - `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - language = await axios.get( - `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - const functionString = await axios.get( - `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, - ) - // declare evaluate the functionString to get the functions Object - const evalFunc = new Function(functionString.data || '') - functions = evalFunc() - } catch (e) { - console.log(e) + return { + ui: ui.data || {}, + language: language.data || {}, + functions, + } } - return { - ui: ui.data || {}, - language: language.data || {}, - functions, + function isKubedbUiPreset() { + const presetName = storeGet('/route/params/presetName') || '' + if (presetName === 'kubedb-ui-presets') return true + const enabledFeatures = getValue(discriminator, '/enabledFeatures') || [] + // watchDependency('discriminator#/enabledFeatures') + if (enabledFeatures?.includes('kubedb-ui-presets')) { + return true + } else return false } -} - -function isKubedbUiPreset({ getValue, watchDependency, discriminator, storeGet }) { - const presetName = storeGet('/route/params/presetName') || '' - if (presetName === 'kubedb-ui-presets') return true - const enabledFeatures = getValue(discriminator, '/enabledFeatures') || [] - watchDependency('discriminator#/enabledFeatures') - if (enabledFeatures?.includes('kubedb-ui-presets')) { - return true - } else return false -} -function fetchModes({ model, getValue, commit }, db) { - const arr = modes[db]?.availableModes || [] - const val = getValue(model, `/spec/admin/databases/${db}/mode/available`) - if (!val) - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/mode/available`, - value: arr, - force: true, - }) - return arr -} + function fetchModes(db) { + const arr = modes[db]?.availableModes || [] + const val = getValue(model, `/spec/admin/databases/${db}/mode/available`) + if (!val) + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/mode/available`, + value: arr, + force: true, + }) + return arr + } -function setDefaultMode({ getValue, model }, db) { - const modelDef = getValue(model, `/spec/admin/databases/${db}/mode/default`) - const def = modes[db]?.default || '' - if (modelDef === undefined) return def -} + function setDefaultMode(db) { + const modelDef = getValue(model, `/spec/admin/databases/${db}/mode/default`) + const def = modes[db]?.default || '' + // if (modelDef === undefined) return def + return def + } -function setStorageClass({ getValue, model, watchDependency, commit }) { - watchDependency('model#/spec/admin/storageClasses/available') - const classes = getValue(model, '/spec/admin/storageClasses/available') - if (classes.length === 1) - commit('wizard/model$update', { - path: '/spec/admin/storageClasses/default', - value: classes[0], - force: true, - }) -} + function setStorageClass() { + // watchDependency('model#/spec/admin/storageClasses/available') + const classes = getValue(model, '/spec/admin/storageClasses/available') + if (classes.length === 1) + commit('wizard/model$update', { + path: '/spec/admin/storageClasses/default', + value: classes[0], + force: true, + }) + return classes[0] ?? '' + } -function preSelectClusterIssuer({ getValue, model, watchDependency, commit, discriminator }) { - const val = getValue(model, '/spec/admin/tls/default') - const clusterIssuers = getClusterIssuers({ watchDependency, getValue, discriminator }) - if (val) { - if (clusterIssuers.length) { + function preSelectClusterIssuer() { + const val = getValue(model, '/spec/admin/tls/default') + const clusterIssuers = getClusterIssuers() + if (val) { + if (clusterIssuers?.length) { + commit('wizard/model$update', { + path: '/spec/admin/clusterIssuers/available', + value: [clusterIssuers[0]], + force: true, + }) + } + } else { commit('wizard/model$update', { path: '/spec/admin/clusterIssuers/available', - value: [clusterIssuers[0]], + value: '', force: true, }) } - } else { + } + + // machine profiles stuffs + + let initialMachines = [] + function hasMachineProfiles() { + const val = getValue(model, '/spec/admin/machineProfiles/machines') || [] + initialMachines = val commit('wizard/model$update', { - path: '/spec/admin/clusterIssuers/available', - value: '', + path: '/spec/admin/machineProfiles/machines', + value: sortMachines(val), force: true, }) - } -} -// machine profiles stuffs + return !!val?.length + } -let initialMachines = [] -function hasMachineProfiles({ getValue, model, commit }) { - const val = getValue(model, '/spec/admin/machineProfiles/machines') || [] - initialMachines = val - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles/machines', - value: sortMachines(val), - force: true, - }) + function isEnableProfiles() { + // watchDependency('discriminator#/enableProfiles') + return getValue(discriminator, '/enableProfiles') || false + } - return !!val?.length -} + function onMachineProfilesToggle() { + const toggle = getValue(discriminator, '/enableProfiles') || false -function isEnableProfiles({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/enableProfiles') - return getValue(discriminator, '/enableProfiles') || false -} + if (!toggle) { + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles', + value: { available: [], default: '', machines: [] }, + force: true, + }) + } else { + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles/machines', + value: initialMachines, + force: true, + }) + } + } -function onMachineProfilesToggle({ getValue, commit, discriminator }) { - const toggle = getValue(discriminator, '/enableProfiles') || false + function getMachines() { + // watchDependency('model#/spec/admin/machineProfiles/machines') + // watchDependency('discriminator#/useCustomProfile') + let machines = getValue(model, '/spec/admin/machineProfiles/machines') || [] - if (!toggle) { - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles', - value: { available: [], default: '', machines: [] }, - force: true, - }) - } else { commit('wizard/model$update', { path: '/spec/admin/machineProfiles/machines', - value: initialMachines, + value: sortMachines(machines), force: true, }) - } -} -function getMachines({ watchDependency, getValue, model, commit, discriminator }) { - watchDependency('model#/spec/admin/machineProfiles/machines') - watchDependency('discriminator#/useCustomProfile') - let machines = getValue(model, '/spec/admin/machineProfiles/machines') || [] + let mappedMachine = machines?.map((machine) => ({ + text: machine.id, + value: machine.id, + })) - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles/machines', - value: sortMachines(machines), - force: true, - }) + const hasCustom = getValue(discriminator, '/useCustomProfile') + if (hasCustom) mappedMachine = [{ text: 'custom', value: 'custom' }, ...mappedMachine] + else if (hasCustom === false) + mappedMachine = mappedMachine.filter((item) => item.value !== 'custom') - let mappedMachine = machines?.map((machine) => ({ - text: machine.id, - value: machine.id, - })) - - const hasCustom = getValue(discriminator, '/useCustomProfile') - if (hasCustom) mappedMachine = [{ text: 'custom', value: 'custom' }, ...mappedMachine] - else if (hasCustom === false) - mappedMachine = mappedMachine.filter((item) => item.value !== 'custom') + return mappedMachine + } - return mappedMachine -} + function setCustomAvlMachine() { + // watchDependency('discriminator#/useCustomProfile') + const hasCustom = getValue(discriminator, '/useCustomProfile') + let avl = getValue(model, '/spec/admin/machineProfiles/available') || [] -function setCustomAvlMachine({ getValue, discriminator, model, commit, watchDependency }) { - watchDependency('discriminator#/useCustomProfile') - const hasCustom = getValue(discriminator, '/useCustomProfile') - let avl = getValue(model, '/spec/admin/machineProfiles/available') || [] + if (hasCustom) avl = ['custom', ...avl] + else avl = avl.filter((item) => item !== 'custom') - if (hasCustom) avl = ['custom', ...avl] - else avl = avl.filter((item) => item !== 'custom') + return avl + } - return avl -} + function getAvailableMachines() { + // watchDependency('model#/spec/admin/machineProfiles/available') + let machines = getValue(model, '/spec/admin/machineProfiles/available') || [] + return machines + } -function getAvailableMachines({ watchDependency, getValue, model }) { - watchDependency('model#/spec/admin/machineProfiles/available') - let machines = getValue(model, '/spec/admin/machineProfiles/available') || [] - return machines -} + function isKnownProfileToggled(index) { + // watchDependency('discriminator#/profileChoseSwitch') + const val = getValue( + model, + `/spec/admin/machineProfiles/machines/${index}/temp/profileChoseSwitch`, + ) + return val + } -function isKnownProfileToggled({ watchDependency, discriminator, getValue }) { - watchDependency('discriminator#/profileChoseSwitch') - const val = getValue(discriminator, '/profileChoseSwitch') - return val -} + function getKnownProfile() { + const machineProfiles = getValue(model, '/spec/admin/machineProfiles/machines') -function getKnownProfile({ getValue, model }) { - const machineProfiles = getValue(model, '/spec/admin/machineProfiles/machines') + // filtering machine list, if it's already in the model we don't need to show it + const filteredMachines = machineList.filter( + (machine) => !machineProfiles.some((m) => m.id === machine), + ) + const mappedMachine = filteredMachines.map((item) => ({ + text: item, + value: item.toLowerCase(), + subText: `CPU: ${machinesMap[item].resources.limits.cpu}, memory: ${machinesMap[item].resources.limits.memory}`, + })) + return mappedMachine + } - // filtering machine list, if it's already in the model we don't need to show it - const filteredMachines = machineList.filter( - (machine) => !machineProfiles.some((m) => m.id === machine), - ) - const mappedMachine = filteredMachines.map((item) => ({ - text: item, - value: item.toLowerCase(), - subText: `CPU: ${machinesMap[item].resources.limits.cpu}, memory: ${machinesMap[item].resources.limits.memory}`, - })) - return mappedMachine -} + function setLimits(type, index) { + // watchDependency('discriminator#/profile') + const pro = getValue(model, `/spec/admin/machineProfiles/machines/${index}/temp/profile`) || '' + if (!pro) { + const input = getValue( + model, + `/spec/admin/machineProfiles/machines/${index}/temp/profile/limits/${type}`, + ) + return input + } + const profileDetails = machinesMap[pro] || {} + const limits = profileDetails.resources?.limits || {} + return limits[type] || '' + } -function setLimits({ getValue, temporaryModel, discriminator, watchDependency }, type) { - watchDependency('discriminator#/profile') - const pro = getValue(discriminator, '/profile') || '' - if (!pro) { - const input = getValue(temporaryModel, `/profile/limits/${type}`) - return input + function getProfileName(index) { + // watchDependency('discriminator#/profile') + const pro = getValue(model, `/spec/admin/machineProfiles/machines/${index}/temp/profile`) || '' + console.log({ pro }) + if (!pro) return + return pro } - const profileDetails = machinesMap[pro] || {} - const limits = profileDetails.resources?.limits || {} - return limits[type] || '' -} -function getProfileName({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/profile') - const pro = getValue(discriminator, '/profile') || '' - if (!pro) return - return pro -} + function onProfileIdChange(index) { + commit('wizard/model$delete', `/spec/admin/machineProfiles/machines/${index}/temp`) + } -function hasCustomProfile({ getValue, model }) { - const machines = getValue(model, '/spec/admin/machineProfiles/available') - const hasCustom = machines.includes('custom') - return hasCustom -} + function hasCustomProfile() { + const machines = getValue(model, '/spec/admin/machineProfiles/available') + const hasCustom = machines.includes('custom') + return hasCustom + } -function parseMemory(memory) { - const units = { - B: 1, // Base unit (Bytes) - K: 1000, // 1 K = 1000 B - KB: 1000, // 1 KB = 1000 B - Ki: 1024, // 1 Ki = 1024 B - M: 1000 * 1000, // 1 M = 1000 K - MB: 1000 * 1000, // 1 MB = 1000 KB - Mi: 1024 * 1024, // 1 Mi = 1024 Ki - G: 1000 * 1000 * 1000, // 1 G = 1000 M - GB: 1000 * 1000 * 1000, // 1 GB = 1000 MB - Gi: 1024 * 1024 * 1024, // 1 Gi = 1024 Mi - T: 1000 * 1000 * 1000 * 1000, // 1 T = 1000 G - TB: 1000 * 1000 * 1000 * 1000, // 1 TB = 1000 GB - Ti: 1024 * 1024 * 1024 * 1024, // 1 Ti = 1024 Gi - P: 1000 * 1000 * 1000 * 1000 * 1000, // 1 P = 1000 T - PB: 1000 * 1000 * 1000 * 1000 * 1000, // 1 PB = 1000 TB - Pi: 1024 * 1024 * 1024 * 1024 * 1024, // 1 Pi = 1024 Ti - } - - // If memory is just a number (int or float), treat it as bytes - if (/^\d+(\.\d+)?$/.test(memory)) { - return parseFloat(memory) - } - - // Match float or int followed by optional unit - const match = memory.match(/^(\d+(?:\.\d+)?)(B|KB|Ki|K|M|MB|Mi|G|GB|Gi|T|TB|Ti|P|PB|Pi)?$/) - if (match) { - const value = parseFloat(match[1]) - const unit = match[2] || 'B' - return value * (units[unit] || 1) - } - - return 0 // Default fallback for unexpected formats -} + function parseMemory(memory) { + const units = { + B: 1, // Base unit (Bytes) + K: 1000, // 1 K = 1000 B + KB: 1000, // 1 KB = 1000 B + Ki: 1024, // 1 Ki = 1024 B + M: 1000 * 1000, // 1 M = 1000 K + MB: 1000 * 1000, // 1 MB = 1000 KB + Mi: 1024 * 1024, // 1 Mi = 1024 Ki + G: 1000 * 1000 * 1000, // 1 G = 1000 M + GB: 1000 * 1000 * 1000, // 1 GB = 1000 MB + Gi: 1024 * 1024 * 1024, // 1 Gi = 1024 Mi + T: 1000 * 1000 * 1000 * 1000, // 1 T = 1000 G + TB: 1000 * 1000 * 1000 * 1000, // 1 TB = 1000 GB + Ti: 1024 * 1024 * 1024 * 1024, // 1 Ti = 1024 Gi + P: 1000 * 1000 * 1000 * 1000 * 1000, // 1 P = 1000 T + PB: 1000 * 1000 * 1000 * 1000 * 1000, // 1 PB = 1000 TB + Pi: 1024 * 1024 * 1024 * 1024 * 1024, // 1 Pi = 1024 Ti + } -function parseCPU(cpu) { - if (typeof cpu === 'number') return cpu // If already a number, return as is + // If memory is just a number (int or float), treat it as bytes + if (/^\d+(\.\d+)?$/.test(memory)) { + return parseFloat(memory) + } - const match = cpu.match(/^(\d+(?:\.\d+)?)(m)?$/) - if (!match) return 0 // Invalid format, return 0 + // Match float or int followed by optional unit + const match = memory.match(/^(\d+(?:\.\d+)?)(B|KB|Ki|K|M|MB|Mi|G|GB|Gi|T|TB|Ti|P|PB|Pi)?$/) + if (match) { + const value = parseFloat(match[1]) + const unit = match[2] || 'B' + return value * (units[unit] || 1) + } - if (cpu.endsWith('m')) { - return parseFloat(cpu) / 1000 // Convert '500m' to 0.5 + return 0 // Default fallback for unexpected formats } - return parseFloat(cpu) // Convert '1', '0.5' directly -} + function parseCPU(cpu) { + if (typeof cpu === 'number') return cpu // If already a number, return as is -function sortMachines(arr) { - return arr.sort((a, b) => { - const memA = parseMemory(a.limits.memory) - const memB = parseMemory(b.limits.memory) + const match = cpu.match(/^(\d+(?:\.\d+)?)(m)?$/) + if (!match) return 0 // Invalid format, return 0 - if (memA !== memB) { - return memA - memB + if (cpu.endsWith('m')) { + return parseFloat(cpu) / 1000 // Convert '500m' to 0.5 } - const cpuA = parseCPU(a.limits.cpu) - const cpuB = parseCPU(b.limits.cpu) + return parseFloat(cpu) // Convert '1', '0.5' directly + } + + function sortMachines(arr) { + return arr.sort((a, b) => { + const memA = parseMemory(a.limits.memory) + const memB = parseMemory(b.limits.memory) - return cpuA - cpuB - }) -} + if (memA !== memB) { + return memA - memB + } + + const cpuA = parseCPU(a.limits.cpu) + const cpuB = parseCPU(b.limits.cpu) + + return cpuA - cpuB + }) + } -return { - preSelectClusterIssuer, - isRancherManaged, - getOptions, - getNodeTopology, - FetchAllDbVersions, - isConfigureDb, - FetchDbVersions, - availableVersions, - clearDefaultVersion, - getPlacements, - getStorageClass, - getClusterIssuers, - getNamespaces, - isKubedbUiPreset, - FetchDbBundle, - setTool, - returnFalse, - checkModeToggle, - fetchJsons, - presetNameEqualsTo, - fetchModes, - availableModes, - setDefaultMode, - clearDefaultMode, - setStorageClass, - hasMachineProfiles, - isEnableProfiles, - getMachines, - onMachineProfilesToggle, - isKnownProfileToggled, - getKnownProfile, - setLimits, - getProfileName, - hasCustomProfile, - getAvailableMachines, - setCustomAvlMachine, + return { + preSelectClusterIssuer, + isRancherManaged, + getOptions, + getNodeTopology, + FetchAllDbVersions, + isConfigureDb, + FetchDbVersions, + availableVersions, + clearDefaultVersion, + getPlacements, + getStorageClass, + getClusterIssuers, + getNamespaces, + isKubedbUiPreset, + FetchDbBundle, + setTool, + returnFalse, + checkModeToggle, + fetchJsons, + presetNameEqualsTo, + fetchModes, + availableModes, + setDefaultMode, + clearDefaultMode, + setStorageClass, + hasMachineProfiles, + isEnableProfiles, + getMachines, + onMachineProfilesToggle, + isKnownProfileToggled, + getKnownProfile, + setLimits, + getProfileName, + hasCustomProfile, + getAvailableMachines, + setCustomAvlMachine, + onProfileIdChange, + } } diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml new file mode 100644 index 0000000000..5c86db25c5 --- /dev/null +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml @@ -0,0 +1,1948 @@ +steps: +- form: + elements: + - elements: + - discriminator: + bundle: + default: {} + type: object + elements: + - fetch: FetchDbBundle + if: returnFalse + schema: + $ref: discriminator#/bundle + type: input + - elements: + - label: + text: labels.deployment.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/deployment/properties/toggle + type: switch + - hasDescription: true + options: + - description: labels.deployment.shared + text: Shared + value: Shared + - description: labels.deployment.dedicated + text: Dedicated + value: Dedicated + schema: + $ref: schema#/properties/spec/properties/admin/properties/deployment/properties/default + type: radio + hideForm: true + label: + text: labels.deployment.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.clusterTier.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/toggle + type: switch + - isHorizontal: true + options: + - text: General Purpose + value: GeneralPurpose + - text: Memory Optimized + value: MemoryOptimized + - text: CPU Optimized + value: CPUOptimized + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/default + type: radio + - elements: + - label: + text: labels.clusterTier.placement.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle + type: switch + - fetch: getPlacements + label: + text: labels.clusterTier.placement.availablePlacement + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available + type: multiselect + - disableUnselect: true + fetch: getOptions|clusterTier/placement + label: + text: labels.clusterTier.placement.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default + type: select + type: single-step-form + - elements: + - label: + text: labels.clusterTier.nodeTopology.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle + type: switch + - fetch: getNodeTopology + label: + text: labels.clusterTier.nodeTopology.availableNodeTopology + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available + type: multiselect + - disableUnselect: true + fetch: getOptions|clusterTier/nodeTopology + label: + text: labels.clusterTier.nodeTopology.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default + type: select + type: single-step-form + hideForm: false + label: + text: labels.clusterTier.name + show_label: true + type: single-step-form + - discriminator: + allDbVersions: + default: {} + type: object + elements: + - fetch: FetchAllDbVersions + if: returnFalse + schema: + $ref: discriminator#/allDbVersions + type: input + - elements: + - elements: + - label: + text: labels.databases.Cassandra.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Cassandra + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Cassandra + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Cassandra + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Cassandra + label: + text: labels.databases.Cassandra.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Cassandra + label: + text: labels.databases.modes + onChange: clearDefaultMode|Cassandra + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Cassandra + fetch: availableModes|Cassandra + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode + type: single-step-form + hideForm: true + label: + text: Cassandra + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.ClickHouse.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|ClickHouse + label: + text: labels.databases.versions + onChange: clearDefaultVersion|ClickHouse + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|ClickHouse + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|ClickHouse + label: + text: labels.databases.ClickHouse.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|ClickHouse + label: + text: labels.databases.modes + onChange: clearDefaultMode|clickHouse + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|ClickHouse + fetch: availableModes|ClickHouse + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode + type: single-step-form + hideForm: true + label: + text: ClickHouse + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Druid.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Druid + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Druid + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Druid + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Druid + label: + text: labels.databases.Druid.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Druid + label: + text: labels.databases.modes + onChange: clearDefaultMode|druid + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Druid + fetch: availableModes|Druid + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode + type: single-step-form + hideForm: true + label: + text: Druid + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Elasticsearch.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Elasticsearch + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Elasticsearch + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Elasticsearch + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Elasticsearch + label: + text: labels.databases.Elasticsearch.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Elasticsearch + label: + text: labels.databases.modes + onChange: clearDefaultMode|elasticsearch + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Elasticsearch + fetch: availableModes|Elasticsearch + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode + type: single-step-form + hideForm: true + label: + text: Elasticsearch + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.FerretDB.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|FerretDB + label: + text: labels.databases.versions + onChange: clearDefaultVersion|FerretDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|FerretDB + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|FerretDB + label: + text: labels.databases.FerretDB.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|FerretDB + label: + text: labels.databases.modes + onChange: clearDefaultMode|ferretdb + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|FerretDB + fetch: availableModes|FerretDB + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode + type: single-step-form + hideForm: true + label: + text: FerretDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Hazelcast.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Hazelcast + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Hazelcast + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Hazelcast + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Hazelcast + label: + text: labels.databases.Hazelcast.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Hazelcast + label: + text: labels.databases.modes + onChange: clearDefaultMode|Hazelcast + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Hazelcast + fetch: availableModes|Hazelcast + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode + type: single-step-form + hideForm: true + label: + text: Hazelcast + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Ignite.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Ignite + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Ignite + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Ignite + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Ignite + label: + text: labels.databases.Ignite.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Ignite + label: + text: labels.databases.modes + onChange: clearDefaultMode|Ignite + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Ignite + fetch: availableModes|Ignite + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode + type: single-step-form + hideForm: true + label: + text: Ignite + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Kafka.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Kafka + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Kafka + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Kafka + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Kafka + label: + text: labels.databases.Kafka.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Kafka + label: + text: labels.databases.modes + onChange: clearDefaultMode|kafka + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Kafka + fetch: availableModes|Kafka + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode + type: single-step-form + hideForm: true + label: + text: Kafka + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.MSSQLServer.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|MSSQLServer + label: + text: labels.databases.versions + onChange: clearDefaultVersion|MSSQLServer + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|MSSQLServer + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|MSSQLServer + label: + text: labels.databases.MSSQLServer.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|MSSQLServer + label: + text: labels.databases.modes + onChange: clearDefaultMode|mssqlserver + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|MSSQLServer + fetch: availableModes|MSSQLServer + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode + type: single-step-form + hideForm: true + label: + text: MSSQLServer + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.MariaDB.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|MariaDB + label: + text: labels.databases.versions + onChange: clearDefaultVersion|MariaDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|MariaDB + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|MariaDB + label: + text: labels.databases.MariaDB.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|MariaDB + label: + text: labels.databases.modes + onChange: clearDefaultMode|mariadb + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|MariaDB + fetch: availableModes|MariaDB + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode + type: single-step-form + hideForm: true + label: + text: MariaDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Memcached.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Memcached + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Memcached + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Memcached + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Memcached + label: + text: labels.databases.Memcached.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Memcached + label: + text: labels.databases.modes + onChange: clearDefaultMode|memcached + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Memcached + fetch: availableModes|Memcached + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode + type: single-step-form + hideForm: true + label: + text: Memcached + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.MongoDB.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|MongoDB + label: + text: labels.databases.versions + onChange: clearDefaultVersion|MongoDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|MongoDB + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|MongoDB + label: + text: labels.databases.MongoDB.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|MongoDB + label: + text: labels.databases.modes + onChange: clearDefaultMode|mongodb + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|MongoDB + fetch: availableModes|MongoDB + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode + type: single-step-form + hideForm: true + label: + text: MongoDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.MySQL.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|MySQL + label: + text: labels.databases.versions + onChange: clearDefaultVersion|MySQL + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|MySQL + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|MySQL + label: + text: labels.databases.MySQL.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|MySQL + label: + text: labels.databases.modes + onChange: clearDefaultMode|mysql + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|MySQL + fetch: availableModes|MySQL + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode + type: single-step-form + hideForm: true + label: + text: MySQL + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Oracle.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Oracle + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Oracle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Oracle + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Oracle + label: + text: labels.databases.Oracle.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Oracle + label: + text: labels.databases.modes + onChange: clearDefaultMode|Oracle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Oracle + fetch: availableModes|Oracle + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode + type: single-step-form + hideForm: true + label: + text: Oracle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.PerconaXtraDB.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|PerconaXtraDB + label: + text: labels.databases.versions + onChange: clearDefaultVersion|PerconaXtraDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|PerconaXtraDB + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|PerconaXtraDB + label: + text: labels.databases.PerconaXtraDB.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|PerconaXtraDB + label: + text: labels.databases.modes + onChange: clearDefaultMode|perconaxtradb + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|PerconaXtraDB + fetch: availableModes|PerconaXtraDB + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode + type: single-step-form + hideForm: true + label: + text: PerconaXtraDB + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.PgBouncer.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|PgBouncer + label: + text: labels.databases.versions + onChange: clearDefaultVersion|PgBouncer + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|PgBouncer + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|PgBouncer + label: + text: labels.databases.PgBouncer.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|PgBouncer + label: + text: labels.databases.modes + onChange: clearDefaultMode|pgbouncer + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|PgBouncer + fetch: availableModes|PgBouncer + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode + type: single-step-form + hideForm: true + label: + text: PgBouncer + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Pgpool.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Pgpool + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Pgpool + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Pgpool + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Pgpool + label: + text: labels.databases.Pgpool.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Pgpool + label: + text: labels.databases.modes + onChange: clearDefaultMode|pgpool + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Pgpool + fetch: availableModes|Pgpool + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode + type: single-step-form + hideForm: true + label: + text: Pgpool + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Postgres.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Postgres + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Postgres + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Postgres + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Postgres + label: + text: labels.databases.Postgres.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Postgres + label: + text: labels.databases.modes + onChange: clearDefaultMode|postgres + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Postgres + fetch: availableModes|Postgres + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode + type: single-step-form + hideForm: true + label: + text: Postgres + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.ProxySQL.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|ProxySQL + label: + text: labels.databases.versions + onChange: clearDefaultVersion|ProxySQL + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|ProxySQL + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|ProxySQL + label: + text: labels.databases.ProxySQL.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|ProxySQL + label: + text: labels.databases.modes + onChange: clearDefaultMode|proxysql + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|ProxySQL + fetch: availableModes|ProxySQL + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode + type: single-step-form + hideForm: true + label: + text: ProxySQL + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.RabbitMQ.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|RabbitMQ + label: + text: labels.databases.versions + onChange: clearDefaultVersion|RabbitMQ + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|RabbitMQ + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|RabbitMQ + label: + text: labels.databases.RabbitMQ.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|RabbitMQ + label: + text: labels.databases.modes + onChange: clearDefaultMode|rabbitmq + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|RabbitMQ + fetch: availableModes|RabbitMQ + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode + type: single-step-form + hideForm: true + label: + text: RabbitMQ + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Redis.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Redis + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Redis + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Redis + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Redis + label: + text: labels.databases.Redis.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Redis + label: + text: labels.databases.modes + onChange: clearDefaultMode|redis + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Redis + fetch: availableModes|Redis + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode + type: single-step-form + hideForm: true + label: + text: Redis + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Singlestore.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Singlestore + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Singlestore + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Singlestore + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Singlestore + label: + text: labels.databases.Singlestore.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Singlestore + label: + text: labels.databases.modes + onChange: clearDefaultMode|singlestore + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Singlestore + fetch: availableModes|Singlestore + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode + type: single-step-form + hideForm: true + label: + text: Singlestore + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.Solr.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|Solr + label: + text: labels.databases.versions + onChange: clearDefaultVersion|Solr + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|Solr + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|Solr + label: + text: labels.databases.Solr.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|Solr + label: + text: labels.databases.modes + onChange: clearDefaultMode|solr + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|Solr + fetch: availableModes|Solr + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode + type: single-step-form + hideForm: true + label: + text: Solr + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr + show_label: true + type: single-step-form + - elements: + - elements: + - label: + text: labels.databases.ZooKeeper.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle + type: switch + - fetch: FetchDbVersions|ZooKeeper + label: + text: labels.databases.versions + onChange: clearDefaultVersion|ZooKeeper + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available + type: multiselect + - fetch: availableVersions|ZooKeeper + label: + text: labels.databases.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions + type: single-step-form + - elements: + - computed: checkModeToggle|ZooKeeper + label: + text: labels.databases.ZooKeeper.toggleMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle + type: switch + - fetch: fetchModes|ZooKeeper + label: + text: labels.databases.modes + onChange: clearDefaultMode|zookeeper + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available + type: multiselect + - computed: setDefaultMode|ZooKeeper + fetch: availableModes|ZooKeeper + label: + text: labels.databases.defaultMode + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default + type: select + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode + type: single-step-form + hideForm: true + label: + text: Zookeeper + schema: + $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper + show_label: true + type: single-step-form + hideForm: true + label: + text: labels.databases.name + show_label: true + type: single-step-form + - elements: + - label: + text: Can user modify AuthCredential? + schema: + $ref: schema#/properties/spec/properties/admin/properties/authCredential/properties/customize + type: switch + - label: + text: Can user refer existing Auth? + schema: + $ref: schema#/properties/spec/properties/admin/properties/authCredential/properties/referExisting + type: switch + hideForm: true + label: + text: Auth Credential + show_label: true + type: single-step-form + - elements: + - label: + text: Custom Configuration + schema: + $ref: schema#/properties/spec/properties/admin/properties/customConfiguration + type: switch + hideForm: true + label: + text: Custom Configuration + show_label: true + type: single-step-form + - discriminator: + enableProfiles: + default: true + type: boolean + elements: + - computed: hasMachineProfiles + label: + text: Use custom profiles? + onChange: onMachineProfilesToggle + schema: + $ref: discriminator#/enableProfiles + type: switch + - discriminator: + useCustomProfile: + type: boolean + elements: + - addFormLabel: MachineProfile + element: + discriminator: + profile: + default: "" + type: string + profileChoseSwitch: + default: false + type: boolean + elements: + - label: + text: Choose from well-known profiles + schema: + $ref: discriminator#/profileChoseSwitch + type: switch + - fetch: getKnownProfile + if: isKnownProfileToggled + label: + text: Profile + schema: + $ref: discriminator#/profile + type: select + - computed: getProfileName + label: + text: ID + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/id + type: input + - computed: getProfileName + label: + text: Name + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/name + type: input + - elements: + - computed: setLimits|cpu + label: + text: CPU Limits + required: true + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits/properties/cpu + type: input + - computed: setLimits|memory + label: + text: Memory Limits + required: true + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits/properties/memory + type: input + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits + type: single-step-form + type: single-step-form + hideDetailsButton: true + label: + text: Machine Profiles + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines + tableContents: + - inTableColumn: true + label: + text: ID + path: id + type: value + typeOfValue: string + - inTableColumn: true + label: + text: Name + path: name + type: value + typeOfValue: string + - inTableColumn: true + label: + text: Limits + path: limits + type: value + typeOfValue: string + temporaryPath: /profile + type: single-step-form-array + - computed: hasCustomProfile + label: + text: Can users set their own custom CPU & memory resources? + schema: + $ref: discriminator#/useCustomProfile + type: switch + - computed: setCustomAvlMachine + customClass: mt-10 + fetch: getMachines + label: + text: Available Machines + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/available + type: multiselect + - fetch: getAvailableMachines + label: + text: Default Machine + schema: + $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/default + type: select + if: isEnableProfiles + type: single-step-form + hideForm: true + label: + text: Configure MachineProfiles + show_label: true + type: single-step-form + - elements: + - label: + text: labels.storageClass.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/toggle + type: switch + - fetch: getStorageClass + label: + text: labels.storageClass.available + schema: + $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/available + type: multiselect + - computed: setStorageClass + fetch: getOptions|storageClasses + label: + text: labels.storageClass.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/default + type: select + hideForm: false + label: + text: labels.storageClass.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.tls.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/tls/properties/toggle + type: switch + - label: + text: labels.tls.default + onChange: preSelectClusterIssuer + schema: + $ref: schema#/properties/spec/properties/admin/properties/tls/properties/default + type: switch + hideForm: true + label: + text: labels.tls.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.clusterIssuers.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle + type: switch + - fetch: getClusterIssuers + label: + text: labels.clusterIssuers.available + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/available + type: multiselect + - fetch: getOptions|clusterIssuers + label: + text: labels.clusterIssuers.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/default + type: select + hideForm: false + label: + text: labels.clusterIssuers.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.expose.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/expose/properties/toggle + type: switch + - label: + text: labels.expose.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/expose/properties/default + type: switch + hideForm: true + label: + text: labels.expose.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.monitoring.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/toggle + type: switch + - label: + text: labels.monitoring.agent + options: + - text: prometheus.io/operator + value: prometheus.io/operator + - text: prometheus.io + value: prometheus.io + - text: prometheus.io/builtin + value: prometheus.io/builtin + schema: + $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/agent + type: radio + - elements: + - label: + text: labels.monitoring.exporter.name + schema: + $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources + type: resource-input-form + type: single-step-form + hideForm: true + label: + text: labels.monitoring.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.alert.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/alert/properties/toggle + type: switch + hideForm: true + label: + text: labels.alert.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.deletionPolicy.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/deletionPolicy/properties/toggle + type: switch + - label: + text: labels.deletionPolicy.default + options: + - description: options.deletionPolicy.delete.description + text: options.deletionPolicy.delete.label + value: Delete + - description: options.deletionPolicy.halt.description + text: options.deletionPolicy.halt.label + value: Halt + - description: options.deletionPolicy.wipeOut.description + text: options.deletionPolicy.wipeOut.label + value: WipeOut + - description: options.deletionPolicy.doNotTerminate.description + text: options.deletionPolicy.doNotTerminate.label + value: DoNotTerminate + schema: + $ref: schema#/properties/spec/properties/admin/properties/deletionPolicy/properties/default + type: select + hideForm: true + label: + text: labels.deletionPolicy.name + show_label: true + type: single-step-form + - elements: + - addFormLabel: labels.tolerations.label + element: + elements: + - label: + text: labels.tolerations.key + schema: + $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/key + type: input + - label: + text: labels.tolerations.operator + options: + - NoSchedule + - PreferNoSchedule + - NoExecute + schema: + $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/operator + type: select + - label: + text: labels.tolerations.value + schema: + $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/value + type: input + - label: + text: labels.tolerations.effect + options: + - Exists + - Equal + schema: + $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/effect + type: select + - label: + text: labels.tolerations.tolerationSeconds + schema: + $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/tolerationSeconds + type: input + type: single-step-form + label: + text: labels.tolerations.label + schema: + $ref: schema#/properties/spec/properties/admin/properties/tolerations + tableContents: + - inTableColumn: true + label: + text: labels.tolerations.effect + path: effect + type: value + typeOfValue: string + - inTableColumn: true + label: + text: labels.tolerations.key + path: key + type: value + typeOfValue: string + - inTableColumn: true + label: + text: labels.tolerations.operator + path: operator + type: value + typeOfValue: string + - inTableColumn: true + label: + text: labels.tolerations.tolerationSeconds + path: tolerationSeconds + type: value + typeOfValue: string + - inTableColumn: true + label: + text: labels.tolerations.value + path: value + type: value + typeOfValue: string + type: single-step-form-array + hideForm: true + label: + text: labels.tolerations.label + show_label: true + type: single-step-form + - elements: + - isArray: true + keys: + label: + text: labels.nodeSelector.key + schema: + $ref: schema#/properties/spec/properties/admin/properties/nodeSelector + type: key-value-input-form + values: + label: + text: labels.nodeSelector.value + schema: + $ref: schema#/properties/spec/properties/admin/properties/nodeSelector/additionalProperties + type: input + hideForm: true + label: + text: labels.nodeSelector.label + show_label: true + type: single-step-form + - elements: + - label: + text: labels.backup.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/backup/properties/enable/properties/toggle + type: switch + - label: + text: labels.backup.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/backup/properties/enable/properties/default + type: switch + - isHorizontal: true + label: + text: Take Backup by + options: + - text: BackupConfiguration + value: BackupConfiguration + - text: BackupBlueprint + value: BackupBlueprint + schema: + $ref: schema#/properties/spec/properties/admin/properties/backup/properties/by + type: radio + hideForm: true + label: + text: labels.backup.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.pointInTimeRecovery.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/toggle + type: switch + - label: + text: labels.pointInTimeRecovery.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/default + type: switch + hideForm: true + label: + text: labels.pointInTimeRecovery.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.archiver.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/archiver/properties/enable/properties/toggle + type: switch + - label: + text: labels.archiver.default + schema: + $ref: schema#/properties/spec/properties/admin/properties/archiver/properties/enable/properties/default + type: switch + hideForm: true + label: + text: labels.archiver.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.showPreview.toggle + schema: + $ref: schema#/properties/spec/properties/admin/properties/showPreview + type: switch + - label: + text: Enable Gitops + schema: + $ref: schema#/properties/spec/properties/admin/properties/gitOps/properties/enable/properties/default + type: switch + hideForm: true + label: + text: labels.showPreview.name + show_label: true + type: single-step-form + - elements: + - label: + text: labels.leftPanel.showBackup + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showBackup + type: switch + - label: + text: labels.leftPanel.showBackupLegacy + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showBackupLegacy + type: switch + - label: + text: labels.leftPanel.showInsights + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showInsights + type: switch + - label: + text: labels.leftPanel.showOperations + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showOperations + type: switch + - label: + text: labels.leftPanel.showSecurity + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showSecurity + type: switch + - label: + text: labels.leftPanel.showVaultInfo + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showVaultInfo + type: switch + hideForm: true + label: + text: labels.leftPanel.name + schema: + $ref: schema#/properties/spec/properties/admin/properties/leftPanel + show_label: true + type: single-step-form + if: isKubedbUiPreset + type: single-step-form + if: presetNameEqualsTo|kubedb-ui-presets + type: single-step-form + - elements: + - elements: + - alias: reusable_stash-presets + chart: + name: uibytebuildersdev-component-stash-presets + version: v0.29.0 + moduleResolver: fetchJsons + schema: + $ref: schema#/properties/spec/properties/backup/properties/kubestash + type: reusable-element + - computed: setTool + if: returnFalse + schema: + $ref: schema#/properties/spec/properties/backup/properties/tool + type: input + schema: + $ref: schema#/properties/spec/properties/backup + type: single-step-form + if: presetNameEqualsTo|stash-presets + type: single-step-form + - elements: [] + type: single-step-form + type: single-step-form + id: options + title: Basic +type: multi-step-form \ No newline at end of file diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js new file mode 100644 index 0000000000..9092043b9d --- /dev/null +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js @@ -0,0 +1,967 @@ +const machinesMap = { + 'db.t.micro': { + resources: { + requests: { + cpu: '250m', + memory: '512Mi', + }, + limits: { + cpu: '500m', + memory: '1Gi', + }, + }, + }, + 'db.t.small': { + resources: { + requests: { + cpu: '1', + memory: '1Gi', + }, + limits: { + cpu: '2', + memory: '2Gi', + }, + }, + }, + 'db.t.medium': { + resources: { + requests: { + cpu: '1', + memory: '2Gi', + }, + limits: { + cpu: '2', + memory: '4Gi', + }, + }, + }, + 'db.t.large': { + resources: { + requests: { + cpu: '1', + memory: '4Gi', + }, + limits: { + cpu: '2', + memory: '8Gi', + }, + }, + }, + 'db.t.xlarge': { + resources: { + requests: { + cpu: '2', + memory: '8Gi', + }, + limits: { + cpu: '4', + memory: '16Gi', + }, + }, + }, + 'db.t.2xlarge': { + resources: { + requests: { + cpu: '4', + memory: '16Gi', + }, + limits: { + cpu: '8', + memory: '32Gi', + }, + }, + }, + 'db.m.small': { + resources: { + requests: { + cpu: '500m', + memory: '912680550', + }, + limits: { + cpu: '1', + memory: '1825361100', + }, + }, + }, + 'db.m.large': { + resources: { + requests: { + cpu: '1', + memory: '4Gi', + }, + limits: { + cpu: '2', + memory: '8Gi', + }, + }, + }, + 'db.m.xlarge': { + resources: { + requests: { + cpu: '2', + memory: '8Gi', + }, + limits: { + cpu: '4', + memory: '16Gi', + }, + }, + }, + 'db.m.2xlarge': { + resources: { + requests: { + cpu: '4', + memory: '16Gi', + }, + limits: { + cpu: '8', + memory: '32Gi', + }, + }, + }, + 'db.m.4xlarge': { + resources: { + requests: { + cpu: '8', + memory: '32Gi', + }, + limits: { + cpu: '16', + memory: '64Gi', + }, + }, + }, + 'db.m.8xlarge': { + resources: { + requests: { + cpu: '16', + memory: '64Gi', + }, + limits: { + cpu: '32', + memory: '128Gi', + }, + }, + }, + 'db.m.12xlarge': { + resources: { + requests: { + cpu: '24', + memory: '96Gi', + }, + limits: { + cpu: '48', + memory: '192Gi', + }, + }, + }, + 'db.m.16xlarge': { + resources: { + requests: { + cpu: '32', + memory: '128Gi', + }, + limits: { + cpu: '64', + memory: '256Gi', + }, + }, + }, + 'db.m.24xlarge': { + resources: { + requests: { + cpu: '48', + memory: '192Gi', + }, + limits: { + cpu: '96', + memory: '384Gi', + }, + }, + }, + 'db.r.large': { + resources: { + requests: { + cpu: '1', + memory: '8Gi', + }, + limits: { + cpu: '2', + memory: '16Gi', + }, + }, + }, + 'db.r.xlarge': { + resources: { + requests: { + cpu: '2', + memory: '16Gi', + }, + limits: { + cpu: '4', + memory: '32Gi', + }, + }, + }, + 'db.r.2xlarge': { + resources: { + requests: { + cpu: '4', + memory: '32Gi', + }, + limits: { + cpu: '8', + memory: '64Gi', + }, + }, + }, + 'db.r.4xlarge': { + resources: { + requests: { + cpu: '8', + memory: '96Gi', + }, + limits: { + cpu: '16', + memory: '192Gi', + }, + }, + }, + 'db.r.8xlarge': { + resources: { + requests: { + cpu: '16', + memory: '128Gi', + }, + limits: { + cpu: '32', + memory: '256Gi', + }, + }, + }, + 'db.r.12xlarge': { + resources: { + requests: { + cpu: '24', + memory: '192Gi', + }, + limits: { + cpu: '48', + memory: '384Gi', + }, + }, + }, + 'db.r.16xlarge': { + resources: { + requests: { + cpu: '32', + memory: '256Gi', + }, + limits: { + cpu: '64', + memory: '512Gi', + }, + }, + }, + 'db.r.24xlarge': { + resources: { + requests: { + cpu: '24', + memory: '384Gi', + }, + limits: { + cpu: '96', + memory: '768Gi', + }, + }, + }, +} + +const machineList = [ + 'db.t.micro', + 'db.t.small', + 'db.t.medium', + 'db.t.large', + 'db.t.xlarge', + 'db.t.2xlarge', + 'db.m.small', + 'db.m.large', + 'db.m.xlarge', + 'db.m.2xlarge', + 'db.m.4xlarge', + 'db.m.8xlarge', + 'db.m.12xlarge', + 'db.m.16xlarge', + 'db.m.24xlarge', + 'db.r.large', + 'db.r.xlarge', + 'db.r.2xlarge', + 'db.r.4xlarge', + 'db.r.8xlarge', + 'db.r.12xlarge', + 'db.r.16xlarge', + 'db.r.24xlarge', +] + +const modes = { + Cassandra: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + ClickHouse: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + Druid: { + availableModes: ['Topology'], + default: 'Topology', + }, + Elasticsearch: { + availableModes: ['Combined', 'Topology'], + default: 'Topology', + }, + FerretDB: { + availableModes: ['PrimaryOnly', 'PrimaryAndSecondary'], + default: 'PrimaryAndSecondary', + }, + Kafka: { + availableModes: ['Combined', 'Topology'], + default: 'Topology', + }, + Hazelcast: { + availableModes: ['Combined', 'Topology'], + default: 'Topology', + }, + Ignite: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + MSSQLServer: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + MariaDB: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Memcached: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + MongoDB: { + availableModes: ['Standalone', 'Replicaset', 'Sharded'], + default: 'Replicaset', + }, + MySQL: { + availableModes: [ + 'Standalone', + 'GroupReplication', + 'InnoDBCluster', + 'RemoteReplica', + 'SemiSync', + ], + default: 'GroupReplication', + }, + Oracle: { + availableModes: ['Standalone', 'DataGuard'], + default: 'DataGuard', + }, + PerconaXtraDB: { + availableModes: ['Replicaset'], + default: 'Replicaset', + }, + PgBouncer: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Pgpool: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Postgres: { + availableModes: ['Standalone', 'Cluster', 'RemoteReplica'], + default: 'Cluster', + }, + ProxySQL: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + RabbitMQ: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, + Redis: { + availableModes: ['Standalone', 'Cluster', 'Sentinel'], + default: 'Cluster', + }, + Singlestore: { + availableModes: ['Standalone', 'Topology'], + default: 'Topology', + }, + Solr: { + availableModes: ['Standalone', 'Replicaset', 'Topology'], + default: 'Topology', + }, + ZooKeeper: { + availableModes: ['Standalone', 'Replicaset'], + default: 'Replicaset', + }, +} + +function setTool({ commit }) { + commit('wizard/model$update', { + path: '/spec/backup/tool', + value: 'KubeStash', + force: true, + }) + return 'KubeStash' +} + +function returnFalse() { + return false +} + +function checkModeToggle({ getValue, model }, db) { + const toggle = getValue(model, `/spec/admin/databases/${db}/mode/toggle`) + if (toggle === undefined) return true +} + +async function fetchJsons({ axios, itemCtx }) { + let ui = {} + let language = {} + let functions = {} + const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart + + try { + ui = await axios.get( + `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + language = await axios.get( + `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + const functionString = await axios.get( + `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, + ) + // declare evaluate the functionString to get the functions Object + const evalFunc = new Function(functionString.data || '') + functions = evalFunc() + } catch (e) { + console.log(e) + } + + return { + ui: ui.data || {}, + language: language.data || {}, + functions, + } +} + +function presetNameEqualsTo({ storeGet }, value) { + const presetName = storeGet('/route/params/presetName') || '' + return presetName === value +} + +function getOptions({ getValue, model, watchDependency }, type) { + watchDependency(`model#/spec/admin/${type}/available`) + const options = getValue(model, `/spec/admin/${type}/available`) + return options +} + +async function FetchAllDbVersions({ storeGet, axios, setDiscriminatorValue }) { + const owner = storeGet('/route/params/user') + const cluster = storeGet('/route/params/cluster') + const url = `/clusters/${owner}/${cluster}/proxy/catalog.kubedb.com/v1alpha1/all-available` + + const resp = await axios.get(url) + + setDiscriminatorValue(`/allDbVersions`, resp.data) + return resp.data +} + +function isConfigureDb({ getValue, discriminator, watchDependency }, value) { + watchDependency(`discriminator#/${value}/isConfigure`) + const resp = getValue(discriminator, `/${value}/isConfigure`) + return resp +} + +async function FetchDbVersions({ watchDependency, getValue, discriminator }, db) { + watchDependency(`discriminator#/allDbVersions`) + data = getValue(discriminator, `allDbVersions/${db}Version`) + if (!data?.includes('Remove all')) data?.unshift('Remove all') + if (!data?.includes('Select all')) data?.unshift('Select all') + return data +} + +function clearDefaultVersion({ commit, model, getValue, discriminator }, db) { + const data = getValue(model, `/spec/admin/databases/${db}/versions/available`) + if (data?.includes('Select all')) { + versions = getValue(discriminator, `allDbVersions/${db}Version`) + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/versions/available`, + value: versions, + force: true, + }) + } + if (data?.includes('Remove all')) { + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/versions/available`, + value: [], + force: true, + }) + } +} + +function clearDefaultMode({ commit }, db) { + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/mode/default`, + value: '', + force: true, + }) +} + +function availableVersions({ getValue, model, watchDependency }, db) { + watchDependency(`model#/spec/admin/databases/${db}/versions/available`) + return getValue(model, `/spec/admin/databases/${db}/versions/available`) +} + +function availableModes({ getValue, model, watchDependency }, db) { + watchDependency(`model#/spec/admin/databases/${db}/mode/available`) + return getValue(model, `/spec/admin/databases/${db}/mode/available`) +} + +function isKubedbPresetEnable(storeGet) { + const featureSets = storeGet('/cluster/featureSets/result') || [] + const featureSetName = storeGet('/route/params/featureset') || '' + const featureSet = featureSets.find((item) => item?.metadata?.name === featureSetName) + + const features = featureSet?.status?.features || [] + const isKubedbPresetEnable = features.some((feature) => { + if (feature.name === 'kubedb-ui-presets') return true + }) + return isKubedbPresetEnable +} + +async function FetchDbBundle({ axios, storeGet, setDiscriminatorValue, discriminator }) { + const owner = storeGet('/route/params/user') + const cluster = storeGet('/route/params/cluster') + const url = `/clusters/${owner}/${cluster}/db-bundle?type=common&deployment=all` + try { + const resp = await axios.get(url) + setDiscriminatorValue('/bundle', resp.data) + } catch (e) { + console.log(e) + return [] + } +} + +function getPlacements({ watchDependency, getValue, discriminator }) { + watchDependency('discriminator#/bundle') + const placements = getValue(discriminator, '/bundle/placementpolicies') + + return placements +} + +function getNodeTopology({ watchDependency, getValue, discriminator }) { + watchDependency('discriminator#/bundle') + const shared = getValue(discriminator, '/bundle/shared') + const dedicated = getValue(discriminator, '/bundle/dedicated') + + const nodeTopology = [] + + shared?.map((item) => { + nodeTopology.push(item + ' (shared)') + }) + dedicated?.map((item) => { + nodeTopology.push(item + ' (dedicated)') + }) + + return nodeTopology +} + +function getStorageClass({ watchDependency, getValue, discriminator }) { + watchDependency('discriminator#/bundle') + const storageClasses = getValue(discriminator, '/bundle/storageclasses') + + return storageClasses +} + +function getClusterIssuers({ watchDependency, getValue, discriminator }) { + watchDependency('discriminator#/bundle') + const clusterIssuers = getValue(discriminator, '/bundle/clusterissuers') + + return clusterIssuers +} + +async function getNamespaces({ axios, storeGet }) { + const params = storeGet('/route/params') + const { user, cluster, group, version, resource } = params + try { + const resp = await axios.post( + `/clusters/${user}/${cluster}/proxy/identity.k8s.appscode.com/v1alpha1/selfsubjectnamespaceaccessreviews`, + { + apiVersion: 'identity.k8s.appscode.com/v1alpha1', + kind: 'SelfSubjectNamespaceAccessReview', + spec: { + resourceAttributes: [ + { + verb: 'create', + group: group, + version: version, + resource: resource, + }, + ], + }, + }, + ) + if (resp.data?.status?.projects) { + const projects = resp.data?.status?.projects + let projectsNamespace = [] + projectsNamespace = Object.keys(projects).map((project) => ({ + project: project, + namespaces: projects[project].map((namespace) => ({ + text: namespace, + value: namespace, + })), + })) + return projectsNamespace + } else { + return resp.data?.status?.namespaces || [] + } + } catch (e) { + console.log(e) + } + return [] +} + +function isRancherManaged({ storeGet }) { + const managers = storeGet('/cluster/clusterDefinition/result/clusterManagers') + const found = managers.find((item) => item === 'Rancher') + return !!found +} + +function setTool({ commit }) { + commit('wizard/model$update', { + path: '/spec/backup/tool', + value: 'KubeStash', + force: true, + }) + return 'KubeStash' +} + +async function fetchJsons({ axios, itemCtx }) { + let ui = {} + let language = {} + let functions = {} + const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart + + try { + ui = await axios.get( + `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + language = await axios.get( + `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, + ) + const functionString = await axios.get( + `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, + ) + // declare evaluate the functionString to get the functions Object + const evalFunc = new Function(functionString.data || '') + functions = evalFunc() + } catch (e) { + console.log(e) + } + + return { + ui: ui.data || {}, + language: language.data || {}, + functions, + } +} + +function isKubedbUiPreset({ getValue, watchDependency, discriminator, storeGet }) { + const presetName = storeGet('/route/params/presetName') || '' + if (presetName === 'kubedb-ui-presets') return true + const enabledFeatures = getValue(discriminator, '/enabledFeatures') || [] + watchDependency('discriminator#/enabledFeatures') + if (enabledFeatures?.includes('kubedb-ui-presets')) { + return true + } else return false +} + +function fetchModes({ model, getValue, commit }, db) { + const arr = modes[db]?.availableModes || [] + const val = getValue(model, `/spec/admin/databases/${db}/mode/available`) + if (!val) + commit('wizard/model$update', { + path: `/spec/admin/databases/${db}/mode/available`, + value: arr, + force: true, + }) + return arr +} + +function setDefaultMode({ getValue, model }, db) { + const modelDef = getValue(model, `/spec/admin/databases/${db}/mode/default`) + const def = modes[db]?.default || '' + if (modelDef === undefined) return def +} + +function setStorageClass({ getValue, model, watchDependency, commit }) { + watchDependency('model#/spec/admin/storageClasses/available') + const classes = getValue(model, '/spec/admin/storageClasses/available') + if (classes.length === 1) + commit('wizard/model$update', { + path: '/spec/admin/storageClasses/default', + value: classes[0], + force: true, + }) +} + +function preSelectClusterIssuer({ getValue, model, watchDependency, commit, discriminator }) { + const val = getValue(model, '/spec/admin/tls/default') + const clusterIssuers = getClusterIssuers({ watchDependency, getValue, discriminator }) + if (val) { + if (clusterIssuers.length) { + commit('wizard/model$update', { + path: '/spec/admin/clusterIssuers/available', + value: [clusterIssuers[0]], + force: true, + }) + } + } else { + commit('wizard/model$update', { + path: '/spec/admin/clusterIssuers/available', + value: '', + force: true, + }) + } +} + +// machine profiles stuffs + +let initialMachines = [] +function hasMachineProfiles({ getValue, model, commit }) { + const val = getValue(model, '/spec/admin/machineProfiles/machines') || [] + initialMachines = val + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles/machines', + value: sortMachines(val), + force: true, + }) + + return !!val?.length +} + +function isEnableProfiles({ watchDependency, getValue, discriminator }) { + watchDependency('discriminator#/enableProfiles') + return getValue(discriminator, '/enableProfiles') || false +} + +function onMachineProfilesToggle({ getValue, commit, discriminator }) { + const toggle = getValue(discriminator, '/enableProfiles') || false + + if (!toggle) { + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles', + value: { available: [], default: '', machines: [] }, + force: true, + }) + } else { + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles/machines', + value: initialMachines, + force: true, + }) + } +} + +function getMachines({ watchDependency, getValue, model, commit, discriminator }) { + watchDependency('model#/spec/admin/machineProfiles/machines') + watchDependency('discriminator#/useCustomProfile') + let machines = getValue(model, '/spec/admin/machineProfiles/machines') || [] + + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles/machines', + value: sortMachines(machines), + force: true, + }) + + let mappedMachine = machines?.map((machine) => ({ + text: machine.id, + value: machine.id, + })) + + const hasCustom = getValue(discriminator, '/useCustomProfile') + if (hasCustom) mappedMachine = [{ text: 'custom', value: 'custom' }, ...mappedMachine] + else if (hasCustom === false) + mappedMachine = mappedMachine.filter((item) => item.value !== 'custom') + + return mappedMachine +} + +function setCustomAvlMachine({ getValue, discriminator, model, commit, watchDependency }) { + watchDependency('discriminator#/useCustomProfile') + const hasCustom = getValue(discriminator, '/useCustomProfile') + let avl = getValue(model, '/spec/admin/machineProfiles/available') || [] + + if (hasCustom) avl = ['custom', ...avl] + else avl = avl.filter((item) => item !== 'custom') + + return avl +} + +function getAvailableMachines({ watchDependency, getValue, model }) { + watchDependency('model#/spec/admin/machineProfiles/available') + let machines = getValue(model, '/spec/admin/machineProfiles/available') || [] + return machines +} + +function isKnownProfileToggled({ watchDependency, discriminator, getValue }) { + watchDependency('discriminator#/profileChoseSwitch') + const val = getValue(discriminator, '/profileChoseSwitch') + return val +} + +function getKnownProfile({ getValue, model }) { + const machineProfiles = getValue(model, '/spec/admin/machineProfiles/machines') + + // filtering machine list, if it's already in the model we don't need to show it + const filteredMachines = machineList.filter( + (machine) => !machineProfiles.some((m) => m.id === machine), + ) + const mappedMachine = filteredMachines.map((item) => ({ + text: item, + value: item.toLowerCase(), + subText: `CPU: ${machinesMap[item].resources.limits.cpu}, memory: ${machinesMap[item].resources.limits.memory}`, + })) + return mappedMachine +} + +function setLimits({ getValue, temporaryModel, discriminator, watchDependency }, type) { + watchDependency('discriminator#/profile') + const pro = getValue(discriminator, '/profile') || '' + if (!pro) { + const input = getValue(temporaryModel, `/profile/limits/${type}`) + return input + } + const profileDetails = machinesMap[pro] || {} + const limits = profileDetails.resources?.limits || {} + return limits[type] || '' +} + +function getProfileName({ watchDependency, getValue, discriminator }) { + watchDependency('discriminator#/profile') + const pro = getValue(discriminator, '/profile') || '' + if (!pro) return + return pro +} + +function hasCustomProfile({ getValue, model }) { + const machines = getValue(model, '/spec/admin/machineProfiles/available') + const hasCustom = machines.includes('custom') + return hasCustom +} + +function parseMemory(memory) { + const units = { + B: 1, // Base unit (Bytes) + K: 1000, // 1 K = 1000 B + KB: 1000, // 1 KB = 1000 B + Ki: 1024, // 1 Ki = 1024 B + M: 1000 * 1000, // 1 M = 1000 K + MB: 1000 * 1000, // 1 MB = 1000 KB + Mi: 1024 * 1024, // 1 Mi = 1024 Ki + G: 1000 * 1000 * 1000, // 1 G = 1000 M + GB: 1000 * 1000 * 1000, // 1 GB = 1000 MB + Gi: 1024 * 1024 * 1024, // 1 Gi = 1024 Mi + T: 1000 * 1000 * 1000 * 1000, // 1 T = 1000 G + TB: 1000 * 1000 * 1000 * 1000, // 1 TB = 1000 GB + Ti: 1024 * 1024 * 1024 * 1024, // 1 Ti = 1024 Gi + P: 1000 * 1000 * 1000 * 1000 * 1000, // 1 P = 1000 T + PB: 1000 * 1000 * 1000 * 1000 * 1000, // 1 PB = 1000 TB + Pi: 1024 * 1024 * 1024 * 1024 * 1024, // 1 Pi = 1024 Ti + } + + // If memory is just a number (int or float), treat it as bytes + if (/^\d+(\.\d+)?$/.test(memory)) { + return parseFloat(memory) + } + + // Match float or int followed by optional unit + const match = memory.match(/^(\d+(?:\.\d+)?)(B|KB|Ki|K|M|MB|Mi|G|GB|Gi|T|TB|Ti|P|PB|Pi)?$/) + if (match) { + const value = parseFloat(match[1]) + const unit = match[2] || 'B' + return value * (units[unit] || 1) + } + + return 0 // Default fallback for unexpected formats +} + +function parseCPU(cpu) { + if (typeof cpu === 'number') return cpu // If already a number, return as is + + const match = cpu.match(/^(\d+(?:\.\d+)?)(m)?$/) + if (!match) return 0 // Invalid format, return 0 + + if (cpu.endsWith('m')) { + return parseFloat(cpu) / 1000 // Convert '500m' to 0.5 + } + + return parseFloat(cpu) // Convert '1', '0.5' directly +} + +function sortMachines(arr) { + return arr.sort((a, b) => { + const memA = parseMemory(a.limits.memory) + const memB = parseMemory(b.limits.memory) + + if (memA !== memB) { + return memA - memB + } + + const cpuA = parseCPU(a.limits.cpu) + const cpuB = parseCPU(b.limits.cpu) + + return cpuA - cpuB + }) +} + +return { + preSelectClusterIssuer, + isRancherManaged, + getOptions, + getNodeTopology, + FetchAllDbVersions, + isConfigureDb, + FetchDbVersions, + availableVersions, + clearDefaultVersion, + getPlacements, + getStorageClass, + getClusterIssuers, + getNamespaces, + isKubedbUiPreset, + FetchDbBundle, + setTool, + returnFalse, + checkModeToggle, + fetchJsons, + presetNameEqualsTo, + fetchModes, + availableModes, + setDefaultMode, + clearDefaultMode, + setStorageClass, + hasMachineProfiles, + isEnableProfiles, + getMachines, + onMachineProfilesToggle, + isKnownProfileToggled, + getKnownProfile, + setLimits, + getProfileName, + hasCustomProfile, + getAvailableMachines, + setCustomAvlMachine, +} From dfc50a8436c9ec516fbd3a1594e4c41fbada0960 Mon Sep 17 00:00:00 2001 From: shofiq Date: Mon, 9 Feb 2026 09:54:16 +0600 Subject: [PATCH 02/12] add watchdependency with presets loader in create ui Signed-off-by: shofiq --- .../ui/create-ui.yaml | 482 ++++++++++++++---- .../ui/functions.js | 1 - 2 files changed, 392 insertions(+), 91 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index d311d5fdda..6c6cca488b 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -52,13 +52,19 @@ step: - label: Can user modify Placement? schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle type: switch - - loader: getPlacements + - loader: + name: getPlacements + watchPaths: + - temp/bundle label: Available Placements schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available type: select multiple: true - disableUnselect: true - loader: getOptions|clusterTier/placement + loader: + name: getOptions|clusterTier/placement + watchPaths: + - schema/spec/admin/clusterTier/placement/available label: Default Placement schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default type: select @@ -68,13 +74,19 @@ step: - label: Can user modify Node Topology? schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle type: switch - - loader: getNodeTopology + - loader: + name: getNodeTopology + watchPaths: + - temp/bundle label: Available Node Topologies schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available type: select multiple: true - disableUnselect: true - loader: getOptions|clusterTier/nodeTopology + loader: + name: getOptions|clusterTier/nodeTopology + watchPaths: + - schema/spec/admin/clusterTier/nodeTopology/available label: Default Node Topology schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default type: select @@ -90,7 +102,10 @@ step: - label: Can user modify Cassandra Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Cassandra + - loader: + name: FetchDbVersions|Cassandra + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Cassandra @@ -99,7 +114,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Cassandra + - loader: + name: availableVersions|Cassandra + watchPaths: + - schema/spec/admin/databases/Cassandra/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default type: select @@ -124,7 +142,10 @@ step: - init: type: func value: setDefaultMode|Cassandra - loader: availableModes|Cassandra + loader: + name: availableModes|Cassandra + watchPaths: + - schema/spec/admin/databases/Cassandra/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default type: select @@ -141,7 +162,10 @@ step: - label: Can user modify ClickHouse Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|ClickHouse + - loader: + name: FetchDbVersions|ClickHouse + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|ClickHouse @@ -150,7 +174,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|ClickHouse + - loader: + name: availableVersions|ClickHouse + watchPaths: + - schema/spec/admin/databases/ClickHouse/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default type: select @@ -175,7 +202,10 @@ step: - init: type: func value: setDefaultMode|ClickHouse - loader: availableModes|ClickHouse + loader: + name: availableModes|ClickHouse + watchPaths: + - schema/spec/admin/databases/ClickHouse/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default type: select @@ -191,7 +221,10 @@ step: - label: Can user modify Druid Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Druid + - loader: + name: FetchDbVersions|Druid + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Druid @@ -200,7 +233,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Druid + - loader: + name: availableVersions|Druid + watchPaths: + - schema/spec/admin/databases/Druid/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default type: select @@ -225,7 +261,10 @@ step: - init: type: func value: setDefaultMode|Druid - loader: availableModes|Druid + loader: + name: availableModes|Druid + watchPaths: + - schema/spec/admin/databases/Druid/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default type: select @@ -241,7 +280,10 @@ step: - label: Can user modify Elasticsearch Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Elasticsearch + - loader: + name: FetchDbVersions|Elasticsearch + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Elasticsearch @@ -250,7 +292,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Elasticsearch + - loader: + name: availableVersions|Elasticsearch + watchPaths: + - schema/spec/admin/databases/Elasticsearch/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default type: select @@ -275,7 +320,10 @@ step: - init: type: func value: setDefaultMode|Elasticsearch - loader: availableModes|Elasticsearch + loader: + name: availableModes|Elasticsearch + watchPaths: + - schema/spec/admin/databases/Elasticsearch/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default type: select @@ -291,7 +339,10 @@ step: - label: Can user modify FerretDB Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|FerretDB + - loader: + name: FetchDbVersions|FerretDB + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|FerretDB @@ -300,7 +351,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|FerretDB + - loader: + name: availableVersions|FerretDB + watchPaths: + - schema/spec/admin/databases/FerretDB/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default type: select @@ -325,7 +379,10 @@ step: - init: type: func value: setDefaultMode|FerretDB - loader: availableModes|FerretDB + loader: + name: availableModes|FerretDB + watchPaths: + - schema/spec/admin/databases/FerretDB/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default type: select @@ -341,7 +398,10 @@ step: - label: Can user modify Hazelcast Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Hazelcast + - loader: + name: FetchDbVersions|Hazelcast + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Hazelcast @@ -350,7 +410,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Hazelcast + - loader: + name: availableVersions|Hazelcast + watchPaths: + - schema/spec/admin/databases/Hazelcast/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default type: select @@ -375,7 +438,10 @@ step: - init: type: func value: setDefaultMode|Hazelcast - loader: availableModes|Hazelcast + loader: + name: availableModes|Hazelcast + watchPaths: + - schema/spec/admin/databases/Hazelcast/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default type: select @@ -391,7 +457,10 @@ step: - label: Can user modify Ignite Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Ignite + - loader: + name: FetchDbVersions|Ignite + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Ignite @@ -400,7 +469,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Ignite + - loader: + name: availableVersions|Ignite + watchPaths: + - schema/spec/admin/databases/Ignite/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default type: select @@ -425,7 +497,10 @@ step: - init: type: func value: setDefaultMode|Ignite - loader: availableModes|Ignite + loader: + name: availableModes|Ignite + watchPaths: + - schema/spec/admin/databases/Ignite/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default type: select @@ -441,7 +516,10 @@ step: - label: Can user modify Kafka Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Kafka + - loader: + name: FetchDbVersions|Kafka + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Kafka @@ -450,7 +528,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Kafka + - loader: + name: availableVersions|Kafka + watchPaths: + - schema/spec/admin/databases/Kafka/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default type: select @@ -475,7 +556,10 @@ step: - init: type: func value: setDefaultMode|Kafka - loader: availableModes|Kafka + loader: + name: availableModes|Kafka + watchPaths: + - schema/spec/admin/databases/Kafka/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default type: select @@ -491,7 +575,10 @@ step: - label: Can user modify MSSQLServer Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|MSSQLServer + - loader: + name: FetchDbVersions|MSSQLServer + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|MSSQLServer @@ -500,7 +587,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|MSSQLServer + - loader: + name: availableVersions|MSSQLServer + watchPaths: + - schema/spec/admin/databases/MSSQLServer/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default type: select @@ -525,7 +615,10 @@ step: - init: type: func value: setDefaultMode|MSSQLServer - loader: availableModes|MSSQLServer + loader: + name: availableModes|MSSQLServer + watchPaths: + - schema/spec/admin/databases/MSSQLServer/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default type: select @@ -541,7 +634,10 @@ step: - label: Can user modify MariaDB Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|MariaDB + - loader: + name: FetchDbVersions|MariaDB + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|MariaDB @@ -550,7 +646,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|MariaDB + - loader: + name: availableVersions|MariaDB + watchPaths: + - schema/spec/admin/databases/MariaDB/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default type: select @@ -575,7 +674,10 @@ step: - init: type: func value: setDefaultMode|MariaDB - loader: availableModes|MariaDB + loader: + name: availableModes|MariaDB + watchPaths: + - schema/spec/admin/databases/MariaDB/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default type: select @@ -591,7 +693,10 @@ step: - label: Can user modify Memcached Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Memcached + - loader: + name: FetchDbVersions|Memcached + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Memcached @@ -600,7 +705,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Memcached + - loader: + name: availableVersions|Memcached + watchPaths: + - schema/spec/admin/databases/Memcached/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default type: select @@ -625,7 +733,10 @@ step: - init: type: func value: setDefaultMode|Memcached - loader: availableModes|Memcached + loader: + name: availableModes|Memcached + watchPaths: + - schema/spec/admin/databases/Memcached/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default type: select @@ -641,7 +752,10 @@ step: - label: Can user modify MongoDB Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|MongoDB + - loader: + name: FetchDbVersions|MongoDB + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|MongoDB @@ -650,7 +764,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|MongoDB + - loader: + name: availableVersions|MongoDB + watchPaths: + - schema/spec/admin/databases/MongoDB/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default type: select @@ -675,7 +792,10 @@ step: - init: type: func value: setDefaultMode|MongoDB - loader: availableModes|MongoDB + loader: + name: availableModes|MongoDB + watchPaths: + - schema/spec/admin/databases/MongoDB/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default type: select @@ -691,7 +811,10 @@ step: - label: Can user modify MySQL Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|MySQL + - loader: + name: FetchDbVersions|MySQL + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|MySQL @@ -700,7 +823,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|MySQL + - loader: + name: availableVersions|MySQL + watchPaths: + - schema/spec/admin/databases/MySQL/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default type: select @@ -725,7 +851,10 @@ step: - init: type: func value: setDefaultMode|MySQL - loader: availableModes|MySQL + loader: + name: availableModes|MySQL + watchPaths: + - schema/spec/admin/databases/MySQL/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default type: select @@ -741,7 +870,10 @@ step: - label: Can user modify Oracle Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Oracle + - loader: + name: FetchDbVersions|Oracle + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Oracle @@ -750,7 +882,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Oracle + - loader: + name: availableVersions|Oracle + watchPaths: + - schema/spec/admin/databases/Oracle/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default type: select @@ -775,7 +910,10 @@ step: - init: type: func value: setDefaultMode|Oracle - loader: availableModes|Oracle + loader: + name: availableModes|Oracle + watchPaths: + - schema/spec/admin/databases/Oracle/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default type: select @@ -791,7 +929,10 @@ step: - label: Can user modify PerconaXtraDB Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|PerconaXtraDB + - loader: + name: FetchDbVersions|PerconaXtraDB + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|PerconaXtraDB @@ -800,7 +941,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|PerconaXtraDB + - loader: + name: availableVersions|PerconaXtraDB + watchPaths: + - schema/spec/admin/databases/PerconaXtraDB/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default type: select @@ -825,7 +969,10 @@ step: - init: type: func value: setDefaultMode|PerconaXtraDB - loader: availableModes|PerconaXtraDB + loader: + name: availableModes|PerconaXtraDB + watchPaths: + - schema/spec/admin/databases/PerconaXtraDB/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default type: select @@ -841,7 +988,10 @@ step: - label: Can user modify PgBouncer Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|PgBouncer + - loader: + name: FetchDbVersions|PgBouncer + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|PgBouncer @@ -850,7 +1000,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|PgBouncer + - loader: + name: availableVersions|PgBouncer + watchPaths: + - schema/spec/admin/databases/PgBouncer/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default type: select @@ -875,7 +1028,10 @@ step: - init: type: func value: setDefaultMode|PgBouncer - loader: availableModes|PgBouncer + loader: + name: availableModes|PgBouncer + watchPaths: + - schema/spec/admin/databases/PgBouncer/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default type: select @@ -891,7 +1047,10 @@ step: - label: Can user modify Pgpool Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Pgpool + - loader: + name: FetchDbVersions|Pgpool + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Pgpool @@ -900,7 +1059,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Pgpool + - loader: + name: availableVersions|Pgpool + watchPaths: + - schema/spec/admin/databases/Pgpool/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default type: select @@ -925,7 +1087,10 @@ step: - init: type: func value: setDefaultMode|Pgpool - loader: availableModes|Pgpool + loader: + name: availableModes|Pgpool + watchPaths: + - schema/spec/admin/databases/Pgpool/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default type: select @@ -941,7 +1106,10 @@ step: - label: Can user modify Postgres Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Postgres + - loader: + name: FetchDbVersions|Postgres + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Postgres @@ -950,7 +1118,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Postgres + - loader: + name: availableVersions|Postgres + watchPaths: + - schema/spec/admin/databases/Postgres/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default type: select @@ -975,7 +1146,10 @@ step: - init: type: func value: setDefaultMode|Postgres - loader: availableModes|Postgres + loader: + name: availableModes|Postgres + watchPaths: + - schema/spec/admin/databases/Postgres/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default type: select @@ -991,7 +1165,10 @@ step: - label: Can user modify ProxySQL Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|ProxySQL + - loader: + name: FetchDbVersions|ProxySQL + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|ProxySQL @@ -1000,7 +1177,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|ProxySQL + - loader: + name: availableVersions|ProxySQL + watchPaths: + - schema/spec/admin/databases/ProxySQL/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default type: select @@ -1025,7 +1205,10 @@ step: - init: type: func value: setDefaultMode|ProxySQL - loader: availableModes|ProxySQL + loader: + name: availableModes|ProxySQL + watchPaths: + - schema/spec/admin/databases/ProxySQL/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default type: select @@ -1041,7 +1224,10 @@ step: - label: Can user modify RabbitMQ Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|RabbitMQ + - loader: + name: FetchDbVersions|RabbitMQ + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|RabbitMQ @@ -1050,7 +1236,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|RabbitMQ + - loader: + name: availableVersions|RabbitMQ + watchPaths: + - schema/spec/admin/databases/RabbitMQ/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default type: select @@ -1075,7 +1264,10 @@ step: - init: type: func value: setDefaultMode|RabbitMQ - loader: availableModes|RabbitMQ + loader: + name: availableModes|RabbitMQ + watchPaths: + - schema/spec/admin/databases/RabbitMQ/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default type: select @@ -1091,7 +1283,10 @@ step: - label: Can user modify Redis Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Redis + - loader: + name: FetchDbVersions|Redis + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Redis @@ -1100,7 +1295,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Redis + - loader: + name: availableVersions|Redis + watchPaths: + - schema/spec/admin/databases/Redis/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default type: select @@ -1125,7 +1323,10 @@ step: - init: type: func value: setDefaultMode|Redis - loader: availableModes|Redis + loader: + name: availableModes|Redis + watchPaths: + - schema/spec/admin/databases/Redis/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default type: select @@ -1141,7 +1342,10 @@ step: - label: Can user modify Singlestore Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Singlestore + - loader: + name: FetchDbVersions|Singlestore + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Singlestore @@ -1150,7 +1354,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Singlestore + - loader: + name: availableVersions|Singlestore + watchPaths: + - schema/spec/admin/databases/Singlestore/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default type: select @@ -1175,7 +1382,10 @@ step: - init: type: func value: setDefaultMode|Singlestore - loader: availableModes|Singlestore + loader: + name: availableModes|Singlestore + watchPaths: + - schema/spec/admin/databases/Singlestore/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default type: select @@ -1191,7 +1401,10 @@ step: - label: Can user modify Solr configuration? schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|Solr + - loader: + name: FetchDbVersions|Solr + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|Solr @@ -1200,7 +1413,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|Solr + - loader: + name: availableVersions|Solr + watchPaths: + - schema/spec/admin/databases/Solr/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default type: select @@ -1225,7 +1441,10 @@ step: - init: type: func value: setDefaultMode|Solr - loader: availableModes|Solr + loader: + name: availableModes|Solr + watchPaths: + - schema/spec/admin/databases/Solr/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default type: select @@ -1241,7 +1460,10 @@ step: - label: Can user modify ZooKeeper Version? schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle type: switch - - loader: FetchDbVersions|ZooKeeper + - loader: + name: FetchDbVersions|ZooKeeper + watchPaths: + - temp/allDbVersions label: Available Versions watcher: func: clearDefaultVersion|ZooKeeper @@ -1250,7 +1472,10 @@ step: schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available type: select multiple: true - - loader: availableVersions|ZooKeeper + - loader: + name: availableVersions|ZooKeeper + watchPaths: + - schema/spec/admin/databases/ZooKeeper/versions/available label: Default Version schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default type: select @@ -1275,7 +1500,10 @@ step: - init: type: func value: setDefaultMode|ZooKeeper - loader: availableModes|ZooKeeper + loader: + name: availableModes|ZooKeeper + watchPaths: + - schema/spec/admin/databases/ZooKeeper/mode/available label: Default Mode schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default type: select @@ -1384,13 +1612,24 @@ step: - init: type: func value: setCustomAvlMachine + watcher: + func: setCustomAvlMachine + paths: + - temp/useCustomProfile customClass: mt-10 - loader: getMachines + loader: + name: getMachines + watchPaths: + - schema/spec/admin/machineProfiles/machines + - temp/useCustomProfile label: Available Machines schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/available type: select multiple: true - - loader: getAvailableMachines + - loader: + name: getAvailableMachines + watchPaths: + - schema/spec/admin/machineProfiles/available label: Default Machine schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/default type: select @@ -1406,7 +1645,10 @@ step: - label: Can users modify Storage Class? schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/toggle type: switch - - loader: getStorageClass + - loader: + name: getStorageClass + watchPaths: + - temp/bundle label: Available Storage Classes schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/available type: select @@ -1414,7 +1656,10 @@ step: - init: type: func value: setStorageClass - loader: getOptions|storageClasses + loader: + name: setStorageClass + watchPaths: + - schema/spec/admin/storageClasses/available label: Default Storage Class schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/default type: select @@ -1441,12 +1686,18 @@ step: - label: Can user modify Cluster Issuers? schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle type: switch - - loader: getClusterIssuers + - loader: + name: getClusterIssuers + watchPaths: + - temp/bundle label: Available Cluster Issuers schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/available type: select multiple: true - - loader: getOptions|clusterIssuers + - loader: + name: getOptions|clusterIssuers + watchPaths: + - schema/spec/admin/clusterIssuers/available label: Default Cluster Issuer schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/default type: select @@ -1656,14 +1907,65 @@ step: if: name: returnFalse type: function - # - alias: reusable_stash-presets - # chart: - # name: uibytebuildersdev-component-stash-presets - # version: v0.29.0 - # moduleResolver: fetchJsons - # schema: - # $ref: schema#/properties/spec/properties/backup/properties/kubestash - # type: reusable-element + - elements: + - elements: + - loader: getNamespaces + disableUnselect: true + label: labels.kubestash.encryptionSecret.namespace + refresh: true + schema: schema/properties/encryptionSecret/properties/namespace + type: select + - loader: fetchNames|encryptionSecret + disableUnselect: true + label: labels.kubestash.encryptionSecret.name + refresh: true + schema: schema/properties/encryptionSecret/properties/name + type: select + label: labels.kubestash.encryptionSecret.label + # schema: schema/properties/encryptionSecret + showLabels: true + type: block-layout + - elements: + - loader: getNamespaces + disableUnselect: true + hasGroup: isRancherManaged + label: labels.kubestash.retentionPolicy.namespace + refresh: true + schema: schema/properties/retentionPolicy/properties/namespace + type: select + - loader: fetchNames|retentionPolicy + disableUnselect: true + label: labels.kubestash.retentionPolicy.name + refresh: true + schema: schema/properties/retentionPolicy/properties/name + type: select + label: labels.kubestash.retentionPolicy.label + # schema: schema/properties/retentionPolicy + showLabels: true + type: block-layout + - elements: + - loader: getNamespaces + disableUnselect: true + hasGroup: isRancherManaged + label: labels.kubestash.retentionPolicy.namespace + refresh: true + schema: schema/properties/storageRef/properties/namespace + type: select + - loader: fetchNames|storageRef + disableUnselect: true + label: labels.kubestash.storageRef.name + refresh: true + schema: schema/properties/storageRef/properties/name + type: select + label: labels.kubestash.storageRef.label + # schema: schema/properties/storageRef + showLabels: true + type: block-layout + - label: labels.kubestash.schedule + schema: schema/properties/schedule + type: input + # schema: schema/ + type: block-layout # schema: schema/properties/spec/properties/backup loader: setTool type: block-layout diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index abaf884e88..8b68324932 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -477,7 +477,6 @@ export const useFunc = (model) => { } function presetNameEqualsTo(value) { - console.log('foundddddddddd -> ', value) const presetName = storeGet('/route/params/presetName') || '' return presetName === value } From 4a8a3ea6a0889e02893aea1e5da0fbe98d15dec4 Mon Sep 17 00:00:00 2001 From: shofiq Date: Mon, 9 Feb 2026 18:29:52 +0600 Subject: [PATCH 03/12] fix array object watcher in preset machine profile Signed-off-by: shofiq --- .../ui/create-ui.yaml | 42 ++++++++++--------- .../ui/functions.js | 29 +++++++++---- 2 files changed, 44 insertions(+), 27 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index 6c6cca488b..83571535de 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -29,7 +29,7 @@ step: label: Deployment Type isHorizontal: true type: radio - # hideBlock: true + hideBlock: true label: Deployment Type showLabels: true type: block-layout @@ -1564,11 +1564,7 @@ step: - loader: name: getProfileName watchPaths: - - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile - watcher: - func: onProfileIdChange - paths: - - schema/spec/admin/machineProfiles/machines/dynamicIndex/id + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile label: ID validation: type: required @@ -1577,14 +1573,14 @@ step: - loader: name: getProfileName watchPaths: - - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile label: Name schema: name type: input - loader: name: setLimits|cpu watchPaths: - - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile label: CPU Limits validation: type: required @@ -1593,14 +1589,22 @@ step: - loader: name: setLimits|memory watchPaths: - - schema/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile label: Memory Limits validation: type: required schema: limits/properties/memory type: input label: Machine Profiles - schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/machines + # schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/machines + schema: temp/properties/spec/properties/admin/properties/machineProfiles/properties/machines + init: + type: func + value: setMachineProfiles + watcher: + func: onMachineProfileChange + paths: + - temp/properties/spec/properties/admin/properties/machineProfiles/properties/machines # temporaryPath: /profile type: array-object-form - init: @@ -1657,7 +1661,7 @@ step: type: func value: setStorageClass loader: - name: setStorageClass + name: getOptions|storageClasses watchPaths: - schema/spec/admin/storageClasses/available label: Default Storage Class @@ -1764,17 +1768,17 @@ step: type: switch - label: Default Deletion Policy options: - - description: options.deletionPolicy.delete.description - text: options.deletionPolicy.delete.label + - description: Keep only database Secrets and backed up data. + text: Delete ( Keep only database Secrets and backed up data ) value: Delete - - description: options.deletionPolicy.halt.description - text: options.deletionPolicy.halt.label + - description: Keep PVCs, database Secrets and backed up data. + text: Halt ( Keep PVCs, database Secrets and backed up data ) value: Halt - - description: options.deletionPolicy.wipeOut.description - text: options.deletionPolicy.wipeOut.label + - description: Delete everything including backed up data. + text: WipeOut ( Delete everything including backed up data ) value: WipeOut - - description: options.deletionPolicy.doNotTerminate.description - text: options.deletionPolicy.doNotTerminate.label + - description: Prevent deletion of the Druid CRD. + text: DoNotTerminate ( Prevent deletion of the Druid CRD ) value: DoNotTerminate schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/default type: select diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index 8b68324932..661f51ce48 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -841,7 +841,7 @@ export const useFunc = (model) => { function isKnownProfileToggled(index) { // watchDependency('discriminator#/profileChoseSwitch') const val = getValue( - model, + discriminator, `/spec/admin/machineProfiles/machines/${index}/temp/profileChoseSwitch`, ) return val @@ -864,10 +864,11 @@ export const useFunc = (model) => { function setLimits(type, index) { // watchDependency('discriminator#/profile') - const pro = getValue(model, `/spec/admin/machineProfiles/machines/${index}/temp/profile`) || '' + const pro = + getValue(discriminator, `/spec/admin/machineProfiles/machines/${index}/temp/profile`) || '' if (!pro) { const input = getValue( - model, + discriminator, `/spec/admin/machineProfiles/machines/${index}/temp/profile/limits/${type}`, ) return input @@ -879,14 +880,20 @@ export const useFunc = (model) => { function getProfileName(index) { // watchDependency('discriminator#/profile') - const pro = getValue(model, `/spec/admin/machineProfiles/machines/${index}/temp/profile`) || '' - console.log({ pro }) + const pro = + getValue(discriminator, `/spec/admin/machineProfiles/machines/${index}/temp/profile`) || '' if (!pro) return return pro } - function onProfileIdChange(index) { - commit('wizard/model$delete', `/spec/admin/machineProfiles/machines/${index}/temp`) + function onMachineProfileChange(index) { + const machines = getValue(discriminator, 'spec/admin/machineProfiles/machines') + const updatedMachines = machines.map(({ temp, ...rest }) => rest) + + commit('wizard/model$update', { + path: '/spec/admin/machineProfiles/machines', + value: updatedMachines, + }) } function hasCustomProfile() { @@ -895,6 +902,11 @@ export const useFunc = (model) => { return hasCustom } + function setMachineProfiles() { + const machines = getValue(model, '/spec/admin/machineProfiles/machines') || [] + return machines + } + function parseMemory(memory) { const units = { B: 1, // Base unit (Bytes) @@ -997,6 +1009,7 @@ export const useFunc = (model) => { hasCustomProfile, getAvailableMachines, setCustomAvlMachine, - onProfileIdChange, + onMachineProfileChange, + setMachineProfiles, } } From e5e6a166b53795e68799bad7cc2b55057b5bd23a Mon Sep 17 00:00:00 2001 From: shofiq Date: Tue, 10 Feb 2026 11:26:18 +0600 Subject: [PATCH 04/12] fix stash presets loader & multiselect watcher in configDatabase Signed-off-by: shofiq --- .../ui/create-ui.yaml | 52 +++++----- .../ui/functions.js | 95 ++++++++++++++++--- 2 files changed, 112 insertions(+), 35 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index 83571535de..19292f4e7f 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -1915,17 +1915,20 @@ step: - elements: - loader: getNamespaces disableUnselect: true - label: labels.kubestash.encryptionSecret.namespace + label: Namespace refresh: true - schema: schema/properties/encryptionSecret/properties/namespace + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/encryptionSecret/properties/namespace type: select - - loader: fetchNames|encryptionSecret + - loader: + name: fetchNames|encryptionSecret + watchPaths: + - schema/properties/spec/properties/backup/properties/kubestash/properties/encryptionSecret/properties/namespace disableUnselect: true - label: labels.kubestash.encryptionSecret.name + label: Name refresh: true - schema: schema/properties/encryptionSecret/properties/name + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/encryptionSecret/properties/name type: select - label: labels.kubestash.encryptionSecret.label + label: Encryption Secret # schema: schema/properties/encryptionSecret showLabels: true type: block-layout @@ -1933,17 +1936,20 @@ step: - loader: getNamespaces disableUnselect: true hasGroup: isRancherManaged - label: labels.kubestash.retentionPolicy.namespace + label: Namespace refresh: true - schema: schema/properties/retentionPolicy/properties/namespace + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/retentionPolicy/properties/namespace type: select - - loader: fetchNames|retentionPolicy + - loader: + name: fetchNames|retentionPolicy + watchPaths: + - schema/properties/spec/properties/backup/properties/kubestash/properties/retentionPolicy/properties/namespace disableUnselect: true - label: labels.kubestash.retentionPolicy.name + label: Name refresh: true - schema: schema/properties/retentionPolicy/properties/name + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/retentionPolicy/properties/name type: select - label: labels.kubestash.retentionPolicy.label + label: Retention Policy # schema: schema/properties/retentionPolicy showLabels: true type: block-layout @@ -1951,26 +1957,28 @@ step: - loader: getNamespaces disableUnselect: true hasGroup: isRancherManaged - label: labels.kubestash.retentionPolicy.namespace + label: Namespace refresh: true - schema: schema/properties/storageRef/properties/namespace + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/storageRef/properties/namespace type: select - - loader: fetchNames|storageRef + - loader: + name: fetchNames|storageRef + watchPaths: + - schema/properties/spec/properties/backup/properties/kubestash/properties/storageRef/properties/namespace disableUnselect: true - label: labels.kubestash.storageRef.name + label: Name refresh: true - schema: schema/properties/storageRef/properties/name + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/storageRef/properties/name type: select - label: labels.kubestash.storageRef.label + label: Storage Ref # schema: schema/properties/storageRef showLabels: true type: block-layout - - label: labels.kubestash.schedule - schema: schema/properties/schedule + - label: Schedule + schema: schema/properties/spec/properties/backup/properties/kubestash/properties/schedule type: input - # schema: schema/ type: block-layout - # schema: schema/properties/spec/properties/backup + # schema: schema#/properties/spec/properties/backup/properties/kubestash loader: setTool type: block-layout if: diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index 661f51ce48..3188b56baa 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -514,20 +514,12 @@ export const useFunc = (model) => { function clearDefaultVersion(db) { const data = getValue(model, `/spec/admin/databases/${db}/versions/available`) + if (data?.includes('Remove all')) return [] if (data?.includes('Select all')) { - versions = getValue(discriminator, `allDbVersions/${db}Version`) - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/versions/available`, - value: versions, - force: true, - }) - } - if (data?.includes('Remove all')) { - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/versions/available`, - value: [], - force: true, - }) + const versions = getValue(discriminator, `allDbVersions/${db}Version`) ?? [] + return versions + .filter((v) => v !== 'Select all' && v !== 'Remove all') + .map((v) => ({ text: v, value: v })) } } @@ -972,6 +964,80 @@ export const useFunc = (model) => { }) } + async function getNamespaces() { + const params = storeGet('/route/params') + const { user, cluster, group, version, resource } = params + try { + const resp = await axios.post( + `/clusters/${user}/${cluster}/proxy/identity.k8s.appscode.com/v1alpha1/selfsubjectnamespaceaccessreviews`, + { + apiVersion: 'identity.k8s.appscode.com/v1alpha1', + kind: 'SelfSubjectNamespaceAccessReview', + spec: { + resourceAttributes: [ + { + verb: 'create', + group: group, + version: version, + resource: resource, + }, + ], + }, + }, + ) + if (resp.data?.status?.projects) { + const projects = resp.data?.status?.projects + let projectsNamespace = [] + projectsNamespace = Object.keys(projects).map((project) => ({ + project: project, + namespaces: projects[project].map((namespace) => ({ + text: namespace, + value: namespace, + })), + })) + return projectsNamespace + } else { + return resp.data?.status?.namespaces || [] + } + } catch (e) { + console.log(e) + } + return [] + } + + function isRancherManaged() { + const managers = storeGet('/cluster/clusterDefinition/result/clusterManagers') + const found = managers.find((item) => item === 'Rancher') + return !!found + } + + async function fetchNames(type) { + // watchDependency(`model#/${type}/namespace`) + const username = storeGet('/route/params/user') + const clusterName = storeGet('/route/params/cluster') + const namespace = getValue(model, `/spec/backup/kubestash/${type}/namespace`) + const suffix = + type === 'encryptionSecret' + ? 'secrets' + : type === 'retentionPolicy' + ? 'retentionpolicies' + : 'backupstorages' + const core = suffix === 'secrets' ? 'core' : 'storage.kubestash.com' + const version = suffix === 'secrets' ? 'v1' : 'v1alpha1' + const url = `/clusters/${username}/${clusterName}/proxy/${core}/${version}/namespaces/${namespace}/${suffix}` + try { + if (namespace) { + const resp = await axios.get(url) + let names = resp?.data?.items + names = names.map((ele) => ele?.metadata?.name) + return names + } + } catch (e) { + console.log(e) + } + return [] + } + return { preSelectClusterIssuer, isRancherManaged, @@ -1011,5 +1077,8 @@ export const useFunc = (model) => { setCustomAvlMachine, onMachineProfileChange, setMachineProfiles, + isRancherManaged, + getNamespaces, + fetchNames, } } From 53c9bc252b73b3ad4c5b40b3945be896edc592c7 Mon Sep 17 00:00:00 2001 From: shofiq Date: Wed, 11 Feb 2026 14:29:32 +0600 Subject: [PATCH 05/12] fix node selector & configure machine profile Signed-off-by: shofiq --- .../ui/create-ui.yaml | 113 ++---------------- .../ui/functions.js | 101 ++++++++++------ 2 files changed, 73 insertions(+), 141 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index 19292f4e7f..a46cb0eba3 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -132,10 +132,6 @@ step: type: switch - loader: fetchModes|Cassandra label: Available Modes - watcher: - func: clearDefaultMode|Cassandra - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available type: select multiple: true @@ -192,10 +188,6 @@ step: type: switch - loader: fetchModes|ClickHouse label: Available Modes - watcher: - func: clearDefaultMode|clickHouse - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available type: select multiple: true @@ -251,10 +243,6 @@ step: type: switch - loader: fetchModes|Druid label: Available Modes - watcher: - func: clearDefaultMode|druid - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available type: select multiple: true @@ -310,10 +298,6 @@ step: type: switch - loader: fetchModes|Elasticsearch label: Available Modes - watcher: - func: clearDefaultMode|elasticsearch - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available type: select multiple: true @@ -369,10 +353,6 @@ step: type: switch - loader: fetchModes|FerretDB label: Available Modes - watcher: - func: clearDefaultMode|ferretdb - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available type: select multiple: true @@ -428,10 +408,6 @@ step: type: switch - loader: fetchModes|Hazelcast label: Available Modes - watcher: - func: clearDefaultMode|Hazelcast - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available type: select multiple: true @@ -487,10 +463,6 @@ step: type: switch - loader: fetchModes|Ignite label: Available Modes - watcher: - func: clearDefaultMode|Ignite - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available type: select multiple: true @@ -546,10 +518,6 @@ step: type: switch - loader: fetchModes|Kafka label: Available Modes - watcher: - func: clearDefaultMode|kafka - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available type: select multiple: true @@ -605,10 +573,6 @@ step: type: switch - loader: fetchModes|MSSQLServer label: Available Modes - watcher: - func: clearDefaultMode|mssqlserver - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available type: select multiple: true @@ -664,10 +628,6 @@ step: type: switch - loader: fetchModes|MariaDB label: Available Modes - watcher: - func: clearDefaultMode|mariadb - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available type: select multiple: true @@ -723,10 +683,6 @@ step: type: switch - loader: fetchModes|Memcached label: Available Modes - watcher: - func: clearDefaultMode|memcached - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available type: select multiple: true @@ -782,10 +738,6 @@ step: type: switch - loader: fetchModes|MongoDB label: Available Modes - watcher: - func: clearDefaultMode|mongodb - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available type: select multiple: true @@ -841,10 +793,6 @@ step: type: switch - loader: fetchModes|MySQL label: Available Modes - watcher: - func: clearDefaultMode|mysql - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available type: select multiple: true @@ -900,10 +848,6 @@ step: type: switch - loader: fetchModes|Oracle label: Available Modes - watcher: - func: clearDefaultMode|Oracle - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available type: select multiple: true @@ -959,10 +903,6 @@ step: type: switch - loader: fetchModes|PerconaXtraDB label: Available Modes - watcher: - func: clearDefaultMode|perconaxtradb - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available type: select multiple: true @@ -1018,10 +958,6 @@ step: type: switch - loader: fetchModes|PgBouncer label: Available Modes - watcher: - func: clearDefaultMode|pgbouncer - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available type: select multiple: true @@ -1077,10 +1013,6 @@ step: type: switch - loader: fetchModes|Pgpool label: Available Modes - watcher: - func: clearDefaultMode|pgpool - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available type: select multiple: true @@ -1136,10 +1068,6 @@ step: type: switch - loader: fetchModes|Postgres label: Available Modes - watcher: - func: clearDefaultMode|postgres - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available type: select multiple: true @@ -1195,10 +1123,6 @@ step: type: switch - loader: fetchModes|ProxySQL label: Available Modes - watcher: - func: clearDefaultMode|proxysql - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available type: select multiple: true @@ -1254,10 +1178,6 @@ step: type: switch - loader: fetchModes|RabbitMQ label: Available Modes - watcher: - func: clearDefaultMode|rabbitmq - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available type: select multiple: true @@ -1313,10 +1233,6 @@ step: type: switch - loader: fetchModes|Redis label: Available Modes - watcher: - func: clearDefaultMode|redis - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available type: select multiple: true @@ -1372,10 +1288,6 @@ step: type: switch - loader: fetchModes|Singlestore label: Available Modes - watcher: - func: clearDefaultMode|singlestore - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available type: select multiple: true @@ -1431,10 +1343,6 @@ step: type: switch - loader: fetchModes|Solr label: Available Modes - watcher: - func: clearDefaultMode|solr - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available type: select multiple: true @@ -1490,10 +1398,6 @@ step: type: switch - loader: fetchModes|ZooKeeper label: Available Modes - watcher: - func: clearDefaultMode|zookeeper - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available type: select multiple: true @@ -1546,8 +1450,8 @@ step: watcher: func: onMachineProfilesToggle paths: - - discriminator/enableProfiles - schema: discriminator/enableProfiles + - temp/enableProfiles + schema: temp/enableProfiles type: switch - elements: - elements: @@ -1611,14 +1515,15 @@ step: type: func value: hasCustomProfile label: Can users set their own custom CPU & memory resources? - schema: discriminator/useCustomProfile + schema: temp/useCustomProfile type: switch - init: type: func value: setCustomAvlMachine watcher: - func: setCustomAvlMachine + func: onAvailableMachineChange paths: + - schema/spec/admin/machineProfiles/machines - temp/useCustomProfile customClass: mt-10 loader: @@ -1818,10 +1723,14 @@ step: showLabels: true type: block-layout - elements: - - label: Key - schema: schema/properties/spec/properties/admin/properties/nodeSelector + - label: Node Selector + schema: temp/properties/spec/properties/admin/properties/nodeSelector type: object-item buttonClass: is-light is-outlined + watcher: + func: onNodeSelectorChange + paths: + - temp/properties/spec/properties/admin/properties/nodeSelector hideBlock: true label: Node Selector showLabels: true diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index 3188b56baa..9660b919e3 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -10,7 +10,7 @@ export const useFunc = (model) => { setDiscriminatorValue('/bundle', {}) setDiscriminatorValue('/allDbVersions', {}) - setDiscriminatorValue('/enableProfiles', true) + setDiscriminatorValue('/enableProfiles', false) setDiscriminatorValue('/useCustomProfile', false) setDiscriminatorValue('/profile', '') setDiscriminatorValue('/profileChoseSwitch', false) @@ -721,14 +721,8 @@ export const useFunc = (model) => { function setStorageClass() { // watchDependency('model#/spec/admin/storageClasses/available') - const classes = getValue(model, '/spec/admin/storageClasses/available') - if (classes.length === 1) - commit('wizard/model$update', { - path: '/spec/admin/storageClasses/default', - value: classes[0], - force: true, - }) - return classes[0] ?? '' + const classes = getValue(model, '/spec/admin/storageClasses/available') || [] + if (classes.length === 1) return classes[0] } function preSelectClusterIssuer() { @@ -753,6 +747,22 @@ export const useFunc = (model) => { // machine profiles stuffs + function sortMachines(arr) { + return arr.sort((a, b) => { + const memA = parseMemory(a.limits.memory) + const memB = parseMemory(b.limits.memory) + + if (memA !== memB) { + return memA - memB + } + + const cpuA = parseCPU(a.limits.cpu) + const cpuB = parseCPU(b.limits.cpu) + + return cpuA - cpuB + }) + } + let initialMachines = [] function hasMachineProfiles() { const val = getValue(model, '/spec/admin/machineProfiles/machines') || [] @@ -794,16 +804,13 @@ export const useFunc = (model) => { // watchDependency('discriminator#/useCustomProfile') let machines = getValue(model, '/spec/admin/machineProfiles/machines') || [] - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles/machines', - value: sortMachines(machines), - force: true, - }) - - let mappedMachine = machines?.map((machine) => ({ - text: machine.id, - value: machine.id, - })) + let mappedMachine = + machines + ?.filter((machine) => machine.id) + .map((machine) => ({ + text: machine.id, + value: machine.id, + })) || [] const hasCustom = getValue(discriminator, '/useCustomProfile') if (hasCustom) mappedMachine = [{ text: 'custom', value: 'custom' }, ...mappedMachine] @@ -818,12 +825,23 @@ export const useFunc = (model) => { const hasCustom = getValue(discriminator, '/useCustomProfile') let avl = getValue(model, '/spec/admin/machineProfiles/available') || [] - if (hasCustom) avl = ['custom', ...avl] - else avl = avl.filter((item) => item !== 'custom') + avl = avl.map((item) => ({ text: item, value: item })) + avl = avl.filter((item) => item.value !== 'custom') + if (hasCustom) { + avl = [{ text: 'custom', value: 'custom' }, ...avl] + } return avl } + function onAvailableMachineChange() { + const hasCustom = getValue(discriminator, '/useCustomProfile') + if (hasCustom) { + return [{ text: 'custom', value: 'custom' }] + } + return [] + } + function getAvailableMachines() { // watchDependency('model#/spec/admin/machineProfiles/available') let machines = getValue(model, '/spec/admin/machineProfiles/available') || [] @@ -880,11 +898,10 @@ export const useFunc = (model) => { function onMachineProfileChange(index) { const machines = getValue(discriminator, 'spec/admin/machineProfiles/machines') - const updatedMachines = machines.map(({ temp, ...rest }) => rest) commit('wizard/model$update', { path: '/spec/admin/machineProfiles/machines', - value: updatedMachines, + value: sortMachines(machines), }) } @@ -948,22 +965,6 @@ export const useFunc = (model) => { return parseFloat(cpu) // Convert '1', '0.5' directly } - function sortMachines(arr) { - return arr.sort((a, b) => { - const memA = parseMemory(a.limits.memory) - const memB = parseMemory(b.limits.memory) - - if (memA !== memB) { - return memA - memB - } - - const cpuA = parseCPU(a.limits.cpu) - const cpuB = parseCPU(b.limits.cpu) - - return cpuA - cpuB - }) - } - async function getNamespaces() { const params = storeGet('/route/params') const { user, cluster, group, version, resource } = params @@ -1038,6 +1039,26 @@ export const useFunc = (model) => { return [] } + function onNodeSelectorChange() { + let nodeSelector = getValue(discriminator, '/spec/admin/nodeSelector') + if (nodeSelector) { + nodeSelector = Object.fromEntries( + Object.entries(nodeSelector).filter( + ([key, value]) => key?.toString().trim() !== '' || value?.toString().trim() !== '', + ), + ) + } + if (!nodeSelector || Object.entries(nodeSelector).length === 0) { + commit('wizard/model$delete', '/spec/admin/nodeSelector') + } else { + commit('wizard/model$update', { + path: '/spec/admin/nodeSelector', + value: nodeSelector, + force: true, + }) + } + } + return { preSelectClusterIssuer, isRancherManaged, @@ -1080,5 +1101,7 @@ export const useFunc = (model) => { isRancherManaged, getNamespaces, fetchNames, + onNodeSelectorChange, + onAvailableMachineChange, } } From 20f73d912d6cd6cdf1552faceb6f8b24f047098a Mon Sep 17 00:00:00 2001 From: Shofiqur Rahman Date: Fri, 13 Feb 2026 18:08:22 +0600 Subject: [PATCH 06/12] fix available machine list in config machine profile Signed-off-by: Shofiqur Rahman --- .../ui/create-ui.yaml | 2 +- .../ui/functions.js | 20 ++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index a46cb0eba3..b07b8ba5d9 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -1523,7 +1523,7 @@ step: watcher: func: onAvailableMachineChange paths: - - schema/spec/admin/machineProfiles/machines + - temp/spec/admin/machineProfiles/available - temp/useCustomProfile customClass: mt-10 loader: diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index 9660b919e3..b890f8a4c5 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -806,7 +806,7 @@ export const useFunc = (model) => { let mappedMachine = machines - ?.filter((machine) => machine.id) + ?.filter((machine) => machine?.id && machine?.limits?.cpu && machine?.limits?.memory) .map((machine) => ({ text: machine.id, value: machine.id, @@ -817,6 +817,10 @@ export const useFunc = (model) => { else if (hasCustom === false) mappedMachine = mappedMachine.filter((item) => item.value !== 'custom') + commit('wizard/temp$update', { + path: '/spec/admin/machineProfiles/available', + value: mappedMachine?.map((item) => item.value) || [] + }) return mappedMachine } @@ -835,11 +839,17 @@ export const useFunc = (model) => { } function onAvailableMachineChange() { + const setMachines = getValue(model, '/spec/admin/machineProfiles/available') || [] + const loadedMachines = getValue(discriminator, '/spec/admin/machineProfiles/available') || [] const hasCustom = getValue(discriminator, '/useCustomProfile') - if (hasCustom) { - return [{ text: 'custom', value: 'custom' }] - } - return [] + + // filter out unselected machines from from available machine list + let res = setMachines?.filter((item) => loadedMachines?.includes(item)) || [] + res = res?.filter((item) => item !== 'custom') + if(hasCustom) res = ['custom', ...res] + res = res?.map((item) => ({text: item, value: item})) || [] + + return res } function getAvailableMachines() { From d65c1db532c29d7dd7c61665cd5c47f962cd5b60 Mon Sep 17 00:00:00 2001 From: shofiq Date: Mon, 16 Feb 2026 19:18:29 +0600 Subject: [PATCH 07/12] fix labels & remove unnecessary functions Signed-off-by: shofiq --- .../ui/create-ui.yaml | 126 ++++-------------- .../ui/functions.js | 13 +- 2 files changed, 31 insertions(+), 108 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index b07b8ba5d9..cf511e55f3 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -26,7 +26,7 @@ step: text: Dedicated value: Dedicated schema: schema/properties/spec/properties/admin/properties/deployment/properties/default - label: Deployment Type + label: '' isHorizontal: true type: radio hideBlock: true @@ -46,7 +46,7 @@ step: - text: CPU Optimized value: CPUOptimized schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/default - label: Cluster Tier + label: '' type: radio - elements: - label: Can user modify Placement? @@ -124,10 +124,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Cassandra - label: Can user modify Cassandra Mode? + - label: Can user modify Cassandra Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle type: switch - loader: fetchModes|Cassandra @@ -180,10 +177,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|ClickHouse - label: Can user modify ClickHouse Mode? + - label: Can user modify ClickHouse Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle type: switch - loader: fetchModes|ClickHouse @@ -235,10 +229,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Druid - label: Can user modify Druid Mode? + - label: Can user modify Druid Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle type: switch - loader: fetchModes|Druid @@ -290,10 +281,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Elasticsearch - label: Can user modify Elasticsearch Mode? + - label: Can user modify Elasticsearch Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle type: switch - loader: fetchModes|Elasticsearch @@ -345,10 +333,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|FerretDB - label: Can user modify FerretDB Mode? + - label: Can user modify FerretDB Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle type: switch - loader: fetchModes|FerretDB @@ -400,10 +385,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Hazelcast - label: Can user modify Hazelcast Mode? + - label: Can user modify Hazelcast Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle type: switch - loader: fetchModes|Hazelcast @@ -455,10 +437,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Ignite - label: Can user modify Ignite Mode? + - label: Can user modify Ignite Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle type: switch - loader: fetchModes|Ignite @@ -510,10 +489,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Kafka - label: Can user modify Kafka Mode? + - label: Can user modify Kafka Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle type: switch - loader: fetchModes|Kafka @@ -565,10 +541,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|MSSQLServer - label: Can user modify MSSQLServer Mode? + - label: Can user modify MSSQLServer Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle type: switch - loader: fetchModes|MSSQLServer @@ -620,10 +593,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|MariaDB - label: Can user modify MariaDB Mode? + - label: Can user modify MariaDB Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle type: switch - loader: fetchModes|MariaDB @@ -675,10 +645,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Memcached - label: Can user modify Memcached Mode? + - label: Can user modify Memcached Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle type: switch - loader: fetchModes|Memcached @@ -730,10 +697,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|MongoDB - label: Can user modify MongoDB Mode? + - label: Can user modify MongoDB Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle type: switch - loader: fetchModes|MongoDB @@ -785,10 +749,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|MySQL - label: Can user modify MySQL Mode? + - label: Can user modify MySQL Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle type: switch - loader: fetchModes|MySQL @@ -840,10 +801,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Oracle - label: Can user modify Oracle Mode? + - label: Can user modify Oracle Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle type: switch - loader: fetchModes|Oracle @@ -895,10 +853,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|PerconaXtraDB - label: Can user modify PerconaXtraDB Mode? + - label: Can user modify PerconaXtraDB Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle type: switch - loader: fetchModes|PerconaXtraDB @@ -950,10 +905,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|PgBouncer - label: Can user modify PgBouncer Mode? + - label: Can user modify PgBouncer Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle type: switch - loader: fetchModes|PgBouncer @@ -1005,10 +957,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Pgpool - label: Can user modify Pgpool Mode? + - label: Can user modify Pgpool Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle type: switch - loader: fetchModes|Pgpool @@ -1060,10 +1009,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Postgres - label: Can user modify Postgres Mode? + - label: Can user modify Postgres Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle type: switch - loader: fetchModes|Postgres @@ -1115,10 +1061,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|ProxySQL - label: Can user modify ProxySQL Mode? + - label: Can user modify ProxySQL Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle type: switch - loader: fetchModes|ProxySQL @@ -1170,10 +1113,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|RabbitMQ - label: Can user modify RabbitMQ Mode? + - label: Can user modify RabbitMQ Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle type: switch - loader: fetchModes|RabbitMQ @@ -1225,10 +1165,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Redis - label: Can user modify Redis Mode? + - label: Can user modify Redis Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle type: switch - loader: fetchModes|Redis @@ -1280,10 +1217,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Singlestore - label: Can user modify Singlestore Mode? + - label: Can user modify Singlestore Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle type: switch - loader: fetchModes|Singlestore @@ -1335,10 +1269,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|Solr - label: Can user modify Solr Mode? + - label: Can user modify Solr Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle type: switch - loader: fetchModes|Solr @@ -1390,10 +1321,7 @@ step: # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions type: block-layout - elements: - - init: - type: func - value: checkModeToggle|ZooKeeper - label: Can user modify ZooKeeper Mode? + - label: Can user modify ZooKeeper Mode? schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle type: switch - loader: fetchModes|ZooKeeper @@ -1715,7 +1643,7 @@ step: - label: Toleration Seconds schema: tolerationSeconds type: input - label: Tolerations + label: New Tolerations schema: schema/properties/spec/properties/admin/properties/tolerations type: array-object-form hideBlock: true diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index b890f8a4c5..a26d503af6 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -440,11 +440,6 @@ export const useFunc = (model) => { return false } - function checkModeToggle(db) { - const toggle = getValue(model, `/spec/admin/databases/${db}/mode/toggle`) - if (toggle === undefined) return true - } - // remove itemCtx async function fetchJsons({ itemCtx }) { let ui = {} @@ -748,6 +743,7 @@ export const useFunc = (model) => { // machine profiles stuffs function sortMachines(arr) { + if (!Array.isArray(arr)) return arr return arr.sort((a, b) => { const memA = parseMemory(a.limits.memory) const memB = parseMemory(b.limits.memory) @@ -819,7 +815,7 @@ export const useFunc = (model) => { commit('wizard/temp$update', { path: '/spec/admin/machineProfiles/available', - value: mappedMachine?.map((item) => item.value) || [] + value: mappedMachine?.map((item) => item.value) || [], }) return mappedMachine } @@ -846,8 +842,8 @@ export const useFunc = (model) => { // filter out unselected machines from from available machine list let res = setMachines?.filter((item) => loadedMachines?.includes(item)) || [] res = res?.filter((item) => item !== 'custom') - if(hasCustom) res = ['custom', ...res] - res = res?.map((item) => ({text: item, value: item})) || [] + if (hasCustom) res = ['custom', ...res] + res = res?.map((item) => ({ text: item, value: item })) || [] return res } @@ -1087,7 +1083,6 @@ export const useFunc = (model) => { FetchDbBundle, setTool, returnFalse, - checkModeToggle, fetchJsons, presetNameEqualsTo, fetchModes, From 3cb8fd083fb597d6d7ff6f161845e1a087d0688e Mon Sep 17 00:00:00 2001 From: shofiq Date: Tue, 17 Feb 2026 11:30:01 +0600 Subject: [PATCH 08/12] reorder and sectioning presets item Signed-off-by: shofiq --- .../ui/create-ui.yaml | 3218 +++++++++-------- 1 file changed, 1635 insertions(+), 1583 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml index cf511e55f3..61b0110ff6 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/create-ui.yaml @@ -14,1732 +14,1784 @@ step: name: isKubedbUiPreset type: function elements: - - elements: - - label: Can users modify Deployment type? - schema: schema/properties/spec/properties/admin/properties/deployment/properties/toggle - type: switch - - options: - - description: For exploring databases when high-performance is not required. - text: Shared - value: Shared - - description: For production applications with sophisticated workload requirements. - text: Dedicated - value: Dedicated - schema: schema/properties/spec/properties/admin/properties/deployment/properties/default - label: '' - isHorizontal: true - type: radio - hideBlock: true - label: Deployment Type + + - type: block-layout + label: Machine specifics showLabels: true - type: block-layout - - elements: - - label: Can users modify Cluster Tier? - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/toggle - type: switch - - isHorizontal: true - options: - - text: General Purpose - value: GeneralPurpose - - text: Memory Optimized - value: MemoryOptimized - - text: CPU Optimized - value: CPUOptimized - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/default - label: '' - type: radio + hideBlock: true + elements: + # Deployment Type - elements: - - label: Can user modify Placement? - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle + - label: Can users modify Deployment type? + schema: schema/properties/spec/properties/admin/properties/deployment/properties/toggle type: switch - - loader: - name: getPlacements - watchPaths: - - temp/bundle - label: Available Placements - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available - type: select - multiple: true - - disableUnselect: true - loader: - name: getOptions|clusterTier/placement - watchPaths: - - schema/spec/admin/clusterTier/placement/available - label: Default Placement - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default - type: select - showLabels: false + - options: + - description: For exploring databases when high-performance is not required. + text: Shared + value: Shared + - description: For production applications with sophisticated workload requirements. + text: Dedicated + value: Dedicated + schema: schema/properties/spec/properties/admin/properties/deployment/properties/default + label: '' + isHorizontal: true + type: radio + hideBlock: true + label: Deployment Type + showLabels: true type: block-layout + # Cluster Tier - elements: - - label: Can user modify Node Topology? - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle + - label: Can users modify Cluster Tier? + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/toggle type: switch - - loader: - name: getNodeTopology - watchPaths: - - temp/bundle - label: Available Node Topologies - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available - type: select - multiple: true - - disableUnselect: true - loader: - name: getOptions|clusterTier/nodeTopology - watchPaths: - - schema/spec/admin/clusterTier/nodeTopology/available - label: Default Node Topology - schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default - type: select - showLabels: false - type: block-layout - hideBlock: false - label: Cluster Tier - showLabels: true - type: block-layout - - elements: - - elements: + - isHorizontal: true + options: + - text: General Purpose + value: GeneralPurpose + - text: Memory Optimized + value: MemoryOptimized + - text: CPU Optimized + value: CPUOptimized + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/default + label: '' + type: radio - elements: - - label: Can user modify Cassandra Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle + - label: Can user modify Placement? + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle type: switch - - loader: - name: FetchDbVersions|Cassandra - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Cassandra - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available - type: select - multiple: true - loader: - name: availableVersions|Cassandra + name: getPlacements watchPaths: - - schema/spec/admin/databases/Cassandra/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions - type: block-layout - - elements: - - label: Can user modify Cassandra Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Cassandra - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available + - temp/bundle + label: Available Placements + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available type: select multiple: true - - init: - type: func - value: setDefaultMode|Cassandra + - disableUnselect: true loader: - name: availableModes|Cassandra + name: getOptions|clusterTier/placement watchPaths: - - schema/spec/admin/databases/Cassandra/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default + - schema/spec/admin/clusterTier/placement/available + label: Default Placement + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode showLabels: false type: block-layout - hideBlock: true - label: Cassandra - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify ClickHouse Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle + - label: Can user modify Node Topology? + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle type: switch - loader: - name: FetchDbVersions|ClickHouse - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|ClickHouse - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|ClickHouse + name: getNodeTopology watchPaths: - - schema/spec/admin/databases/ClickHouse/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions - type: block-layout - - elements: - - label: Can user modify ClickHouse Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle - type: switch - - loader: fetchModes|ClickHouse - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available + - temp/bundle + label: Available Node Topologies + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available type: select multiple: true - - init: - type: func - value: setDefaultMode|ClickHouse + - disableUnselect: true loader: - name: availableModes|ClickHouse + name: getOptions|clusterTier/nodeTopology watchPaths: - - schema/spec/admin/databases/ClickHouse/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default + - schema/spec/admin/clusterTier/nodeTopology/available + label: Default Node Topology + schema: schema/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode + showLabels: false type: block-layout - hideBlock: true - label: ClickHouse - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse + hideBlock: false + label: Cluster Tier showLabels: true type: block-layout + # Machine Profiles - elements: + - init: + type: func + value: hasMachineProfiles + label: Use custom profiles? + watcher: + func: onMachineProfilesToggle + paths: + - temp/enableProfiles + schema: temp/enableProfiles + type: switch - elements: - - label: Can user modify Druid Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Druid - watchPaths: - - temp/allDbVersions - label: Available Versions + - elements: + - label: Choose from well-known profiles + schema: temp/profileChoseSwitch + type: switch + - loader: getKnownProfile + if: + name: isKnownProfileToggled + type: function + label: Profile + schema: temp/profile + type: select + - loader: + name: getProfileName + watchPaths: + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: ID + validation: + type: required + schema: id + type: input + - loader: + name: getProfileName + watchPaths: + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: Name + schema: name + type: input + - loader: + name: setLimits|cpu + watchPaths: + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: CPU Limits + validation: + type: required + schema: limits/properties/cpu + type: input + - loader: + name: setLimits|memory + watchPaths: + - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile + label: Memory Limits + validation: + type: required + schema: limits/properties/memory + type: input + label: Machine Profiles + # schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/machines + schema: temp/properties/spec/properties/admin/properties/machineProfiles/properties/machines + init: + type: func + value: setMachineProfiles watcher: - func: clearDefaultVersion|Druid + func: onMachineProfileChange paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Druid - watchPaths: - - schema/spec/admin/databases/Druid/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions - type: block-layout - - elements: - - label: Can user modify Druid Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Druid - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available - type: select - multiple: true + - temp/properties/spec/properties/admin/properties/machineProfiles/properties/machines + # temporaryPath: /profile + type: array-object-form - init: type: func - value: setDefaultMode|Druid - loader: - name: availableModes|Druid - watchPaths: - - schema/spec/admin/databases/Druid/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode - type: block-layout - hideBlock: true - label: Druid - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid - showLabels: true - type: block-layout - - elements: - - elements: - - label: Can user modify Elasticsearch Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle + value: hasCustomProfile + label: Can users set their own custom CPU & memory resources? + schema: temp/useCustomProfile type: switch - - loader: - name: FetchDbVersions|Elasticsearch - watchPaths: - - temp/allDbVersions - label: Available Versions + - init: + type: func + value: setCustomAvlMachine watcher: - func: clearDefaultVersion|Elasticsearch + func: onAvailableMachineChange paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Elasticsearch + - temp/spec/admin/machineProfiles/available + - temp/useCustomProfile + customClass: mt-10 + loader: + name: getMachines watchPaths: - - schema/spec/admin/databases/Elasticsearch/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions - type: block-layout - - elements: - - label: Can user modify Elasticsearch Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Elasticsearch - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available + - schema/spec/admin/machineProfiles/machines + - temp/useCustomProfile + label: Available Machines + schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/available type: select multiple: true - - init: - type: func - value: setDefaultMode|Elasticsearch - loader: - name: availableModes|Elasticsearch + - loader: + name: getAvailableMachines watchPaths: - - schema/spec/admin/databases/Elasticsearch/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default + - schema/spec/admin/machineProfiles/available + label: Default Machine + schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/default type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode + if: + name: isEnableProfiles + type: function type: block-layout hideBlock: true - label: Elasticsearch - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch + label: Configure MachineProfiles showLabels: true type: block-layout + # Node Selector - elements: - - elements: - - label: Can user modify FerretDB Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|FerretDB - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|FerretDB - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|FerretDB - watchPaths: - - schema/spec/admin/databases/FerretDB/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions - type: block-layout - - elements: - - label: Can user modify FerretDB Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle - type: switch - - loader: fetchModes|FerretDB - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|FerretDB - loader: - name: availableModes|FerretDB - watchPaths: - - schema/spec/admin/databases/FerretDB/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode - type: block-layout + - label: Node Selector + schema: temp/properties/spec/properties/admin/properties/nodeSelector + type: object-item + buttonClass: is-light is-outlined + watcher: + func: onNodeSelectorChange + paths: + - temp/properties/spec/properties/admin/properties/nodeSelector hideBlock: true - label: FerretDB - # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB + label: Node Selector showLabels: true type: block-layout + # Tolerations - elements: - elements: - - label: Can user modify Hazelcast Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Hazelcast - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Hazelcast - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Hazelcast - watchPaths: - - schema/spec/admin/databases/Hazelcast/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions - type: block-layout - - elements: - - label: Can user modify Hazelcast Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Hazelcast - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Hazelcast - loader: - name: availableModes|Hazelcast - watchPaths: - - schema/spec/admin/databases/Hazelcast/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode - type: block-layout + - label: Key + schema: key + type: input + - label: Operator + options: + - NoSchedule + - PreferNoSchedule + - NoExecute + schema: operator + type: select + - label: Value + schema: value + type: input + - label: Effect + options: + - Exists + - Equal + schema: effect + type: select + - label: Toleration Seconds + schema: tolerationSeconds + type: input + label: New Tolerations + schema: schema/properties/spec/properties/admin/properties/tolerations + type: array-object-form hideBlock: true - label: Hazelcast - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast + label: Tolerations showLabels: true type: block-layout + + - type: block-layout + label: Database sepcifics + showLabels: true + hideBlock: true + elements: + # Databases - elements: - elements: - - label: Can user modify Ignite Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Ignite - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Ignite - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Ignite - watchPaths: - - schema/spec/admin/databases/Ignite/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions + - elements: + - label: Can user modify Cassandra Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Cassandra + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Cassandra + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Cassandra + watchPaths: + - schema/spec/admin/databases/Cassandra/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions + type: block-layout + - elements: + - label: Can user modify Cassandra Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Cassandra + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Cassandra + loader: + name: availableModes|Cassandra + watchPaths: + - schema/spec/admin/databases/Cassandra/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode + showLabels: false + type: block-layout + hideBlock: true + label: Cassandra + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Cassandra + showLabels: true type: block-layout - elements: - - label: Can user modify Ignite Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Ignite - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Ignite - loader: - name: availableModes|Ignite - watchPaths: - - schema/spec/admin/databases/Ignite/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode + - elements: + - label: Can user modify ClickHouse Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|ClickHouse + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|ClickHouse + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|ClickHouse + watchPaths: + - schema/spec/admin/databases/ClickHouse/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions + type: block-layout + - elements: + - label: Can user modify ClickHouse Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle + type: switch + - loader: fetchModes|ClickHouse + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|ClickHouse + loader: + name: availableModes|ClickHouse + watchPaths: + - schema/spec/admin/databases/ClickHouse/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode + type: block-layout + hideBlock: true + label: ClickHouse + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ClickHouse + showLabels: true type: block-layout - hideBlock: true - label: Ignite - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify Kafka Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Kafka - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Kafka - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Kafka - watchPaths: - - schema/spec/admin/databases/Kafka/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions + - elements: + - label: Can user modify Druid Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Druid + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Druid + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Druid + watchPaths: + - schema/spec/admin/databases/Druid/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions + type: block-layout + - elements: + - label: Can user modify Druid Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Druid + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Druid + loader: + name: availableModes|Druid + watchPaths: + - schema/spec/admin/databases/Druid/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode + type: block-layout + hideBlock: true + label: Druid + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Druid + showLabels: true type: block-layout - elements: - - label: Can user modify Kafka Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Kafka - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Kafka - loader: - name: availableModes|Kafka - watchPaths: - - schema/spec/admin/databases/Kafka/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode + - elements: + - label: Can user modify Elasticsearch Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Elasticsearch + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Elasticsearch + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Elasticsearch + watchPaths: + - schema/spec/admin/databases/Elasticsearch/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions + type: block-layout + - elements: + - label: Can user modify Elasticsearch Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Elasticsearch + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Elasticsearch + loader: + name: availableModes|Elasticsearch + watchPaths: + - schema/spec/admin/databases/Elasticsearch/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode + type: block-layout + hideBlock: true + label: Elasticsearch + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Elasticsearch + showLabels: true type: block-layout - hideBlock: true - label: Kafka - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify MSSQLServer Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|MSSQLServer - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|MSSQLServer - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|MSSQLServer - watchPaths: - - schema/spec/admin/databases/MSSQLServer/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions + - elements: + - label: Can user modify FerretDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|FerretDB + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|FerretDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|FerretDB + watchPaths: + - schema/spec/admin/databases/FerretDB/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions + type: block-layout + - elements: + - label: Can user modify FerretDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle + type: switch + - loader: fetchModes|FerretDB + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|FerretDB + loader: + name: availableModes|FerretDB + watchPaths: + - schema/spec/admin/databases/FerretDB/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode + type: block-layout + hideBlock: true + label: FerretDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/FerretDB + showLabels: true type: block-layout - elements: - - label: Can user modify MSSQLServer Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle - type: switch - - loader: fetchModes|MSSQLServer - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|MSSQLServer - loader: - name: availableModes|MSSQLServer - watchPaths: - - schema/spec/admin/databases/MSSQLServer/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode + - elements: + - label: Can user modify Hazelcast Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Hazelcast + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Hazelcast + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Hazelcast + watchPaths: + - schema/spec/admin/databases/Hazelcast/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions + type: block-layout + - elements: + - label: Can user modify Hazelcast Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Hazelcast + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Hazelcast + loader: + name: availableModes|Hazelcast + watchPaths: + - schema/spec/admin/databases/Hazelcast/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode + type: block-layout + hideBlock: true + label: Hazelcast + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Hazelcast + showLabels: true type: block-layout - hideBlock: true - label: MSSQLServer - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify MariaDB Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|MariaDB - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|MariaDB - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|MariaDB - watchPaths: - - schema/spec/admin/databases/MariaDB/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions + - elements: + - label: Can user modify Ignite Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Ignite + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Ignite + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Ignite + watchPaths: + - schema/spec/admin/databases/Ignite/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions + type: block-layout + - elements: + - label: Can user modify Ignite Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Ignite + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Ignite + loader: + name: availableModes|Ignite + watchPaths: + - schema/spec/admin/databases/Ignite/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode + type: block-layout + hideBlock: true + label: Ignite + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Ignite + showLabels: true type: block-layout - elements: - - label: Can user modify MariaDB Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle - type: switch - - loader: fetchModes|MariaDB - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|MariaDB - loader: - name: availableModes|MariaDB - watchPaths: - - schema/spec/admin/databases/MariaDB/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode + - elements: + - label: Can user modify Kafka Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Kafka + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Kafka + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Kafka + watchPaths: + - schema/spec/admin/databases/Kafka/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions + type: block-layout + - elements: + - label: Can user modify Kafka Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Kafka + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Kafka + loader: + name: availableModes|Kafka + watchPaths: + - schema/spec/admin/databases/Kafka/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode + type: block-layout + hideBlock: true + label: Kafka + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Kafka + showLabels: true type: block-layout - hideBlock: true - label: MariaDB - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify Memcached Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Memcached - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Memcached - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Memcached - watchPaths: - - schema/spec/admin/databases/Memcached/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions + - elements: + - label: Can user modify MSSQLServer Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|MSSQLServer + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|MSSQLServer + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|MSSQLServer + watchPaths: + - schema/spec/admin/databases/MSSQLServer/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions + type: block-layout + - elements: + - label: Can user modify MSSQLServer Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle + type: switch + - loader: fetchModes|MSSQLServer + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MSSQLServer + loader: + name: availableModes|MSSQLServer + watchPaths: + - schema/spec/admin/databases/MSSQLServer/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode + type: block-layout + hideBlock: true + label: MSSQLServer + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MSSQLServer + showLabels: true type: block-layout - elements: - - label: Can user modify Memcached Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Memcached - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Memcached - loader: - name: availableModes|Memcached - watchPaths: - - schema/spec/admin/databases/Memcached/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode - type: block-layout - hideBlock: true - label: Memcached - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached - showLabels: true - type: block-layout - - elements: - - elements: - - label: Can user modify MongoDB Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|MongoDB - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|MongoDB - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|MongoDB - watchPaths: - - schema/spec/admin/databases/MongoDB/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions - type: block-layout - - elements: - - label: Can user modify MongoDB Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle - type: switch - - loader: fetchModes|MongoDB - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|MongoDB - loader: - name: availableModes|MongoDB - watchPaths: - - schema/spec/admin/databases/MongoDB/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode + - elements: + - label: Can user modify MariaDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|MariaDB + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|MariaDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|MariaDB + watchPaths: + - schema/spec/admin/databases/MariaDB/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions + type: block-layout + - elements: + - label: Can user modify MariaDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle + type: switch + - loader: fetchModes|MariaDB + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MariaDB + loader: + name: availableModes|MariaDB + watchPaths: + - schema/spec/admin/databases/MariaDB/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode + type: block-layout + hideBlock: true + label: MariaDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MariaDB + showLabels: true type: block-layout - hideBlock: true - label: MongoDB - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify MySQL Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|MySQL - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|MySQL - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|MySQL - watchPaths: - - schema/spec/admin/databases/MySQL/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions + - elements: + - label: Can user modify Memcached Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Memcached + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Memcached + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Memcached + watchPaths: + - schema/spec/admin/databases/Memcached/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions + type: block-layout + - elements: + - label: Can user modify Memcached Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Memcached + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Memcached + loader: + name: availableModes|Memcached + watchPaths: + - schema/spec/admin/databases/Memcached/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode + type: block-layout + hideBlock: true + label: Memcached + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Memcached + showLabels: true type: block-layout - elements: - - label: Can user modify MySQL Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle - type: switch - - loader: fetchModes|MySQL - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|MySQL - loader: - name: availableModes|MySQL - watchPaths: - - schema/spec/admin/databases/MySQL/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode + - elements: + - label: Can user modify MongoDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|MongoDB + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|MongoDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|MongoDB + watchPaths: + - schema/spec/admin/databases/MongoDB/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions + type: block-layout + - elements: + - label: Can user modify MongoDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle + type: switch + - loader: fetchModes|MongoDB + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MongoDB + loader: + name: availableModes|MongoDB + watchPaths: + - schema/spec/admin/databases/MongoDB/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode + type: block-layout + hideBlock: true + label: MongoDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MongoDB + showLabels: true type: block-layout - hideBlock: true - label: MySQL - # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify Oracle Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Oracle - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Oracle - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Oracle - watchPaths: - - schema/spec/admin/databases/Oracle/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions + - elements: + - label: Can user modify MySQL Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|MySQL + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|MySQL + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|MySQL + watchPaths: + - schema/spec/admin/databases/MySQL/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions + type: block-layout + - elements: + - label: Can user modify MySQL Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle + type: switch + - loader: fetchModes|MySQL + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|MySQL + loader: + name: availableModes|MySQL + watchPaths: + - schema/spec/admin/databases/MySQL/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode + type: block-layout + hideBlock: true + label: MySQL + # schema: schema/properties/spec/properties/admin/properties/databases/properties/MySQL + showLabels: true type: block-layout - elements: - - label: Can user modify Oracle Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Oracle - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Oracle - loader: - name: availableModes|Oracle - watchPaths: - - schema/spec/admin/databases/Oracle/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode + - elements: + - label: Can user modify Oracle Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Oracle + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Oracle + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Oracle + watchPaths: + - schema/spec/admin/databases/Oracle/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions + type: block-layout + - elements: + - label: Can user modify Oracle Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Oracle + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Oracle + loader: + name: availableModes|Oracle + watchPaths: + - schema/spec/admin/databases/Oracle/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode + type: block-layout + hideBlock: true + label: Oracle + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle + showLabels: true type: block-layout - hideBlock: true - label: Oracle - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Oracle - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify PerconaXtraDB Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|PerconaXtraDB - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|PerconaXtraDB - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|PerconaXtraDB - watchPaths: - - schema/spec/admin/databases/PerconaXtraDB/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions + - elements: + - label: Can user modify PerconaXtraDB Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|PerconaXtraDB + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|PerconaXtraDB + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|PerconaXtraDB + watchPaths: + - schema/spec/admin/databases/PerconaXtraDB/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions + type: block-layout + - elements: + - label: Can user modify PerconaXtraDB Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle + type: switch + - loader: fetchModes|PerconaXtraDB + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|PerconaXtraDB + loader: + name: availableModes|PerconaXtraDB + watchPaths: + - schema/spec/admin/databases/PerconaXtraDB/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode + type: block-layout + hideBlock: true + label: PerconaXtraDB + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB + showLabels: true type: block-layout - elements: - - label: Can user modify PerconaXtraDB Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle - type: switch - - loader: fetchModes|PerconaXtraDB - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|PerconaXtraDB - loader: - name: availableModes|PerconaXtraDB - watchPaths: - - schema/spec/admin/databases/PerconaXtraDB/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode + - elements: + - label: Can user modify PgBouncer Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|PgBouncer + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|PgBouncer + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|PgBouncer + watchPaths: + - schema/spec/admin/databases/PgBouncer/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions + type: block-layout + - elements: + - label: Can user modify PgBouncer Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle + type: switch + - loader: fetchModes|PgBouncer + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|PgBouncer + loader: + name: availableModes|PgBouncer + watchPaths: + - schema/spec/admin/databases/PgBouncer/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode + type: block-layout + hideBlock: true + label: PgBouncer + # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer + showLabels: true type: block-layout - hideBlock: true - label: PerconaXtraDB - # schema: schema/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify PgBouncer Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|PgBouncer - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|PgBouncer - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|PgBouncer - watchPaths: - - schema/spec/admin/databases/PgBouncer/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions + - elements: + - label: Can user modify Pgpool Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Pgpool + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Pgpool + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Pgpool + watchPaths: + - schema/spec/admin/databases/Pgpool/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions + type: block-layout + - elements: + - label: Can user modify Pgpool Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Pgpool + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Pgpool + loader: + name: availableModes|Pgpool + watchPaths: + - schema/spec/admin/databases/Pgpool/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode + type: block-layout + hideBlock: true + label: Pgpool + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool + showLabels: true type: block-layout - elements: - - label: Can user modify PgBouncer Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle - type: switch - - loader: fetchModes|PgBouncer - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|PgBouncer - loader: - name: availableModes|PgBouncer - watchPaths: - - schema/spec/admin/databases/PgBouncer/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode + - elements: + - label: Can user modify Postgres Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Postgres + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Postgres + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Postgres + watchPaths: + - schema/spec/admin/databases/Postgres/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions + type: block-layout + - elements: + - label: Can user modify Postgres Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Postgres + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Postgres + loader: + name: availableModes|Postgres + watchPaths: + - schema/spec/admin/databases/Postgres/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode + type: block-layout + hideBlock: true + label: Postgres + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres + showLabels: true type: block-layout - hideBlock: true - label: PgBouncer - # schema: schema/properties/spec/properties/admin/properties/databases/properties/PgBouncer - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify Pgpool Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Pgpool - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Pgpool - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Pgpool - watchPaths: - - schema/spec/admin/databases/Pgpool/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions + - elements: + - label: Can user modify ProxySQL Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|ProxySQL + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|ProxySQL + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|ProxySQL + watchPaths: + - schema/spec/admin/databases/ProxySQL/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions + type: block-layout + - elements: + - label: Can user modify ProxySQL Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle + type: switch + - loader: fetchModes|ProxySQL + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|ProxySQL + loader: + name: availableModes|ProxySQL + watchPaths: + - schema/spec/admin/databases/ProxySQL/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode + type: block-layout + hideBlock: true + label: ProxySQL + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL + showLabels: true type: block-layout - elements: - - label: Can user modify Pgpool Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Pgpool - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Pgpool - loader: - name: availableModes|Pgpool - watchPaths: - - schema/spec/admin/databases/Pgpool/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode + - elements: + - label: Can user modify RabbitMQ Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|RabbitMQ + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|RabbitMQ + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|RabbitMQ + watchPaths: + - schema/spec/admin/databases/RabbitMQ/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions + type: block-layout + - elements: + - label: Can user modify RabbitMQ Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle + type: switch + - loader: fetchModes|RabbitMQ + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|RabbitMQ + loader: + name: availableModes|RabbitMQ + watchPaths: + - schema/spec/admin/databases/RabbitMQ/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode + type: block-layout + hideBlock: true + label: RabbitMQ + # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ + showLabels: true type: block-layout - hideBlock: true - label: Pgpool - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Pgpool - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify Postgres Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Postgres - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Postgres - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Postgres - watchPaths: - - schema/spec/admin/databases/Postgres/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions + - elements: + - label: Can user modify Redis Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Redis + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Redis + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Redis + watchPaths: + - schema/spec/admin/databases/Redis/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions + type: block-layout + - elements: + - label: Can user modify Redis Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Redis + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Redis + loader: + name: availableModes|Redis + watchPaths: + - schema/spec/admin/databases/Redis/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode + type: block-layout + hideBlock: true + label: Redis + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis + showLabels: true type: block-layout - elements: - - label: Can user modify Postgres Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Postgres - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Postgres - loader: - name: availableModes|Postgres - watchPaths: - - schema/spec/admin/databases/Postgres/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode + - elements: + - label: Can user modify Singlestore Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Singlestore + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Singlestore + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Singlestore + watchPaths: + - schema/spec/admin/databases/Singlestore/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions + type: block-layout + - elements: + - label: Can user modify Singlestore Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Singlestore + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Singlestore + loader: + name: availableModes|Singlestore + watchPaths: + - schema/spec/admin/databases/Singlestore/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode + type: block-layout + hideBlock: true + label: Singlestore + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore + showLabels: true type: block-layout - hideBlock: true - label: Postgres - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Postgres - showLabels: true - type: block-layout - - elements: - elements: - - label: Can user modify ProxySQL Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|ProxySQL - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|ProxySQL - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|ProxySQL - watchPaths: - - schema/spec/admin/databases/ProxySQL/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions + - elements: + - label: Can user modify Solr configuration? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|Solr + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|Solr + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|Solr + watchPaths: + - schema/spec/admin/databases/Solr/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions + type: block-layout + - elements: + - label: Can user modify Solr Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle + type: switch + - loader: fetchModes|Solr + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|Solr + loader: + name: availableModes|Solr + watchPaths: + - schema/spec/admin/databases/Solr/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode + type: block-layout + hideBlock: true + label: Solr + # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr + showLabels: true type: block-layout - elements: - - label: Can user modify ProxySQL Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle - type: switch - - loader: fetchModes|ProxySQL - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|ProxySQL - loader: - name: availableModes|ProxySQL - watchPaths: - - schema/spec/admin/databases/ProxySQL/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode + - elements: + - label: Can user modify ZooKeeper Version? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle + type: switch + - loader: + name: FetchDbVersions|ZooKeeper + watchPaths: + - temp/allDbVersions + label: Available Versions + watcher: + func: clearDefaultVersion|ZooKeeper + paths: + - schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available + type: select + multiple: true + - loader: + name: availableVersions|ZooKeeper + watchPaths: + - schema/spec/admin/databases/ZooKeeper/versions/available + label: Default Version + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions + type: block-layout + - elements: + - label: Can user modify ZooKeeper Mode? + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle + type: switch + - loader: fetchModes|ZooKeeper + label: Available Modes + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available + type: select + multiple: true + - init: + type: func + value: setDefaultMode|ZooKeeper + loader: + name: availableModes|ZooKeeper + watchPaths: + - schema/spec/admin/databases/ZooKeeper/mode/available + label: Default Mode + schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default + type: select + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode + type: block-layout + hideBlock: true + label: Zookeeper + # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper + showLabels: true type: block-layout hideBlock: true - label: ProxySQL - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ProxySQL + loader: FetchAllDbVersions + label: Configure Databases showLabels: true type: block-layout + # Auth Credential - elements: - - elements: - - label: Can user modify RabbitMQ Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|RabbitMQ - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|RabbitMQ - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|RabbitMQ - watchPaths: - - schema/spec/admin/databases/RabbitMQ/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions - type: block-layout - - elements: - - label: Can user modify RabbitMQ Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle - type: switch - - loader: fetchModes|RabbitMQ - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|RabbitMQ - loader: - name: availableModes|RabbitMQ - watchPaths: - - schema/spec/admin/databases/RabbitMQ/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode - type: block-layout + - label: Can user modify AuthCredential? + schema: schema/properties/spec/properties/admin/properties/authCredential/properties/customize + type: switch + - label: Can user refer existing Auth? + schema: schema/properties/spec/properties/admin/properties/authCredential/properties/referExisting + type: switch hideBlock: true - label: RabbitMQ - # schema: schema/properties/spec/properties/admin/properties/databases/properties/RabbitMQ + label: Auth Credential showLabels: true type: block-layout + # Custom Configuration - elements: - - elements: - - label: Can user modify Redis Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Redis - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Redis - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Redis - watchPaths: - - schema/spec/admin/databases/Redis/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions - type: block-layout - - elements: - - label: Can user modify Redis Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Redis - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Redis - loader: - name: availableModes|Redis - watchPaths: - - schema/spec/admin/databases/Redis/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode - type: block-layout + - label: Custom Configuration + schema: schema/properties/spec/properties/admin/properties/customConfiguration + type: switch hideBlock: true - label: Redis - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Redis + label: Custom Configuration showLabels: true type: block-layout + # Deletion Policy - elements: - - elements: - - label: Can user modify Singlestore Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Singlestore - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Singlestore - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Singlestore - watchPaths: - - schema/spec/admin/databases/Singlestore/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions - type: block-layout - - elements: - - label: Can user modify Singlestore Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Singlestore - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Singlestore - loader: - name: availableModes|Singlestore - watchPaths: - - schema/spec/admin/databases/Singlestore/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode - type: block-layout + - label: Can user modify Deletion Policy? + schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/toggle + type: switch + - label: Default Deletion Policy + options: + - description: Keep only database Secrets and backed up data. + text: Delete ( Keep only database Secrets and backed up data ) + value: Delete + - description: Keep PVCs, database Secrets and backed up data. + text: Halt ( Keep PVCs, database Secrets and backed up data ) + value: Halt + - description: Delete everything including backed up data. + text: WipeOut ( Delete everything including backed up data ) + value: WipeOut + - description: Prevent deletion of the Druid CRD. + text: DoNotTerminate ( Prevent deletion of the Druid CRD ) + value: DoNotTerminate + schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/default + type: select hideBlock: true - label: Singlestore - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Singlestore + label: Deletion Policy showLabels: true type: block-layout + # Storage Class - elements: - - elements: - - label: Can user modify Solr configuration? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|Solr - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|Solr - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|Solr - watchPaths: - - schema/spec/admin/databases/Solr/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions - type: block-layout - - elements: - - label: Can user modify Solr Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle - type: switch - - loader: fetchModes|Solr - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|Solr - loader: - name: availableModes|Solr - watchPaths: - - schema/spec/admin/databases/Solr/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode - type: block-layout - hideBlock: true - label: Solr - # schema: schema/properties/spec/properties/admin/properties/databases/properties/Solr + - label: Can users modify Storage Class? + schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/toggle + type: switch + - loader: + name: getStorageClass + watchPaths: + - temp/bundle + label: Available Storage Classes + schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/available + type: select + multiple: true + - init: + type: func + value: setStorageClass + loader: + name: getOptions|storageClasses + watchPaths: + - schema/spec/admin/storageClasses/available + label: Default Storage Class + schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/default + type: select + hideBlock: false + label: Storage Class showLabels: true type: block-layout + # TLS - elements: - - elements: - - label: Can user modify ZooKeeper Version? - schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle - type: switch - - loader: - name: FetchDbVersions|ZooKeeper - watchPaths: - - temp/allDbVersions - label: Available Versions - watcher: - func: clearDefaultVersion|ZooKeeper - paths: - - schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available - schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available - type: select - multiple: true - - loader: - name: availableVersions|ZooKeeper - watchPaths: - - schema/spec/admin/databases/ZooKeeper/versions/available - label: Default Version - schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions - type: block-layout - - elements: - - label: Can user modify ZooKeeper Mode? - schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle - type: switch - - loader: fetchModes|ZooKeeper - label: Available Modes - schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available - type: select - multiple: true - - init: - type: func - value: setDefaultMode|ZooKeeper - loader: - name: availableModes|ZooKeeper - watchPaths: - - schema/spec/admin/databases/ZooKeeper/mode/available - label: Default Mode - schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default - type: select - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode - type: block-layout + - label: Can users modify TLS? + schema: schema/properties/spec/properties/admin/properties/tls/properties/toggle + type: switch + - label: Enable TLS? + watcher: + func: preSelectClusterIssuer + paths: + - schema/properties/spec/properties/admin/properties/tls/properties/default + schema: schema/properties/spec/properties/admin/properties/tls/properties/default + type: switch hideBlock: true - label: Zookeeper - # schema: schema/properties/spec/properties/admin/properties/databases/properties/ZooKeeper + label: TLS showLabels: true type: block-layout - hideBlock: true - loader: FetchAllDbVersions - label: Configure Databases - showLabels: true - type: block-layout - - elements: - - label: Can user modify AuthCredential? - schema: schema/properties/spec/properties/admin/properties/authCredential/properties/customize - type: switch - - label: Can user refer existing Auth? - schema: schema/properties/spec/properties/admin/properties/authCredential/properties/referExisting - type: switch - hideBlock: true - label: Auth Credential - showLabels: true - type: block-layout - - elements: - - label: Custom Configuration - schema: schema/properties/spec/properties/admin/properties/customConfiguration - type: switch - hideBlock: true - label: Custom Configuration - showLabels: true - type: block-layout - - elements: - - init: - type: func - value: hasMachineProfiles - label: Use custom profiles? - watcher: - func: onMachineProfilesToggle - paths: - - temp/enableProfiles - schema: temp/enableProfiles - type: switch + # Cluster Issuers - elements: - - elements: - - label: Choose from well-known profiles - schema: temp/profileChoseSwitch - type: switch - - loader: getKnownProfile - if: - name: isKnownProfileToggled - type: function - label: Profile - schema: temp/profile - type: select - - loader: - name: getProfileName - watchPaths: - - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile - label: ID - validation: - type: required - schema: id - type: input - - loader: - name: getProfileName - watchPaths: - - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile - label: Name - schema: name - type: input - - loader: - name: setLimits|cpu - watchPaths: - - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile - label: CPU Limits - validation: - type: required - schema: limits/properties/cpu - type: input - - loader: - name: setLimits|memory - watchPaths: - - temp/spec/admin/machineProfiles/machines/dynamicIndex/temp/profile - label: Memory Limits - validation: - type: required - schema: limits/properties/memory - type: input - label: Machine Profiles - # schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/machines - schema: temp/properties/spec/properties/admin/properties/machineProfiles/properties/machines - init: - type: func - value: setMachineProfiles - watcher: - func: onMachineProfileChange - paths: - - temp/properties/spec/properties/admin/properties/machineProfiles/properties/machines - # temporaryPath: /profile - type: array-object-form - - init: - type: func - value: hasCustomProfile - label: Can users set their own custom CPU & memory resources? - schema: temp/useCustomProfile + - label: Can user modify Cluster Issuers? + schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle type: switch - - init: - type: func - value: setCustomAvlMachine - watcher: - func: onAvailableMachineChange - paths: - - temp/spec/admin/machineProfiles/available - - temp/useCustomProfile - customClass: mt-10 - loader: - name: getMachines + - loader: + name: getClusterIssuers watchPaths: - - schema/spec/admin/machineProfiles/machines - - temp/useCustomProfile - label: Available Machines - schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/available + - temp/bundle + label: Available Cluster Issuers + schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/available type: select multiple: true - loader: - name: getAvailableMachines + name: getOptions|clusterIssuers watchPaths: - - schema/spec/admin/machineProfiles/available - label: Default Machine - schema: schema/properties/spec/properties/admin/properties/machineProfiles/properties/default + - schema/spec/admin/clusterIssuers/available + label: Default Cluster Issuer + schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/default type: select - if: - name: isEnableProfiles - type: function - type: block-layout - hideBlock: true - label: Configure MachineProfiles - showLabels: true - type: block-layout - - elements: - - label: Can users modify Storage Class? - schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/toggle - type: switch - - loader: - name: getStorageClass - watchPaths: - - temp/bundle - label: Available Storage Classes - schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/available - type: select - multiple: true - - init: - type: func - value: setStorageClass - loader: - name: getOptions|storageClasses - watchPaths: - - schema/spec/admin/storageClasses/available - label: Default Storage Class - schema: schema/properties/spec/properties/admin/properties/storageClasses/properties/default - type: select - hideBlock: false - label: Storage Class - showLabels: true - type: block-layout - - elements: - - label: Can users modify TLS? - schema: schema/properties/spec/properties/admin/properties/tls/properties/toggle - type: switch - - label: Enable TLS? - watcher: - func: preSelectClusterIssuer - paths: - - schema/properties/spec/properties/admin/properties/tls/properties/default - schema: schema/properties/spec/properties/admin/properties/tls/properties/default - type: switch - hideBlock: true - label: TLS - showLabels: true - type: block-layout - - elements: - - label: Can user modify Cluster Issuers? - schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle - type: switch - - loader: - name: getClusterIssuers - watchPaths: - - temp/bundle - label: Available Cluster Issuers - schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/available - type: select - multiple: true - - loader: - name: getOptions|clusterIssuers - watchPaths: - - schema/spec/admin/clusterIssuers/available - label: Default Cluster Issuer - schema: schema/properties/spec/properties/admin/properties/clusterIssuers/properties/default - type: select - hideBlock: false - label: Cluster Issuers - showLabels: true - type: block-layout - - elements: - - label: Can users modify Exposer via gateway? - schema: schema/properties/spec/properties/admin/properties/expose/properties/toggle - type: switch - - label: Expose via gateway? - schema: schema/properties/spec/properties/admin/properties/expose/properties/default - type: switch - hideBlock: true - label: Expose - showLabels: true - type: block-layout - - elements: - - label: Can users modify Monitoring? - schema: schema/properties/spec/properties/admin/properties/monitoring/properties/toggle - type: switch - - label: Agent - options: - - text: prometheus.io/operator - value: prometheus.io/operator - - text: prometheus.io - value: prometheus.io - - text: prometheus.io/builtin - value: prometheus.io/builtin - schema: schema/properties/spec/properties/admin/properties/monitoring/properties/agent - type: radio - - type: horizontal-layout - label: Resources + hideBlock: false + label: Cluster Issuers showLabels: true - elements: - - type: input - label: CPU Requests - schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/requests/properties/cpu - - type: input - label: CPU Limits - schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/limits/properties/cpu - - type: input - label: Memory Requests - schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/requests/properties/memory - - type: input - label: Memory Limits - schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/limits/properties/memory - hideBlock: true - label: Monitoring - showLabels: true - type: block-layout - - elements: - - label: Can user modify Alert? - schema: schema/properties/spec/properties/admin/properties/alert/properties/toggle - type: switch - hideBlock: true - label: Alert + type: block-layout + + - type: block-layout + label: Monitoring & Backups specifics showLabels: true - type: block-layout - - elements: - - label: Can user modify Deletion Policy? - schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/toggle - type: switch - - label: Default Deletion Policy - options: - - description: Keep only database Secrets and backed up data. - text: Delete ( Keep only database Secrets and backed up data ) - value: Delete - - description: Keep PVCs, database Secrets and backed up data. - text: Halt ( Keep PVCs, database Secrets and backed up data ) - value: Halt - - description: Delete everything including backed up data. - text: WipeOut ( Delete everything including backed up data ) - value: WipeOut - - description: Prevent deletion of the Druid CRD. - text: DoNotTerminate ( Prevent deletion of the Druid CRD ) - value: DoNotTerminate - schema: schema/properties/spec/properties/admin/properties/deletionPolicy/properties/default - type: select hideBlock: true - label: Deletion Policy - showLabels: true - type: block-layout - - elements: + elements: + # Monitoring - elements: - - label: Key - schema: key - type: input - - label: Operator + - label: Can users modify Monitoring? + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/toggle + type: switch + - label: Agent options: - - NoSchedule - - PreferNoSchedule - - NoExecute - schema: operator - type: select - - label: Value - schema: value - type: input - - label: Effect + - text: prometheus.io/operator + value: prometheus.io/operator + - text: prometheus.io + value: prometheus.io + - text: prometheus.io/builtin + value: prometheus.io/builtin + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/agent + type: radio + - type: horizontal-layout + label: Resources + showLabels: true + elements: + - type: input + label: CPU Requests + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/requests/properties/cpu + - type: input + label: CPU Limits + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/limits/properties/cpu + - type: input + label: Memory Requests + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/requests/properties/memory + - type: input + label: Memory Limits + schema: schema/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources/properties/limits/properties/memory + hideBlock: true + label: Monitoring + showLabels: true + type: block-layout + # Alert + - elements: + - label: Can user modify Alert? + schema: schema/properties/spec/properties/admin/properties/alert/properties/toggle + type: switch + hideBlock: true + label: Alert + showLabels: true + type: block-layout + # Backup + - elements: + - label: Can user modify Backup? + schema: schema/properties/spec/properties/admin/properties/backup/properties/enable/properties/toggle + type: switch + - label: Enable Backup + schema: schema/properties/spec/properties/admin/properties/backup/properties/enable/properties/default + type: switch + - isHorizontal: true + label: Take Backup by options: - - Exists - - Equal - schema: effect - type: select - - label: Toleration Seconds - schema: tolerationSeconds - type: input - label: New Tolerations - schema: schema/properties/spec/properties/admin/properties/tolerations - type: array-object-form - hideBlock: true - label: Tolerations - showLabels: true - type: block-layout - - elements: - - label: Node Selector - schema: temp/properties/spec/properties/admin/properties/nodeSelector - type: object-item - buttonClass: is-light is-outlined - watcher: - func: onNodeSelectorChange - paths: - - temp/properties/spec/properties/admin/properties/nodeSelector - hideBlock: true - label: Node Selector - showLabels: true - type: block-layout - - elements: - - label: Can user modify Backup? - schema: schema/properties/spec/properties/admin/properties/backup/properties/enable/properties/toggle - type: switch - - label: Enable Backup - schema: schema/properties/spec/properties/admin/properties/backup/properties/enable/properties/default - type: switch - - isHorizontal: true - label: Take Backup by - options: - - text: BackupConfiguration - value: BackupConfiguration - - text: BackupBlueprint - value: BackupBlueprint - schema: schema/properties/spec/properties/admin/properties/backup/properties/by - type: radio - hideBlock: true - label: Backup - showLabels: true - type: block-layout - - elements: - - label: Can users modify Point In-Time Recovery? - schema: schema/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/toggle - type: switch - - label: Enable Point In-Time Recovery - schema: schema/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/default - type: switch - hideBlock: true - label: Point In Time-Recovery - showLabels: true - type: block-layout - - elements: - - label: Can user modify Archiver? - schema: schema/properties/spec/properties/admin/properties/archiver/properties/enable/properties/toggle - type: switch - - label: Default Archiver - schema: schema/properties/spec/properties/admin/properties/archiver/properties/enable/properties/default - type: switch - hideBlock: true - label: Archiver + - text: BackupConfiguration + value: BackupConfiguration + - text: BackupBlueprint + value: BackupBlueprint + schema: schema/properties/spec/properties/admin/properties/backup/properties/by + type: radio + hideBlock: true + label: Backup + showLabels: true + type: block-layout + # Archiver + - elements: + - label: Can user modify Archiver? + schema: schema/properties/spec/properties/admin/properties/archiver/properties/enable/properties/toggle + type: switch + - label: Default Archiver + schema: schema/properties/spec/properties/admin/properties/archiver/properties/enable/properties/default + type: switch + hideBlock: true + label: Archiver + showLabels: true + type: block-layout + # Point In Time-Recovery + - elements: + - label: Can users modify Point In-Time Recovery? + schema: schema/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/toggle + type: switch + - label: Enable Point In-Time Recovery + schema: schema/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/default + type: switch + hideBlock: true + label: Point In Time-Recovery + showLabels: true + type: block-layout + + - type: block-layout + label: Extras showLabels: true - type: block-layout - - elements: - - label: Show Preview? - schema: schema/properties/spec/properties/admin/properties/showPreview - type: switch - - label: Enable Gitops - schema: schema/properties/spec/properties/admin/properties/gitOps/properties/enable/properties/default - type: switch hideBlock: true - label: Preview - showLabels: true - type: block-layout - - elements: - - label: Show Backup? - schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showBackup - type: switch - - label: Show BackupLegacy? - schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showBackupLegacy - type: switch - - label: Show Insights? - schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showInsights - type: switch - - label: Show Operations? - schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showOperations - type: switch - - label: Show Security? - schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showSecurity - type: switch - - label: Show VaultInfo? - schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showVaultInfo - type: switch - hideBlock: true - label: Left Panel - # schema: schema/properties/spec/properties/admin/properties/leftPanel - showLabels: true - type: block-layout + elements: + # Preview + - elements: + - label: Show Preview? + schema: schema/properties/spec/properties/admin/properties/showPreview + type: switch + hideBlock: true + label: Preview + showLabels: true + type: block-layout + # Left Panel + - elements: + - label: Show Backup? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showBackup + type: switch + - label: Show BackupLegacy? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showBackupLegacy + type: switch + - label: Show Insights? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showInsights + type: switch + - label: Show Operations? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showOperations + type: switch + - label: Show Security? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showSecurity + type: switch + - label: Show VaultInfo? + schema: schema/properties/spec/properties/admin/properties/leftPanel/properties/showVaultInfo + type: switch + hideBlock: true + label: Left Panel + # schema: schema/properties/spec/properties/admin/properties/leftPanel + showLabels: true + type: block-layout + # Expose + - elements: + - label: Can users modify Exposer via gateway? + schema: schema/properties/spec/properties/admin/properties/expose/properties/toggle + type: switch + - label: Expose via gateway? + schema: schema/properties/spec/properties/admin/properties/expose/properties/default + type: switch + hideBlock: true + label: Expose + showLabels: true + type: block-layout + # GitOps + - elements: + - label: Enable GitOps? + schema: schema/properties/spec/properties/admin/properties/gitOps/properties/enable/properties/default + type: switch + hideBlock: true + label: GitOps + showLabels: true + type: block-layout + + # Stash Preset - elements: - elements: - type: input From fbaf6f8843f5fcfd9522375bf39b3fa981fb9259 Mon Sep 17 00:00:00 2001 From: shofiq Date: Wed, 18 Feb 2026 12:29:20 +0600 Subject: [PATCH 09/12] remove temp from machineProfile schema & old yaml js file Signed-off-by: shofiq --- .../ui/functions.js | 113 +- .../ui/old-create-ui.yaml | 1948 ----------------- .../ui/old-function.js | 967 -------- 3 files changed, 58 insertions(+), 2970 deletions(-) delete mode 100644 charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml delete mode 100644 charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index a26d503af6..4a4be9f246 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -742,18 +742,69 @@ export const useFunc = (model) => { // machine profiles stuffs + function parseMemory(memory) { + if (memory == null || (typeof memory !== 'string' && typeof memory !== 'number')) return 0 + const units = { + B: 1, // Base unit (Bytes) + K: 1000, // 1 K = 1000 B + KB: 1000, // 1 KB = 1000 B + Ki: 1024, // 1 Ki = 1024 B + M: 1000 * 1000, // 1 M = 1000 K + MB: 1000 * 1000, // 1 MB = 1000 KB + Mi: 1024 * 1024, // 1 Mi = 1024 Ki + G: 1000 * 1000 * 1000, // 1 G = 1000 M + GB: 1000 * 1000 * 1000, // 1 GB = 1000 MB + Gi: 1024 * 1024 * 1024, // 1 Gi = 1024 Mi + T: 1000 * 1000 * 1000 * 1000, // 1 T = 1000 G + TB: 1000 * 1000 * 1000 * 1000, // 1 TB = 1000 GB + Ti: 1024 * 1024 * 1024 * 1024, // 1 Ti = 1024 Gi + P: 1000 * 1000 * 1000 * 1000 * 1000, // 1 P = 1000 T + PB: 1000 * 1000 * 1000 * 1000 * 1000, // 1 PB = 1000 TB + Pi: 1024 * 1024 * 1024 * 1024 * 1024, // 1 Pi = 1024 Ti + } + + // If memory is just a number (int or float), treat it as bytes + if (/^\d+(\.\d+)?$/.test(memory)) { + return parseFloat(memory) + } + + // Match float or int followed by optional unit + const match = memory.match(/^(\d+(?:\.\d+)?)(B|KB|Ki|K|M|MB|Mi|G|GB|Gi|T|TB|Ti|P|PB|Pi)?$/) + if (match) { + const value = parseFloat(match[1]) + const unit = match[2] || 'B' + return value * (units[unit] || 1) + } + + return 0 // Default fallback for unexpected formats + } + + function parseCPU(cpu) { + if (cpu == null) return 0 + if (typeof cpu === 'number') return cpu // If already a number, return as is + + const match = cpu.match(/^(\d+(?:\.\d+)?)(m)?$/) + if (!match) return 0 // Invalid format, return 0 + + if (cpu.endsWith('m')) { + return parseFloat(cpu) / 1000 // Convert '500m' to 0.5 + } + + return parseFloat(cpu) // Convert '1', '0.5' directly + } + function sortMachines(arr) { - if (!Array.isArray(arr)) return arr + if (!Array.isArray(arr)) return [] return arr.sort((a, b) => { - const memA = parseMemory(a.limits.memory) - const memB = parseMemory(b.limits.memory) + const memA = parseMemory(a?.limits?.memory) + const memB = parseMemory(b?.limits?.memory) if (memA !== memB) { return memA - memB } - const cpuA = parseCPU(a.limits.cpu) - const cpuB = parseCPU(b.limits.cpu) + const cpuA = parseCPU(a?.limits?.cpu) + const cpuB = parseCPU(b?.limits?.cpu) return cpuA - cpuB }) @@ -904,10 +955,11 @@ export const useFunc = (model) => { function onMachineProfileChange(index) { const machines = getValue(discriminator, 'spec/admin/machineProfiles/machines') + const cleanedMachines = machines.map(({ temp, ...rest }) => rest) commit('wizard/model$update', { path: '/spec/admin/machineProfiles/machines', - value: sortMachines(machines), + value: sortMachines(cleanedMachines), }) } @@ -922,55 +974,6 @@ export const useFunc = (model) => { return machines } - function parseMemory(memory) { - const units = { - B: 1, // Base unit (Bytes) - K: 1000, // 1 K = 1000 B - KB: 1000, // 1 KB = 1000 B - Ki: 1024, // 1 Ki = 1024 B - M: 1000 * 1000, // 1 M = 1000 K - MB: 1000 * 1000, // 1 MB = 1000 KB - Mi: 1024 * 1024, // 1 Mi = 1024 Ki - G: 1000 * 1000 * 1000, // 1 G = 1000 M - GB: 1000 * 1000 * 1000, // 1 GB = 1000 MB - Gi: 1024 * 1024 * 1024, // 1 Gi = 1024 Mi - T: 1000 * 1000 * 1000 * 1000, // 1 T = 1000 G - TB: 1000 * 1000 * 1000 * 1000, // 1 TB = 1000 GB - Ti: 1024 * 1024 * 1024 * 1024, // 1 Ti = 1024 Gi - P: 1000 * 1000 * 1000 * 1000 * 1000, // 1 P = 1000 T - PB: 1000 * 1000 * 1000 * 1000 * 1000, // 1 PB = 1000 TB - Pi: 1024 * 1024 * 1024 * 1024 * 1024, // 1 Pi = 1024 Ti - } - - // If memory is just a number (int or float), treat it as bytes - if (/^\d+(\.\d+)?$/.test(memory)) { - return parseFloat(memory) - } - - // Match float or int followed by optional unit - const match = memory.match(/^(\d+(?:\.\d+)?)(B|KB|Ki|K|M|MB|Mi|G|GB|Gi|T|TB|Ti|P|PB|Pi)?$/) - if (match) { - const value = parseFloat(match[1]) - const unit = match[2] || 'B' - return value * (units[unit] || 1) - } - - return 0 // Default fallback for unexpected formats - } - - function parseCPU(cpu) { - if (typeof cpu === 'number') return cpu // If already a number, return as is - - const match = cpu.match(/^(\d+(?:\.\d+)?)(m)?$/) - if (!match) return 0 // Invalid format, return 0 - - if (cpu.endsWith('m')) { - return parseFloat(cpu) / 1000 // Convert '500m' to 0.5 - } - - return parseFloat(cpu) // Convert '1', '0.5' directly - } - async function getNamespaces() { const params = storeGet('/route/params') const { user, cluster, group, version, resource } = params diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml deleted file mode 100644 index 5c86db25c5..0000000000 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-create-ui.yaml +++ /dev/null @@ -1,1948 +0,0 @@ -steps: -- form: - elements: - - elements: - - discriminator: - bundle: - default: {} - type: object - elements: - - fetch: FetchDbBundle - if: returnFalse - schema: - $ref: discriminator#/bundle - type: input - - elements: - - label: - text: labels.deployment.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/deployment/properties/toggle - type: switch - - hasDescription: true - options: - - description: labels.deployment.shared - text: Shared - value: Shared - - description: labels.deployment.dedicated - text: Dedicated - value: Dedicated - schema: - $ref: schema#/properties/spec/properties/admin/properties/deployment/properties/default - type: radio - hideForm: true - label: - text: labels.deployment.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.clusterTier.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/toggle - type: switch - - isHorizontal: true - options: - - text: General Purpose - value: GeneralPurpose - - text: Memory Optimized - value: MemoryOptimized - - text: CPU Optimized - value: CPUOptimized - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/default - type: radio - - elements: - - label: - text: labels.clusterTier.placement.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/toggle - type: switch - - fetch: getPlacements - label: - text: labels.clusterTier.placement.availablePlacement - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/available - type: multiselect - - disableUnselect: true - fetch: getOptions|clusterTier/placement - label: - text: labels.clusterTier.placement.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/placement/properties/default - type: select - type: single-step-form - - elements: - - label: - text: labels.clusterTier.nodeTopology.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/toggle - type: switch - - fetch: getNodeTopology - label: - text: labels.clusterTier.nodeTopology.availableNodeTopology - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/available - type: multiselect - - disableUnselect: true - fetch: getOptions|clusterTier/nodeTopology - label: - text: labels.clusterTier.nodeTopology.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterTier/properties/nodeTopology/properties/default - type: select - type: single-step-form - hideForm: false - label: - text: labels.clusterTier.name - show_label: true - type: single-step-form - - discriminator: - allDbVersions: - default: {} - type: object - elements: - - fetch: FetchAllDbVersions - if: returnFalse - schema: - $ref: discriminator#/allDbVersions - type: input - - elements: - - elements: - - label: - text: labels.databases.Cassandra.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Cassandra - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Cassandra - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Cassandra - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Cassandra - label: - text: labels.databases.Cassandra.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Cassandra - label: - text: labels.databases.modes - onChange: clearDefaultMode|Cassandra - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Cassandra - fetch: availableModes|Cassandra - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra/properties/mode - type: single-step-form - hideForm: true - label: - text: Cassandra - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Cassandra - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.ClickHouse.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|ClickHouse - label: - text: labels.databases.versions - onChange: clearDefaultVersion|ClickHouse - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|ClickHouse - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|ClickHouse - label: - text: labels.databases.ClickHouse.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|ClickHouse - label: - text: labels.databases.modes - onChange: clearDefaultMode|clickHouse - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|ClickHouse - fetch: availableModes|ClickHouse - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse/properties/mode - type: single-step-form - hideForm: true - label: - text: ClickHouse - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ClickHouse - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Druid.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Druid - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Druid - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Druid - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Druid - label: - text: labels.databases.Druid.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Druid - label: - text: labels.databases.modes - onChange: clearDefaultMode|druid - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Druid - fetch: availableModes|Druid - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid/properties/mode - type: single-step-form - hideForm: true - label: - text: Druid - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Druid - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Elasticsearch.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Elasticsearch - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Elasticsearch - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Elasticsearch - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Elasticsearch - label: - text: labels.databases.Elasticsearch.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Elasticsearch - label: - text: labels.databases.modes - onChange: clearDefaultMode|elasticsearch - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Elasticsearch - fetch: availableModes|Elasticsearch - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch/properties/mode - type: single-step-form - hideForm: true - label: - text: Elasticsearch - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Elasticsearch - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.FerretDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|FerretDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|FerretDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|FerretDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|FerretDB - label: - text: labels.databases.FerretDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|FerretDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|ferretdb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|FerretDB - fetch: availableModes|FerretDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB/properties/mode - type: single-step-form - hideForm: true - label: - text: FerretDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/FerretDB - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Hazelcast.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Hazelcast - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Hazelcast - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Hazelcast - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Hazelcast - label: - text: labels.databases.Hazelcast.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Hazelcast - label: - text: labels.databases.modes - onChange: clearDefaultMode|Hazelcast - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Hazelcast - fetch: availableModes|Hazelcast - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast/properties/mode - type: single-step-form - hideForm: true - label: - text: Hazelcast - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Hazelcast - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Ignite.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Ignite - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Ignite - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Ignite - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Ignite - label: - text: labels.databases.Ignite.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Ignite - label: - text: labels.databases.modes - onChange: clearDefaultMode|Ignite - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Ignite - fetch: availableModes|Ignite - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite/properties/mode - type: single-step-form - hideForm: true - label: - text: Ignite - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Ignite - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Kafka.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Kafka - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Kafka - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Kafka - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Kafka - label: - text: labels.databases.Kafka.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Kafka - label: - text: labels.databases.modes - onChange: clearDefaultMode|kafka - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Kafka - fetch: availableModes|Kafka - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka/properties/mode - type: single-step-form - hideForm: true - label: - text: Kafka - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Kafka - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.MSSQLServer.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|MSSQLServer - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MSSQLServer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MSSQLServer - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|MSSQLServer - label: - text: labels.databases.MSSQLServer.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|MSSQLServer - label: - text: labels.databases.modes - onChange: clearDefaultMode|mssqlserver - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MSSQLServer - fetch: availableModes|MSSQLServer - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer/properties/mode - type: single-step-form - hideForm: true - label: - text: MSSQLServer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MSSQLServer - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.MariaDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|MariaDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MariaDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MariaDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|MariaDB - label: - text: labels.databases.MariaDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|MariaDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|mariadb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MariaDB - fetch: availableModes|MariaDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB/properties/mode - type: single-step-form - hideForm: true - label: - text: MariaDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MariaDB - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Memcached.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Memcached - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Memcached - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Memcached - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Memcached - label: - text: labels.databases.Memcached.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Memcached - label: - text: labels.databases.modes - onChange: clearDefaultMode|memcached - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Memcached - fetch: availableModes|Memcached - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached/properties/mode - type: single-step-form - hideForm: true - label: - text: Memcached - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Memcached - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.MongoDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|MongoDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MongoDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MongoDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|MongoDB - label: - text: labels.databases.MongoDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|MongoDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|mongodb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MongoDB - fetch: availableModes|MongoDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB/properties/mode - type: single-step-form - hideForm: true - label: - text: MongoDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MongoDB - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.MySQL.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|MySQL - label: - text: labels.databases.versions - onChange: clearDefaultVersion|MySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|MySQL - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|MySQL - label: - text: labels.databases.MySQL.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|MySQL - label: - text: labels.databases.modes - onChange: clearDefaultMode|mysql - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|MySQL - fetch: availableModes|MySQL - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL/properties/mode - type: single-step-form - hideForm: true - label: - text: MySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/MySQL - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Oracle.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Oracle - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Oracle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Oracle - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Oracle - label: - text: labels.databases.Oracle.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Oracle - label: - text: labels.databases.modes - onChange: clearDefaultMode|Oracle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Oracle - fetch: availableModes|Oracle - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle/properties/mode - type: single-step-form - hideForm: true - label: - text: Oracle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Oracle - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.PerconaXtraDB.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|PerconaXtraDB - label: - text: labels.databases.versions - onChange: clearDefaultVersion|PerconaXtraDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|PerconaXtraDB - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|PerconaXtraDB - label: - text: labels.databases.PerconaXtraDB.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|PerconaXtraDB - label: - text: labels.databases.modes - onChange: clearDefaultMode|perconaxtradb - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|PerconaXtraDB - fetch: availableModes|PerconaXtraDB - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB/properties/mode - type: single-step-form - hideForm: true - label: - text: PerconaXtraDB - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PerconaXtraDB - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.PgBouncer.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|PgBouncer - label: - text: labels.databases.versions - onChange: clearDefaultVersion|PgBouncer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|PgBouncer - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|PgBouncer - label: - text: labels.databases.PgBouncer.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|PgBouncer - label: - text: labels.databases.modes - onChange: clearDefaultMode|pgbouncer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|PgBouncer - fetch: availableModes|PgBouncer - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer/properties/mode - type: single-step-form - hideForm: true - label: - text: PgBouncer - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/PgBouncer - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Pgpool.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Pgpool - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Pgpool - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Pgpool - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Pgpool - label: - text: labels.databases.Pgpool.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Pgpool - label: - text: labels.databases.modes - onChange: clearDefaultMode|pgpool - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Pgpool - fetch: availableModes|Pgpool - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool/properties/mode - type: single-step-form - hideForm: true - label: - text: Pgpool - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Pgpool - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Postgres.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Postgres - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Postgres - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Postgres - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Postgres - label: - text: labels.databases.Postgres.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Postgres - label: - text: labels.databases.modes - onChange: clearDefaultMode|postgres - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Postgres - fetch: availableModes|Postgres - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres/properties/mode - type: single-step-form - hideForm: true - label: - text: Postgres - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Postgres - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.ProxySQL.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|ProxySQL - label: - text: labels.databases.versions - onChange: clearDefaultVersion|ProxySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|ProxySQL - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|ProxySQL - label: - text: labels.databases.ProxySQL.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|ProxySQL - label: - text: labels.databases.modes - onChange: clearDefaultMode|proxysql - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|ProxySQL - fetch: availableModes|ProxySQL - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL/properties/mode - type: single-step-form - hideForm: true - label: - text: ProxySQL - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ProxySQL - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.RabbitMQ.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|RabbitMQ - label: - text: labels.databases.versions - onChange: clearDefaultVersion|RabbitMQ - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|RabbitMQ - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|RabbitMQ - label: - text: labels.databases.RabbitMQ.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|RabbitMQ - label: - text: labels.databases.modes - onChange: clearDefaultMode|rabbitmq - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|RabbitMQ - fetch: availableModes|RabbitMQ - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ/properties/mode - type: single-step-form - hideForm: true - label: - text: RabbitMQ - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/RabbitMQ - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Redis.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Redis - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Redis - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Redis - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Redis - label: - text: labels.databases.Redis.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Redis - label: - text: labels.databases.modes - onChange: clearDefaultMode|redis - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Redis - fetch: availableModes|Redis - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis/properties/mode - type: single-step-form - hideForm: true - label: - text: Redis - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Redis - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Singlestore.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Singlestore - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Singlestore - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Singlestore - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Singlestore - label: - text: labels.databases.Singlestore.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Singlestore - label: - text: labels.databases.modes - onChange: clearDefaultMode|singlestore - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Singlestore - fetch: availableModes|Singlestore - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore/properties/mode - type: single-step-form - hideForm: true - label: - text: Singlestore - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Singlestore - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.Solr.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|Solr - label: - text: labels.databases.versions - onChange: clearDefaultVersion|Solr - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|Solr - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|Solr - label: - text: labels.databases.Solr.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|Solr - label: - text: labels.databases.modes - onChange: clearDefaultMode|solr - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|Solr - fetch: availableModes|Solr - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr/properties/mode - type: single-step-form - hideForm: true - label: - text: Solr - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/Solr - show_label: true - type: single-step-form - - elements: - - elements: - - label: - text: labels.databases.ZooKeeper.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/toggle - type: switch - - fetch: FetchDbVersions|ZooKeeper - label: - text: labels.databases.versions - onChange: clearDefaultVersion|ZooKeeper - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/available - type: multiselect - - fetch: availableVersions|ZooKeeper - label: - text: labels.databases.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/versions - type: single-step-form - - elements: - - computed: checkModeToggle|ZooKeeper - label: - text: labels.databases.ZooKeeper.toggleMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/toggle - type: switch - - fetch: fetchModes|ZooKeeper - label: - text: labels.databases.modes - onChange: clearDefaultMode|zookeeper - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/available - type: multiselect - - computed: setDefaultMode|ZooKeeper - fetch: availableModes|ZooKeeper - label: - text: labels.databases.defaultMode - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode/properties/default - type: select - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper/properties/mode - type: single-step-form - hideForm: true - label: - text: Zookeeper - schema: - $ref: schema#/properties/spec/properties/admin/properties/databases/properties/ZooKeeper - show_label: true - type: single-step-form - hideForm: true - label: - text: labels.databases.name - show_label: true - type: single-step-form - - elements: - - label: - text: Can user modify AuthCredential? - schema: - $ref: schema#/properties/spec/properties/admin/properties/authCredential/properties/customize - type: switch - - label: - text: Can user refer existing Auth? - schema: - $ref: schema#/properties/spec/properties/admin/properties/authCredential/properties/referExisting - type: switch - hideForm: true - label: - text: Auth Credential - show_label: true - type: single-step-form - - elements: - - label: - text: Custom Configuration - schema: - $ref: schema#/properties/spec/properties/admin/properties/customConfiguration - type: switch - hideForm: true - label: - text: Custom Configuration - show_label: true - type: single-step-form - - discriminator: - enableProfiles: - default: true - type: boolean - elements: - - computed: hasMachineProfiles - label: - text: Use custom profiles? - onChange: onMachineProfilesToggle - schema: - $ref: discriminator#/enableProfiles - type: switch - - discriminator: - useCustomProfile: - type: boolean - elements: - - addFormLabel: MachineProfile - element: - discriminator: - profile: - default: "" - type: string - profileChoseSwitch: - default: false - type: boolean - elements: - - label: - text: Choose from well-known profiles - schema: - $ref: discriminator#/profileChoseSwitch - type: switch - - fetch: getKnownProfile - if: isKnownProfileToggled - label: - text: Profile - schema: - $ref: discriminator#/profile - type: select - - computed: getProfileName - label: - text: ID - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/id - type: input - - computed: getProfileName - label: - text: Name - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/name - type: input - - elements: - - computed: setLimits|cpu - label: - text: CPU Limits - required: true - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits/properties/cpu - type: input - - computed: setLimits|memory - label: - text: Memory Limits - required: true - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits/properties/memory - type: input - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines/items/properties/limits - type: single-step-form - type: single-step-form - hideDetailsButton: true - label: - text: Machine Profiles - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/machines - tableContents: - - inTableColumn: true - label: - text: ID - path: id - type: value - typeOfValue: string - - inTableColumn: true - label: - text: Name - path: name - type: value - typeOfValue: string - - inTableColumn: true - label: - text: Limits - path: limits - type: value - typeOfValue: string - temporaryPath: /profile - type: single-step-form-array - - computed: hasCustomProfile - label: - text: Can users set their own custom CPU & memory resources? - schema: - $ref: discriminator#/useCustomProfile - type: switch - - computed: setCustomAvlMachine - customClass: mt-10 - fetch: getMachines - label: - text: Available Machines - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/available - type: multiselect - - fetch: getAvailableMachines - label: - text: Default Machine - schema: - $ref: schema#/properties/spec/properties/admin/properties/machineProfiles/properties/default - type: select - if: isEnableProfiles - type: single-step-form - hideForm: true - label: - text: Configure MachineProfiles - show_label: true - type: single-step-form - - elements: - - label: - text: labels.storageClass.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/toggle - type: switch - - fetch: getStorageClass - label: - text: labels.storageClass.available - schema: - $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/available - type: multiselect - - computed: setStorageClass - fetch: getOptions|storageClasses - label: - text: labels.storageClass.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/storageClasses/properties/default - type: select - hideForm: false - label: - text: labels.storageClass.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.tls.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/tls/properties/toggle - type: switch - - label: - text: labels.tls.default - onChange: preSelectClusterIssuer - schema: - $ref: schema#/properties/spec/properties/admin/properties/tls/properties/default - type: switch - hideForm: true - label: - text: labels.tls.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.clusterIssuers.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/toggle - type: switch - - fetch: getClusterIssuers - label: - text: labels.clusterIssuers.available - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/available - type: multiselect - - fetch: getOptions|clusterIssuers - label: - text: labels.clusterIssuers.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/clusterIssuers/properties/default - type: select - hideForm: false - label: - text: labels.clusterIssuers.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.expose.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/expose/properties/toggle - type: switch - - label: - text: labels.expose.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/expose/properties/default - type: switch - hideForm: true - label: - text: labels.expose.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.monitoring.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/toggle - type: switch - - label: - text: labels.monitoring.agent - options: - - text: prometheus.io/operator - value: prometheus.io/operator - - text: prometheus.io - value: prometheus.io - - text: prometheus.io/builtin - value: prometheus.io/builtin - schema: - $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/agent - type: radio - - elements: - - label: - text: labels.monitoring.exporter.name - schema: - $ref: schema#/properties/spec/properties/admin/properties/monitoring/properties/exporter/properties/resources - type: resource-input-form - type: single-step-form - hideForm: true - label: - text: labels.monitoring.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.alert.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/alert/properties/toggle - type: switch - hideForm: true - label: - text: labels.alert.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.deletionPolicy.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/deletionPolicy/properties/toggle - type: switch - - label: - text: labels.deletionPolicy.default - options: - - description: options.deletionPolicy.delete.description - text: options.deletionPolicy.delete.label - value: Delete - - description: options.deletionPolicy.halt.description - text: options.deletionPolicy.halt.label - value: Halt - - description: options.deletionPolicy.wipeOut.description - text: options.deletionPolicy.wipeOut.label - value: WipeOut - - description: options.deletionPolicy.doNotTerminate.description - text: options.deletionPolicy.doNotTerminate.label - value: DoNotTerminate - schema: - $ref: schema#/properties/spec/properties/admin/properties/deletionPolicy/properties/default - type: select - hideForm: true - label: - text: labels.deletionPolicy.name - show_label: true - type: single-step-form - - elements: - - addFormLabel: labels.tolerations.label - element: - elements: - - label: - text: labels.tolerations.key - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/key - type: input - - label: - text: labels.tolerations.operator - options: - - NoSchedule - - PreferNoSchedule - - NoExecute - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/operator - type: select - - label: - text: labels.tolerations.value - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/value - type: input - - label: - text: labels.tolerations.effect - options: - - Exists - - Equal - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/effect - type: select - - label: - text: labels.tolerations.tolerationSeconds - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations/items/properties/tolerationSeconds - type: input - type: single-step-form - label: - text: labels.tolerations.label - schema: - $ref: schema#/properties/spec/properties/admin/properties/tolerations - tableContents: - - inTableColumn: true - label: - text: labels.tolerations.effect - path: effect - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.key - path: key - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.operator - path: operator - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.tolerationSeconds - path: tolerationSeconds - type: value - typeOfValue: string - - inTableColumn: true - label: - text: labels.tolerations.value - path: value - type: value - typeOfValue: string - type: single-step-form-array - hideForm: true - label: - text: labels.tolerations.label - show_label: true - type: single-step-form - - elements: - - isArray: true - keys: - label: - text: labels.nodeSelector.key - schema: - $ref: schema#/properties/spec/properties/admin/properties/nodeSelector - type: key-value-input-form - values: - label: - text: labels.nodeSelector.value - schema: - $ref: schema#/properties/spec/properties/admin/properties/nodeSelector/additionalProperties - type: input - hideForm: true - label: - text: labels.nodeSelector.label - show_label: true - type: single-step-form - - elements: - - label: - text: labels.backup.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/backup/properties/enable/properties/toggle - type: switch - - label: - text: labels.backup.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/backup/properties/enable/properties/default - type: switch - - isHorizontal: true - label: - text: Take Backup by - options: - - text: BackupConfiguration - value: BackupConfiguration - - text: BackupBlueprint - value: BackupBlueprint - schema: - $ref: schema#/properties/spec/properties/admin/properties/backup/properties/by - type: radio - hideForm: true - label: - text: labels.backup.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.pointInTimeRecovery.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/toggle - type: switch - - label: - text: labels.pointInTimeRecovery.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/pointInTimeRecovery/properties/default - type: switch - hideForm: true - label: - text: labels.pointInTimeRecovery.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.archiver.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/archiver/properties/enable/properties/toggle - type: switch - - label: - text: labels.archiver.default - schema: - $ref: schema#/properties/spec/properties/admin/properties/archiver/properties/enable/properties/default - type: switch - hideForm: true - label: - text: labels.archiver.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.showPreview.toggle - schema: - $ref: schema#/properties/spec/properties/admin/properties/showPreview - type: switch - - label: - text: Enable Gitops - schema: - $ref: schema#/properties/spec/properties/admin/properties/gitOps/properties/enable/properties/default - type: switch - hideForm: true - label: - text: labels.showPreview.name - show_label: true - type: single-step-form - - elements: - - label: - text: labels.leftPanel.showBackup - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showBackup - type: switch - - label: - text: labels.leftPanel.showBackupLegacy - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showBackupLegacy - type: switch - - label: - text: labels.leftPanel.showInsights - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showInsights - type: switch - - label: - text: labels.leftPanel.showOperations - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showOperations - type: switch - - label: - text: labels.leftPanel.showSecurity - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showSecurity - type: switch - - label: - text: labels.leftPanel.showVaultInfo - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel/properties/showVaultInfo - type: switch - hideForm: true - label: - text: labels.leftPanel.name - schema: - $ref: schema#/properties/spec/properties/admin/properties/leftPanel - show_label: true - type: single-step-form - if: isKubedbUiPreset - type: single-step-form - if: presetNameEqualsTo|kubedb-ui-presets - type: single-step-form - - elements: - - elements: - - alias: reusable_stash-presets - chart: - name: uibytebuildersdev-component-stash-presets - version: v0.29.0 - moduleResolver: fetchJsons - schema: - $ref: schema#/properties/spec/properties/backup/properties/kubestash - type: reusable-element - - computed: setTool - if: returnFalse - schema: - $ref: schema#/properties/spec/properties/backup/properties/tool - type: input - schema: - $ref: schema#/properties/spec/properties/backup - type: single-step-form - if: presetNameEqualsTo|stash-presets - type: single-step-form - - elements: [] - type: single-step-form - type: single-step-form - id: options - title: Basic -type: multi-step-form \ No newline at end of file diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js deleted file mode 100644 index 9092043b9d..0000000000 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/old-function.js +++ /dev/null @@ -1,967 +0,0 @@ -const machinesMap = { - 'db.t.micro': { - resources: { - requests: { - cpu: '250m', - memory: '512Mi', - }, - limits: { - cpu: '500m', - memory: '1Gi', - }, - }, - }, - 'db.t.small': { - resources: { - requests: { - cpu: '1', - memory: '1Gi', - }, - limits: { - cpu: '2', - memory: '2Gi', - }, - }, - }, - 'db.t.medium': { - resources: { - requests: { - cpu: '1', - memory: '2Gi', - }, - limits: { - cpu: '2', - memory: '4Gi', - }, - }, - }, - 'db.t.large': { - resources: { - requests: { - cpu: '1', - memory: '4Gi', - }, - limits: { - cpu: '2', - memory: '8Gi', - }, - }, - }, - 'db.t.xlarge': { - resources: { - requests: { - cpu: '2', - memory: '8Gi', - }, - limits: { - cpu: '4', - memory: '16Gi', - }, - }, - }, - 'db.t.2xlarge': { - resources: { - requests: { - cpu: '4', - memory: '16Gi', - }, - limits: { - cpu: '8', - memory: '32Gi', - }, - }, - }, - 'db.m.small': { - resources: { - requests: { - cpu: '500m', - memory: '912680550', - }, - limits: { - cpu: '1', - memory: '1825361100', - }, - }, - }, - 'db.m.large': { - resources: { - requests: { - cpu: '1', - memory: '4Gi', - }, - limits: { - cpu: '2', - memory: '8Gi', - }, - }, - }, - 'db.m.xlarge': { - resources: { - requests: { - cpu: '2', - memory: '8Gi', - }, - limits: { - cpu: '4', - memory: '16Gi', - }, - }, - }, - 'db.m.2xlarge': { - resources: { - requests: { - cpu: '4', - memory: '16Gi', - }, - limits: { - cpu: '8', - memory: '32Gi', - }, - }, - }, - 'db.m.4xlarge': { - resources: { - requests: { - cpu: '8', - memory: '32Gi', - }, - limits: { - cpu: '16', - memory: '64Gi', - }, - }, - }, - 'db.m.8xlarge': { - resources: { - requests: { - cpu: '16', - memory: '64Gi', - }, - limits: { - cpu: '32', - memory: '128Gi', - }, - }, - }, - 'db.m.12xlarge': { - resources: { - requests: { - cpu: '24', - memory: '96Gi', - }, - limits: { - cpu: '48', - memory: '192Gi', - }, - }, - }, - 'db.m.16xlarge': { - resources: { - requests: { - cpu: '32', - memory: '128Gi', - }, - limits: { - cpu: '64', - memory: '256Gi', - }, - }, - }, - 'db.m.24xlarge': { - resources: { - requests: { - cpu: '48', - memory: '192Gi', - }, - limits: { - cpu: '96', - memory: '384Gi', - }, - }, - }, - 'db.r.large': { - resources: { - requests: { - cpu: '1', - memory: '8Gi', - }, - limits: { - cpu: '2', - memory: '16Gi', - }, - }, - }, - 'db.r.xlarge': { - resources: { - requests: { - cpu: '2', - memory: '16Gi', - }, - limits: { - cpu: '4', - memory: '32Gi', - }, - }, - }, - 'db.r.2xlarge': { - resources: { - requests: { - cpu: '4', - memory: '32Gi', - }, - limits: { - cpu: '8', - memory: '64Gi', - }, - }, - }, - 'db.r.4xlarge': { - resources: { - requests: { - cpu: '8', - memory: '96Gi', - }, - limits: { - cpu: '16', - memory: '192Gi', - }, - }, - }, - 'db.r.8xlarge': { - resources: { - requests: { - cpu: '16', - memory: '128Gi', - }, - limits: { - cpu: '32', - memory: '256Gi', - }, - }, - }, - 'db.r.12xlarge': { - resources: { - requests: { - cpu: '24', - memory: '192Gi', - }, - limits: { - cpu: '48', - memory: '384Gi', - }, - }, - }, - 'db.r.16xlarge': { - resources: { - requests: { - cpu: '32', - memory: '256Gi', - }, - limits: { - cpu: '64', - memory: '512Gi', - }, - }, - }, - 'db.r.24xlarge': { - resources: { - requests: { - cpu: '24', - memory: '384Gi', - }, - limits: { - cpu: '96', - memory: '768Gi', - }, - }, - }, -} - -const machineList = [ - 'db.t.micro', - 'db.t.small', - 'db.t.medium', - 'db.t.large', - 'db.t.xlarge', - 'db.t.2xlarge', - 'db.m.small', - 'db.m.large', - 'db.m.xlarge', - 'db.m.2xlarge', - 'db.m.4xlarge', - 'db.m.8xlarge', - 'db.m.12xlarge', - 'db.m.16xlarge', - 'db.m.24xlarge', - 'db.r.large', - 'db.r.xlarge', - 'db.r.2xlarge', - 'db.r.4xlarge', - 'db.r.8xlarge', - 'db.r.12xlarge', - 'db.r.16xlarge', - 'db.r.24xlarge', -] - -const modes = { - Cassandra: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - ClickHouse: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - Druid: { - availableModes: ['Topology'], - default: 'Topology', - }, - Elasticsearch: { - availableModes: ['Combined', 'Topology'], - default: 'Topology', - }, - FerretDB: { - availableModes: ['PrimaryOnly', 'PrimaryAndSecondary'], - default: 'PrimaryAndSecondary', - }, - Kafka: { - availableModes: ['Combined', 'Topology'], - default: 'Topology', - }, - Hazelcast: { - availableModes: ['Combined', 'Topology'], - default: 'Topology', - }, - Ignite: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - MSSQLServer: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - MariaDB: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Memcached: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - MongoDB: { - availableModes: ['Standalone', 'Replicaset', 'Sharded'], - default: 'Replicaset', - }, - MySQL: { - availableModes: [ - 'Standalone', - 'GroupReplication', - 'InnoDBCluster', - 'RemoteReplica', - 'SemiSync', - ], - default: 'GroupReplication', - }, - Oracle: { - availableModes: ['Standalone', 'DataGuard'], - default: 'DataGuard', - }, - PerconaXtraDB: { - availableModes: ['Replicaset'], - default: 'Replicaset', - }, - PgBouncer: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Pgpool: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Postgres: { - availableModes: ['Standalone', 'Cluster', 'RemoteReplica'], - default: 'Cluster', - }, - ProxySQL: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - RabbitMQ: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, - Redis: { - availableModes: ['Standalone', 'Cluster', 'Sentinel'], - default: 'Cluster', - }, - Singlestore: { - availableModes: ['Standalone', 'Topology'], - default: 'Topology', - }, - Solr: { - availableModes: ['Standalone', 'Replicaset', 'Topology'], - default: 'Topology', - }, - ZooKeeper: { - availableModes: ['Standalone', 'Replicaset'], - default: 'Replicaset', - }, -} - -function setTool({ commit }) { - commit('wizard/model$update', { - path: '/spec/backup/tool', - value: 'KubeStash', - force: true, - }) - return 'KubeStash' -} - -function returnFalse() { - return false -} - -function checkModeToggle({ getValue, model }, db) { - const toggle = getValue(model, `/spec/admin/databases/${db}/mode/toggle`) - if (toggle === undefined) return true -} - -async function fetchJsons({ axios, itemCtx }) { - let ui = {} - let language = {} - let functions = {} - const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart - - try { - ui = await axios.get( - `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - language = await axios.get( - `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - const functionString = await axios.get( - `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, - ) - // declare evaluate the functionString to get the functions Object - const evalFunc = new Function(functionString.data || '') - functions = evalFunc() - } catch (e) { - console.log(e) - } - - return { - ui: ui.data || {}, - language: language.data || {}, - functions, - } -} - -function presetNameEqualsTo({ storeGet }, value) { - const presetName = storeGet('/route/params/presetName') || '' - return presetName === value -} - -function getOptions({ getValue, model, watchDependency }, type) { - watchDependency(`model#/spec/admin/${type}/available`) - const options = getValue(model, `/spec/admin/${type}/available`) - return options -} - -async function FetchAllDbVersions({ storeGet, axios, setDiscriminatorValue }) { - const owner = storeGet('/route/params/user') - const cluster = storeGet('/route/params/cluster') - const url = `/clusters/${owner}/${cluster}/proxy/catalog.kubedb.com/v1alpha1/all-available` - - const resp = await axios.get(url) - - setDiscriminatorValue(`/allDbVersions`, resp.data) - return resp.data -} - -function isConfigureDb({ getValue, discriminator, watchDependency }, value) { - watchDependency(`discriminator#/${value}/isConfigure`) - const resp = getValue(discriminator, `/${value}/isConfigure`) - return resp -} - -async function FetchDbVersions({ watchDependency, getValue, discriminator }, db) { - watchDependency(`discriminator#/allDbVersions`) - data = getValue(discriminator, `allDbVersions/${db}Version`) - if (!data?.includes('Remove all')) data?.unshift('Remove all') - if (!data?.includes('Select all')) data?.unshift('Select all') - return data -} - -function clearDefaultVersion({ commit, model, getValue, discriminator }, db) { - const data = getValue(model, `/spec/admin/databases/${db}/versions/available`) - if (data?.includes('Select all')) { - versions = getValue(discriminator, `allDbVersions/${db}Version`) - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/versions/available`, - value: versions, - force: true, - }) - } - if (data?.includes('Remove all')) { - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/versions/available`, - value: [], - force: true, - }) - } -} - -function clearDefaultMode({ commit }, db) { - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/mode/default`, - value: '', - force: true, - }) -} - -function availableVersions({ getValue, model, watchDependency }, db) { - watchDependency(`model#/spec/admin/databases/${db}/versions/available`) - return getValue(model, `/spec/admin/databases/${db}/versions/available`) -} - -function availableModes({ getValue, model, watchDependency }, db) { - watchDependency(`model#/spec/admin/databases/${db}/mode/available`) - return getValue(model, `/spec/admin/databases/${db}/mode/available`) -} - -function isKubedbPresetEnable(storeGet) { - const featureSets = storeGet('/cluster/featureSets/result') || [] - const featureSetName = storeGet('/route/params/featureset') || '' - const featureSet = featureSets.find((item) => item?.metadata?.name === featureSetName) - - const features = featureSet?.status?.features || [] - const isKubedbPresetEnable = features.some((feature) => { - if (feature.name === 'kubedb-ui-presets') return true - }) - return isKubedbPresetEnable -} - -async function FetchDbBundle({ axios, storeGet, setDiscriminatorValue, discriminator }) { - const owner = storeGet('/route/params/user') - const cluster = storeGet('/route/params/cluster') - const url = `/clusters/${owner}/${cluster}/db-bundle?type=common&deployment=all` - try { - const resp = await axios.get(url) - setDiscriminatorValue('/bundle', resp.data) - } catch (e) { - console.log(e) - return [] - } -} - -function getPlacements({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const placements = getValue(discriminator, '/bundle/placementpolicies') - - return placements -} - -function getNodeTopology({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const shared = getValue(discriminator, '/bundle/shared') - const dedicated = getValue(discriminator, '/bundle/dedicated') - - const nodeTopology = [] - - shared?.map((item) => { - nodeTopology.push(item + ' (shared)') - }) - dedicated?.map((item) => { - nodeTopology.push(item + ' (dedicated)') - }) - - return nodeTopology -} - -function getStorageClass({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const storageClasses = getValue(discriminator, '/bundle/storageclasses') - - return storageClasses -} - -function getClusterIssuers({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/bundle') - const clusterIssuers = getValue(discriminator, '/bundle/clusterissuers') - - return clusterIssuers -} - -async function getNamespaces({ axios, storeGet }) { - const params = storeGet('/route/params') - const { user, cluster, group, version, resource } = params - try { - const resp = await axios.post( - `/clusters/${user}/${cluster}/proxy/identity.k8s.appscode.com/v1alpha1/selfsubjectnamespaceaccessreviews`, - { - apiVersion: 'identity.k8s.appscode.com/v1alpha1', - kind: 'SelfSubjectNamespaceAccessReview', - spec: { - resourceAttributes: [ - { - verb: 'create', - group: group, - version: version, - resource: resource, - }, - ], - }, - }, - ) - if (resp.data?.status?.projects) { - const projects = resp.data?.status?.projects - let projectsNamespace = [] - projectsNamespace = Object.keys(projects).map((project) => ({ - project: project, - namespaces: projects[project].map((namespace) => ({ - text: namespace, - value: namespace, - })), - })) - return projectsNamespace - } else { - return resp.data?.status?.namespaces || [] - } - } catch (e) { - console.log(e) - } - return [] -} - -function isRancherManaged({ storeGet }) { - const managers = storeGet('/cluster/clusterDefinition/result/clusterManagers') - const found = managers.find((item) => item === 'Rancher') - return !!found -} - -function setTool({ commit }) { - commit('wizard/model$update', { - path: '/spec/backup/tool', - value: 'KubeStash', - force: true, - }) - return 'KubeStash' -} - -async function fetchJsons({ axios, itemCtx }) { - let ui = {} - let language = {} - let functions = {} - const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart - - try { - ui = await axios.get( - `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - language = await axios.get( - `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - const functionString = await axios.get( - `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, - ) - // declare evaluate the functionString to get the functions Object - const evalFunc = new Function(functionString.data || '') - functions = evalFunc() - } catch (e) { - console.log(e) - } - - return { - ui: ui.data || {}, - language: language.data || {}, - functions, - } -} - -function isKubedbUiPreset({ getValue, watchDependency, discriminator, storeGet }) { - const presetName = storeGet('/route/params/presetName') || '' - if (presetName === 'kubedb-ui-presets') return true - const enabledFeatures = getValue(discriminator, '/enabledFeatures') || [] - watchDependency('discriminator#/enabledFeatures') - if (enabledFeatures?.includes('kubedb-ui-presets')) { - return true - } else return false -} - -function fetchModes({ model, getValue, commit }, db) { - const arr = modes[db]?.availableModes || [] - const val = getValue(model, `/spec/admin/databases/${db}/mode/available`) - if (!val) - commit('wizard/model$update', { - path: `/spec/admin/databases/${db}/mode/available`, - value: arr, - force: true, - }) - return arr -} - -function setDefaultMode({ getValue, model }, db) { - const modelDef = getValue(model, `/spec/admin/databases/${db}/mode/default`) - const def = modes[db]?.default || '' - if (modelDef === undefined) return def -} - -function setStorageClass({ getValue, model, watchDependency, commit }) { - watchDependency('model#/spec/admin/storageClasses/available') - const classes = getValue(model, '/spec/admin/storageClasses/available') - if (classes.length === 1) - commit('wizard/model$update', { - path: '/spec/admin/storageClasses/default', - value: classes[0], - force: true, - }) -} - -function preSelectClusterIssuer({ getValue, model, watchDependency, commit, discriminator }) { - const val = getValue(model, '/spec/admin/tls/default') - const clusterIssuers = getClusterIssuers({ watchDependency, getValue, discriminator }) - if (val) { - if (clusterIssuers.length) { - commit('wizard/model$update', { - path: '/spec/admin/clusterIssuers/available', - value: [clusterIssuers[0]], - force: true, - }) - } - } else { - commit('wizard/model$update', { - path: '/spec/admin/clusterIssuers/available', - value: '', - force: true, - }) - } -} - -// machine profiles stuffs - -let initialMachines = [] -function hasMachineProfiles({ getValue, model, commit }) { - const val = getValue(model, '/spec/admin/machineProfiles/machines') || [] - initialMachines = val - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles/machines', - value: sortMachines(val), - force: true, - }) - - return !!val?.length -} - -function isEnableProfiles({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/enableProfiles') - return getValue(discriminator, '/enableProfiles') || false -} - -function onMachineProfilesToggle({ getValue, commit, discriminator }) { - const toggle = getValue(discriminator, '/enableProfiles') || false - - if (!toggle) { - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles', - value: { available: [], default: '', machines: [] }, - force: true, - }) - } else { - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles/machines', - value: initialMachines, - force: true, - }) - } -} - -function getMachines({ watchDependency, getValue, model, commit, discriminator }) { - watchDependency('model#/spec/admin/machineProfiles/machines') - watchDependency('discriminator#/useCustomProfile') - let machines = getValue(model, '/spec/admin/machineProfiles/machines') || [] - - commit('wizard/model$update', { - path: '/spec/admin/machineProfiles/machines', - value: sortMachines(machines), - force: true, - }) - - let mappedMachine = machines?.map((machine) => ({ - text: machine.id, - value: machine.id, - })) - - const hasCustom = getValue(discriminator, '/useCustomProfile') - if (hasCustom) mappedMachine = [{ text: 'custom', value: 'custom' }, ...mappedMachine] - else if (hasCustom === false) - mappedMachine = mappedMachine.filter((item) => item.value !== 'custom') - - return mappedMachine -} - -function setCustomAvlMachine({ getValue, discriminator, model, commit, watchDependency }) { - watchDependency('discriminator#/useCustomProfile') - const hasCustom = getValue(discriminator, '/useCustomProfile') - let avl = getValue(model, '/spec/admin/machineProfiles/available') || [] - - if (hasCustom) avl = ['custom', ...avl] - else avl = avl.filter((item) => item !== 'custom') - - return avl -} - -function getAvailableMachines({ watchDependency, getValue, model }) { - watchDependency('model#/spec/admin/machineProfiles/available') - let machines = getValue(model, '/spec/admin/machineProfiles/available') || [] - return machines -} - -function isKnownProfileToggled({ watchDependency, discriminator, getValue }) { - watchDependency('discriminator#/profileChoseSwitch') - const val = getValue(discriminator, '/profileChoseSwitch') - return val -} - -function getKnownProfile({ getValue, model }) { - const machineProfiles = getValue(model, '/spec/admin/machineProfiles/machines') - - // filtering machine list, if it's already in the model we don't need to show it - const filteredMachines = machineList.filter( - (machine) => !machineProfiles.some((m) => m.id === machine), - ) - const mappedMachine = filteredMachines.map((item) => ({ - text: item, - value: item.toLowerCase(), - subText: `CPU: ${machinesMap[item].resources.limits.cpu}, memory: ${machinesMap[item].resources.limits.memory}`, - })) - return mappedMachine -} - -function setLimits({ getValue, temporaryModel, discriminator, watchDependency }, type) { - watchDependency('discriminator#/profile') - const pro = getValue(discriminator, '/profile') || '' - if (!pro) { - const input = getValue(temporaryModel, `/profile/limits/${type}`) - return input - } - const profileDetails = machinesMap[pro] || {} - const limits = profileDetails.resources?.limits || {} - return limits[type] || '' -} - -function getProfileName({ watchDependency, getValue, discriminator }) { - watchDependency('discriminator#/profile') - const pro = getValue(discriminator, '/profile') || '' - if (!pro) return - return pro -} - -function hasCustomProfile({ getValue, model }) { - const machines = getValue(model, '/spec/admin/machineProfiles/available') - const hasCustom = machines.includes('custom') - return hasCustom -} - -function parseMemory(memory) { - const units = { - B: 1, // Base unit (Bytes) - K: 1000, // 1 K = 1000 B - KB: 1000, // 1 KB = 1000 B - Ki: 1024, // 1 Ki = 1024 B - M: 1000 * 1000, // 1 M = 1000 K - MB: 1000 * 1000, // 1 MB = 1000 KB - Mi: 1024 * 1024, // 1 Mi = 1024 Ki - G: 1000 * 1000 * 1000, // 1 G = 1000 M - GB: 1000 * 1000 * 1000, // 1 GB = 1000 MB - Gi: 1024 * 1024 * 1024, // 1 Gi = 1024 Mi - T: 1000 * 1000 * 1000 * 1000, // 1 T = 1000 G - TB: 1000 * 1000 * 1000 * 1000, // 1 TB = 1000 GB - Ti: 1024 * 1024 * 1024 * 1024, // 1 Ti = 1024 Gi - P: 1000 * 1000 * 1000 * 1000 * 1000, // 1 P = 1000 T - PB: 1000 * 1000 * 1000 * 1000 * 1000, // 1 PB = 1000 TB - Pi: 1024 * 1024 * 1024 * 1024 * 1024, // 1 Pi = 1024 Ti - } - - // If memory is just a number (int or float), treat it as bytes - if (/^\d+(\.\d+)?$/.test(memory)) { - return parseFloat(memory) - } - - // Match float or int followed by optional unit - const match = memory.match(/^(\d+(?:\.\d+)?)(B|KB|Ki|K|M|MB|Mi|G|GB|Gi|T|TB|Ti|P|PB|Pi)?$/) - if (match) { - const value = parseFloat(match[1]) - const unit = match[2] || 'B' - return value * (units[unit] || 1) - } - - return 0 // Default fallback for unexpected formats -} - -function parseCPU(cpu) { - if (typeof cpu === 'number') return cpu // If already a number, return as is - - const match = cpu.match(/^(\d+(?:\.\d+)?)(m)?$/) - if (!match) return 0 // Invalid format, return 0 - - if (cpu.endsWith('m')) { - return parseFloat(cpu) / 1000 // Convert '500m' to 0.5 - } - - return parseFloat(cpu) // Convert '1', '0.5' directly -} - -function sortMachines(arr) { - return arr.sort((a, b) => { - const memA = parseMemory(a.limits.memory) - const memB = parseMemory(b.limits.memory) - - if (memA !== memB) { - return memA - memB - } - - const cpuA = parseCPU(a.limits.cpu) - const cpuB = parseCPU(b.limits.cpu) - - return cpuA - cpuB - }) -} - -return { - preSelectClusterIssuer, - isRancherManaged, - getOptions, - getNodeTopology, - FetchAllDbVersions, - isConfigureDb, - FetchDbVersions, - availableVersions, - clearDefaultVersion, - getPlacements, - getStorageClass, - getClusterIssuers, - getNamespaces, - isKubedbUiPreset, - FetchDbBundle, - setTool, - returnFalse, - checkModeToggle, - fetchJsons, - presetNameEqualsTo, - fetchModes, - availableModes, - setDefaultMode, - clearDefaultMode, - setStorageClass, - hasMachineProfiles, - isEnableProfiles, - getMachines, - onMachineProfilesToggle, - isKnownProfileToggled, - getKnownProfile, - setLimits, - getProfileName, - hasCustomProfile, - getAvailableMachines, - setCustomAvlMachine, -} From 21821a4aea100ff8cf93c7fabf4dd94c38bdb93e Mon Sep 17 00:00:00 2001 From: shofiq Date: Wed, 18 Feb 2026 15:08:44 +0600 Subject: [PATCH 10/12] remove duplicate function decleration from function js Signed-off-by: shofiq --- .../ui/functions.js | 88 ------------------- 1 file changed, 88 deletions(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index 4a4be9f246..d0fa82ceca 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -646,45 +646,6 @@ export const useFunc = (model) => { return !!found } - function setTool() { - commit('wizard/model$update', { - path: '/spec/backup/tool', - value: 'KubeStash', - force: true, - }) - return 'KubeStash' - } - - async function fetchJsons({ itemCtx }) { - let ui = {} - let language = {} - let functions = {} - const { name, sourceRef, version, packageviewUrlPrefix } = itemCtx.chart - - try { - ui = await axios.get( - `${packageviewUrlPrefix}/create-ui.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - language = await axios.get( - `${packageviewUrlPrefix}/language.yaml?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}&format=json`, - ) - const functionString = await axios.get( - `${packageviewUrlPrefix}/functions.js?name=${name}&sourceApiGroup=${sourceRef.apiGroup}&sourceKind=${sourceRef.kind}&sourceNamespace=${sourceRef.namespace}&sourceName=${sourceRef.name}&version=${version}`, - ) - // declare evaluate the functionString to get the functions Object - const evalFunc = new Function(functionString.data || '') - functions = evalFunc() - } catch (e) { - console.log(e) - } - - return { - ui: ui.data || {}, - language: language.data || {}, - functions, - } - } - function isKubedbUiPreset() { const presetName = storeGet('/route/params/presetName') || '' if (presetName === 'kubedb-ui-presets') return true @@ -974,53 +935,6 @@ export const useFunc = (model) => { return machines } - async function getNamespaces() { - const params = storeGet('/route/params') - const { user, cluster, group, version, resource } = params - try { - const resp = await axios.post( - `/clusters/${user}/${cluster}/proxy/identity.k8s.appscode.com/v1alpha1/selfsubjectnamespaceaccessreviews`, - { - apiVersion: 'identity.k8s.appscode.com/v1alpha1', - kind: 'SelfSubjectNamespaceAccessReview', - spec: { - resourceAttributes: [ - { - verb: 'create', - group: group, - version: version, - resource: resource, - }, - ], - }, - }, - ) - if (resp.data?.status?.projects) { - const projects = resp.data?.status?.projects - let projectsNamespace = [] - projectsNamespace = Object.keys(projects).map((project) => ({ - project: project, - namespaces: projects[project].map((namespace) => ({ - text: namespace, - value: namespace, - })), - })) - return projectsNamespace - } else { - return resp.data?.status?.namespaces || [] - } - } catch (e) { - console.log(e) - } - return [] - } - - function isRancherManaged() { - const managers = storeGet('/cluster/clusterDefinition/result/clusterManagers') - const found = managers.find((item) => item === 'Rancher') - return !!found - } - async function fetchNames(type) { // watchDependency(`model#/${type}/namespace`) const username = storeGet('/route/params/user') @@ -1106,8 +1020,6 @@ export const useFunc = (model) => { setCustomAvlMachine, onMachineProfileChange, setMachineProfiles, - isRancherManaged, - getNamespaces, fetchNames, onNodeSelectorChange, onAvailableMachineChange, From 2de2db48eadf4729e3fbd17fa752b73fef0b2721 Mon Sep 17 00:00:00 2001 From: shofiq Date: Fri, 20 Feb 2026 14:44:51 +0600 Subject: [PATCH 11/12] fix undefined machines error in function Signed-off-by: shofiq --- .../ui/functions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index d0fa82ceca..ecc1df57dd 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -916,7 +916,7 @@ export const useFunc = (model) => { function onMachineProfileChange(index) { const machines = getValue(discriminator, 'spec/admin/machineProfiles/machines') - const cleanedMachines = machines.map(({ temp, ...rest }) => rest) + const cleanedMachines = Array.isArray(machines) ? machines.map(({ temp, ...rest }) => rest) : [] commit('wizard/model$update', { path: '/spec/admin/machineProfiles/machines', From 34a580b272be4fc1cd0c18ebbdad01f054109ba9 Mon Sep 17 00:00:00 2001 From: shofiq Date: Mon, 23 Feb 2026 14:21:27 +0600 Subject: [PATCH 12/12] fix setDiscriminator for init changes in machine profile Signed-off-by: shofiq --- .../ui/functions.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js index ecc1df57dd..cf52865eb1 100644 --- a/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js +++ b/charts/chartsxhelmdev-clusterchartpreset-editor-options/ui/functions.js @@ -780,6 +780,10 @@ export const useFunc = (model) => { value: sortMachines(val), force: true, }) + commit('wizard/temp$update', { + path: '/enableProfiles', + value: !!val?.length, + }) return !!val?.length } @@ -927,6 +931,11 @@ export const useFunc = (model) => { function hasCustomProfile() { const machines = getValue(model, '/spec/admin/machineProfiles/available') const hasCustom = machines.includes('custom') + + commit('wizard/temp$update', { + path: '/useCustomProfile', + value: hasCustom, + }) return hasCustom }