From 3878cde88d1160d3ed501e16914d59ad5b677f57 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 11:53:43 +0600 Subject: [PATCH 01/14] fix ops fields Signed-off-by: Samiul --- .../ui/create-ui.yaml | 4 +- .../ui/functions.js | 37 ++++++++++++------- .../ui/create-ui.yaml | 2 +- .../ui/functions.js | 30 +++++++++++---- 4 files changed, 49 insertions(+), 24 deletions(-) diff --git a/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml index 0fdb25071a..2762f4232c 100644 --- a/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml @@ -146,7 +146,7 @@ step: - elements: - init: type: func - value: setMachine + value: setMachine|node label: Resources loader: getMachines schema: temp/properties/machine @@ -157,7 +157,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/resources + func: onMachineChange|node paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js b/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js index dc7f8d1612..62f9e2c8a9 100644 --- a/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/oracles/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/oracles/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -778,9 +778,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const limits = containers[0]?.resources?.limits || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -828,14 +826,12 @@ export const useFunc = (model) => { return arr } - function setMachine() { + function setMachine(type) { const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const limits = containers[0]?.resources?.limits || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] - let parsedInstance = {} try { if (instance) parsedInstance = JSON.parse(instance) @@ -844,7 +840,7 @@ export const useFunc = (model) => { parsedInstance = instance || {} } - const machine = parsedInstance || 'custom' + const machine = type ? parsedInstance[type] : parsedInstance || 'custom' const machinePresets = machinesFromPreset.find((item) => item.id === machine) if (machinePresets) { @@ -853,10 +849,10 @@ export const useFunc = (model) => { cpu: machinePresets.limits.cpu, memory: machinePresets.limits.memory, } - } else return { machine: 'custom', cpu: 4, memory: 2 } + } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1820,10 +1816,23 @@ export const useFunc = (model) => { }) } - function isMachineValid() { + function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const limits = containers[0]?.resources?.limits || {} + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + + function isMachineValid() { + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } diff --git a/charts/opskubedbcom-postgresopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-postgresopsrequest-editor/ui/create-ui.yaml index 5d232c3388..5a0509f6e7 100644 --- a/charts/opskubedbcom-postgresopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-postgresopsrequest-editor/ui/create-ui.yaml @@ -152,7 +152,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|postgres|/spec/podTemplate/spec/resources + func: onMachineChange|postgres paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js b/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js index 183d5e56b0..790e6a59da 100644 --- a/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js @@ -421,9 +421,10 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/postgreses/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/postgreses/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -766,8 +767,7 @@ export const useFunc = (model) => { // machine profile stuffs function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] if (avlMachines.length) { @@ -816,7 +816,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -827,6 +827,8 @@ export const useFunc = (model) => { parsedInstance = instance || {} } + const machine = parsedInstance || 'custom' + const machinePresets = machinesFromPreset.find((item) => item.id === machine) if (machinePresets) { return { @@ -837,7 +839,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1853,9 +1855,23 @@ export const useFunc = (model) => { }) } - function isMachineValid() { + function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + + function isMachineValid() { + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } From 56ea92163064ebc29bfe1f0e471a92ccc75f8c82 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 12:11:24 +0600 Subject: [PATCH 02/14] rm oracle exporter Signed-off-by: Samiul --- .../ui/create-ui.yaml | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml index 2762f4232c..f5887d3841 100644 --- a/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml @@ -207,30 +207,6 @@ step: label: Node Selection showLabels: true type: block-layout - - elements: - - elements: - - init: - type: func - value: setExporter|cpu - label: CPU - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/requests/properties/cpu - type: input - - init: - type: func - value: setExporter|memory - label: Memory - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - showLabels: true - type: horizontal-layout - hideBlock: true - label: Exporter - showLabels: true - type: block-layout label: Oracle vertical scaling showLabels: false type: block-layout From d5189da21cdc1b75a2c7a4e0b60abadf685d7015 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 12:33:25 +0600 Subject: [PATCH 03/14] weaviate zookeeper Signed-off-by: Samiul --- .../ui/functions.js | 2 +- .../ui/functions.js | 106 ++---------------- .../ui/create-ui.yaml | 26 +---- .../ui/functions.js | 50 +++------ 4 files changed, 30 insertions(+), 154 deletions(-) diff --git a/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js b/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js index 62f9e2c8a9..cad000f21d 100644 --- a/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js @@ -840,7 +840,7 @@ export const useFunc = (model) => { parsedInstance = instance || {} } - const machine = type ? parsedInstance[type] : parsedInstance || 'custom' + const machine = type && parsedInstance[type] ? parsedInstance[type] : parsedInstance || 'custom' const machinePresets = machinesFromPreset.find((item) => item.id === machine) if (machinePresets) { diff --git a/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js b/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js index fe41e9e7f9..9866d6ab41 100644 --- a/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/weaviates/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/weaviates/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -1616,26 +1616,6 @@ export const useFunc = (model) => { return retValue || undefined } - function setConfigFiles() { - // watchDependency('model#/resources/secret_config/stringData') - const configFiles = getValue(model, '/resources/secret_config/stringData') - - const files = [] - - for (const item in configFiles) { - const obj = {} - obj.key = item - obj.value = configFiles[item] - files.push(obj) - } - - return files - } - - function getAliasOptions() { - return ['server', 'client', 'metrics-exporter'] - } - function isNamespaceDisabled() { const { namespace } = route.query || {} return !!namespace @@ -1724,30 +1704,6 @@ export const useFunc = (model) => { return value * units[unit] } - function fetchAliasOptions() { - return getAliasOptions ? getAliasOptions() : [] - } - - function validateNewCertificates({ itemCtx }) { - const addedAliases = (model && model.map((item) => item.alias)) || [] - - if (addedAliases.includes(itemCtx.alias) && itemCtx.isCreate) { - return { isInvalid: true, message: 'Alias already exists' } - } - return {} - } - - function disableAlias() { - return !!(model && model.alias) - } - - function getSelectedConfigSecret(type) { - const path = `/spec/configuration/configSecret/name` - const selectedSecret = getValue(model, path) - // watchDependency(`model#${path}`) - return `You have selected ${selectedSecret} secret` || 'No secret selected' - } - function objectToYaml(obj, indent = 0) { if (obj === null || obj === undefined) return 'null' if (typeof obj !== 'object') return JSON.stringify(obj) @@ -1783,49 +1739,18 @@ export const useFunc = (model) => { .join('\n') } - function getSelectedConfigSecretValue(type) { - const path = `/spec/configuration/configSecret/name` - const selectedSecret = getValue(model, path) - let data - secretArray.forEach((item) => { - if (item.value === selectedSecret) { - data = objectToYaml(item.data).trim() || 'No Data Found' - } - }) - return data || 'No Data Found' - } - - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal - } - return limitVal - } - - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) - } - function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const kind = dbDetails?.kind - const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) - const limits = resource[0]?.resources?.requests || {} + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + return limits } @@ -1843,11 +1768,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, - onExporterResourceChange, - fetchAliasOptions, - validateNewCertificates, - disableAlias, isRancherManaged, fetchJsons, returnFalse, @@ -1872,8 +1792,6 @@ export const useFunc = (model) => { showAndInitOpsRequestType, ifDbTypeEqualsTo, getConfigSecrets, - getSelectedConfigSecret, - getSelectedConfigSecretValue, createSecretUrl, isEqualToValueFromType, getNamespacedResourceList, @@ -1893,7 +1811,6 @@ export const useFunc = (model) => { getRequestTypeFromRoute, isDbDetailsLoading, setValueFromDbDetails, - getAliasOptions, isDatabaseRefDisabled, isNamespaceDisabled, onNamespaceChange, @@ -1905,7 +1822,6 @@ export const useFunc = (model) => { onMachineChange, isMachineCustom, checkVolume, - setConfigFiles, isConfigSelected, fetchConfigSecrets, getCurrentConfig, diff --git a/charts/opskubedbcom-zookeeperopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-zookeeperopsrequest-editor/ui/create-ui.yaml index 2faa3dcb0d..a147f0d34f 100644 --- a/charts/opskubedbcom-zookeeperopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-zookeeperopsrequest-editor/ui/create-ui.yaml @@ -153,7 +153,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/containers + func: onMachineChange|node paths: - temp/properties/machine - elements: @@ -202,30 +202,6 @@ step: label: Node Selection showLabels: true type: block-layout - - elements: - - elements: - - init: - type: func - value: setExporter|cpu - label: CPU - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/requests/properties/cpu - type: input - - init: - type: func - value: setExporter|memory - label: Memory - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - showLabels: true - type: horizontal-layout - hideBlock: true - label: Exporter - showLabels: true - type: block-layout if: name: ifRequestTypeEqualsTo|VerticalScaling type: function diff --git a/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js b/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js index 1f71052aaa..2aa03dcae7 100644 --- a/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js @@ -383,9 +383,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/zookeepers/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/zookeepers/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -1435,9 +1435,7 @@ export const useFunc = (model) => { // machine profile stuffs function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - // const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.limits || {} - const limits = dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] if (avlMachines.length) { @@ -1486,8 +1484,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - // const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.limits || {} - const limits = dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -1509,7 +1506,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1597,34 +1594,23 @@ export const useFunc = (model) => { return value * units[unit] } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} } - return limitVal - } - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) + return limits } function isMachineValid() { - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1637,8 +1623,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, - onExporterResourceChange, returnFalse, getNamespaces, getDbs, From 9d3cc88ad1d1b6141705f5a13e71121ddab1ebf6 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 12:43:10 +0600 Subject: [PATCH 04/14] weaviate Signed-off-by: Samiul --- charts/opskubedbcom-weaviateopsrequest-editor/ui/create-ui.yaml | 2 +- charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/opskubedbcom-weaviateopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-weaviateopsrequest-editor/ui/create-ui.yaml index aee87b3d15..d41e563e65 100644 --- a/charts/opskubedbcom-weaviateopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-weaviateopsrequest-editor/ui/create-ui.yaml @@ -154,7 +154,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|weaviate|/spec/podTemplate/spec/resources + func: onMachineChange|weaviate paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js b/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js index 9866d6ab41..edfc43656d 100644 --- a/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js @@ -857,7 +857,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) From 7b922d9736cf87fdef88c3b0e97669bae3a9ebf6 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 15:35:02 +0600 Subject: [PATCH 05/14] solr Signed-off-by: Samiul --- .../ui/create-ui.yaml | 32 ++------- .../ui/functions.js | 70 +++++++------------ 2 files changed, 30 insertions(+), 72 deletions(-) diff --git a/charts/opskubedbcom-solropsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-solropsrequest-editor/ui/create-ui.yaml index 69e25f0f07..3934e91320 100644 --- a/charts/opskubedbcom-solropsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-solropsrequest-editor/ui/create-ui.yaml @@ -228,7 +228,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/containers + func: onMachineChange|node paths: - temp/properties/machine-node - elements: @@ -295,7 +295,7 @@ step: adjustments and make informed decisions for your database setup type: machine-compare watcher: - func: onMachineChange|coordinator|/spec/topology/coordinator/podTemplate/spec/containers + func: onMachineChange|coordinator paths: - temp/properties/machine-coordinator - elements: @@ -360,7 +360,7 @@ step: adjustments and make informed decisions for your database setup type: machine-compare watcher: - func: onMachineChange|data|/spec/topology/data/podTemplate/spec/containers + func: onMachineChange|data paths: - temp/properties/machine-data - elements: @@ -425,7 +425,7 @@ step: adjustments and make informed decisions for your database setup type: machine-compare watcher: - func: onMachineChange|overseer|/spec/topology/overseer/podTemplate/spec/containers + func: onMachineChange|overseer paths: - temp/properties/machine-overseer - elements: @@ -476,30 +476,6 @@ step: label: Node Selection showLabels: true type: block-layout - - elements: - - elements: - - init: - type: func - value: setExporter|cpu - label: CPU - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/requests/properties/cpu - type: input - - init: - type: func - value: setExporter|memory - label: Memory - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - showLabels: true - type: horizontal-layout - hideBlock: true - label: Exporter - showLabels: true - type: block-layout label: Overseer Vertical Scaling showLabels: true type: block-layout diff --git a/charts/opskubedbcom-solropsrequest-editor/ui/functions.js b/charts/opskubedbcom-solropsrequest-editor/ui/functions.js index 23b4e62d9f..112448d1fe 100644 --- a/charts/opskubedbcom-solropsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-solropsrequest-editor/ui/functions.js @@ -425,9 +425,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/solrs/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/solrs/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -780,18 +780,15 @@ export const useFunc = (model) => { } // // machine profile stuffs - // let machinesFromPreset = [] function getMachines(type) { const presets = storeGet('/kubedbuiPresets') || {} const dbDetails = getValue(discriminator, '/dbDetails') - // const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.limits || {} - const limits = (type && type !== 'node' - ? dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources?.requests - : dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests) || { - cpu: '', - memory: '', - } + let limits = {} + if (type && type !== 'node') + limits = + dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources?.requests + else limits = dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -841,13 +838,11 @@ export const useFunc = (model) => { function setMachine(type) { const dbDetails = getValue(discriminator, '/dbDetails') - // const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.limits || {} - const limits = (type && type !== 'node' - ? dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources?.requests - : dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests) || { - cpu: '', - memory: '', - } + let limits = {} + if (type && type !== 'node') + limits = + dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources?.requests + else limits = dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -869,9 +864,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, `/machine-${type}`) + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, `/machine-${type}`) || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1791,35 +1785,25 @@ export const useFunc = (model) => { return data || 'No Data Found' } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} } - return limitVal - } - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) + return limits } function isMachineValid() { const dbDetails = getValue(discriminator, '/dbDetails') const container = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const limits = container[0]?.resources?.limits || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine-node') || {} const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1832,8 +1816,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, - onExporterResourceChange, fetchAliasOptions, validateNewCertificates, disableAlias, From 532841e5a3b959f5c37fd0d929b208f2c4f5dbef Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 15:58:15 +0600 Subject: [PATCH 06/14] singlestore Signed-off-by: Samiul --- .../ui/create-ui.yaml | 34 +++---------------- .../ui/functions.js | 33 ++---------------- 2 files changed, 7 insertions(+), 60 deletions(-) diff --git a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml index a0c0bd9a4d..3603bd26b6 100644 --- a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml @@ -177,7 +177,7 @@ step: adjustments and make informed decisions for your database setup type: machine-compare watcher: - func: onMachineChange|aggregator|/spec/topology/aggregator/podTemplate/spec/containers + func: onMachineChange|aggregator paths: - temp/properties/machine-aggregator - elements: @@ -243,7 +243,7 @@ step: adjustments and make informed decisions for your database setup type: machine-compare watcher: - func: onMachineChange|leaf|/spec/topology/leaf/podTemplate/spec/containers + func: onMachineChange|leaf paths: - temp/properties/machine-leaf - elements: @@ -312,7 +312,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/containers + func: onMachineChange|node paths: - temp/properties/machine-node - elements: @@ -376,7 +376,7 @@ step: schema: temp/properties/machine-coordinator type: machine-compare watcher: - func: onMachineChange|coordinator|/spec/topology/aggregator/podTemplate/spec/containers + func: onMachineChange|coordinator paths: - temp/properties/machine-coordinator if: @@ -385,32 +385,6 @@ step: label: Coordinator Vertical Scaling showLabels: true type: block-layout - - elements: - - elements: - - init: - type: func - value: setExporter|cpu - label: CPU - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/requests/properties/cpu - type: input - - init: - type: func - value: setExporter|memory - label: Memory - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - showLabels: true - type: horizontal-layout - if: - name: returnFalse - type: function - label: Exporter - showLabels: true - type: block-layout if: name: ifRequestTypeEqualsTo|VerticalScaling type: function diff --git a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js index 2203e3d97e..d84dcf985d 100644 --- a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js @@ -416,9 +416,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/singlestores/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/singlestores/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -866,7 +866,7 @@ export const useFunc = (model) => { } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, `/machine-${type}`) const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1804,31 +1804,6 @@ export const useFunc = (model) => { } } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal - } - return limitVal - } - - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) - } - function isMachineValid() { const dbDetails = getValue(discriminator, '/dbDetails') const container = dbDetails?.spec?.podTemplate?.spec?.containers || [] @@ -1845,8 +1820,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, - onExporterResourceChange, fetchAliasOptions, validateNewCertificates, disableAlias, From 22f8236125bdf13c08f7bd16578be668ad41034c Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 16:32:35 +0600 Subject: [PATCH 07/14] redis Signed-off-by: Samiul --- .../ui/create-ui.yaml | 6 +--- .../ui/functions.js | 29 ++++++++++++++----- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/charts/opskubedbcom-redisopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-redisopsrequest-editor/ui/create-ui.yaml index 9444207264..9bfd447b6a 100644 --- a/charts/opskubedbcom-redisopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-redisopsrequest-editor/ui/create-ui.yaml @@ -163,7 +163,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|redis|/spec/podTemplate/spec/resources + func: onMachineChange|redis paths: - temp/properties/machine - elements: @@ -225,10 +225,6 @@ step: label: Memory schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory showLabels: true type: horizontal-layout hideBlock: true diff --git a/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js b/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js index 8030472da5..a78b90eb49 100644 --- a/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/redises/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/redises/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -767,8 +767,7 @@ export const useFunc = (model) => { // machine profile stuffs function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -818,7 +817,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -840,7 +839,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1782,9 +1781,23 @@ export const useFunc = (model) => { }) } - function isMachineValid() { + function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + + function isMachineValid() { + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } From 176941249765434c1654f420846dcf0f3988c5c1 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 17:31:33 +0600 Subject: [PATCH 08/14] proxy rabbit qdrant Signed-off-by: Samiul --- .../ui/create-ui.yaml | 29 ++--------- .../ui/functions.js | 51 ++++++++++--------- .../ui/create-ui.yaml | 2 +- .../ui/functions.js | 49 +++++++----------- .../ui/create-ui.yaml | 2 +- .../ui/functions.js | 46 +++++++---------- 6 files changed, 67 insertions(+), 112 deletions(-) diff --git a/charts/opskubedbcom-proxysqlopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-proxysqlopsrequest-editor/ui/create-ui.yaml index 95bc1700aa..1cf89bd040 100644 --- a/charts/opskubedbcom-proxysqlopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-proxysqlopsrequest-editor/ui/create-ui.yaml @@ -146,8 +146,11 @@ step: subtitle: Compare your current machine configuration with the proposed memory adjustments and make informed decisions for your database setup type: machine-compare + validation: + name: isMachineValid + type: custom watcher: - func: onMachineChange|proxysql|/spec/podTemplate/spec/resources + func: onMachineChange|proxysql paths: - temp/properties/machine - elements: @@ -196,30 +199,6 @@ step: label: Node Selection showLabels: true type: block-layout - - elements: - - elements: - - init: - type: func - value: setExporter|cpu - label: CPU - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/requests/properties/cpu - type: input - - init: - type: func - value: setExporter|memory - label: Memory - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - showLabels: true - type: horizontal-layout - hideBlock: true - label: Exporter - showLabels: true - type: block-layout if: name: ifRequestTypeEqualsTo|VerticalScaling type: function diff --git a/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js b/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js index f6c96ea86b..23e5f52ac8 100644 --- a/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js @@ -419,9 +419,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/proxyRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/proxysqls/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/proxysqls/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -820,7 +820,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, `/machine`) const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1266,34 +1266,35 @@ export const useFunc = (model) => { return !!(model && model.alias) } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} } - return limitVal + + return limits } - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) + function isMachineValid() { + const limits = getLimits() + + const selectedMachine = getValue(discriminator, '/machine') + const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } + + if (JSON.stringify(limits) === JSON.stringify(selectedLimits)) { + return 'Resource limits are same as current machine configuration. Please select different resources or machine preset.' + } + return false } return { - setExporter, - onExporterResourceChange, + isMachineValid, fetchAliasOptions, validateNewCertificates, disableAlias, diff --git a/charts/opskubedbcom-qdrantopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-qdrantopsrequest-editor/ui/create-ui.yaml index 1567cfd0a8..4006112fb9 100644 --- a/charts/opskubedbcom-qdrantopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-qdrantopsrequest-editor/ui/create-ui.yaml @@ -154,7 +154,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/resources + func: onMachineChange|node paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js b/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js index 571cae4e2a..9b2f18a10e 100644 --- a/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/qdrants/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/qdrants/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -781,8 +781,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -832,7 +831,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] @@ -856,7 +855,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1794,35 +1793,23 @@ export const useFunc = (model) => { return data || 'No Data Found' } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} } - return limitVal - } - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) + return limits } function isMachineValid() { - const dbDetails = getValue(discriminator, '/dbDetails') - const container = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const limits = container[0]?.resources?.limits || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1835,8 +1822,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, - onExporterResourceChange, fetchAliasOptions, validateNewCertificates, disableAlias, diff --git a/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/create-ui.yaml index abcd4072c9..374a976525 100644 --- a/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/create-ui.yaml @@ -156,7 +156,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/containers + func: onMachineChange|node paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js b/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js index a49838fbf6..c32cca28f3 100644 --- a/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/rabbitmqs/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/rabbitmqs/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -755,11 +755,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const kind = dbDetails?.kind || 'RabbitMQ' - const resource = containers.filter((ele) => ele.name === kind.toLowerCase()) - const limits = resource[0]?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -809,10 +805,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const kind = dbDetails?.kind || 'RabbitMQ' - const resource = containers.filter((ele) => ele.name === kind.toLowerCase()) - const limits = resource[0]?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -834,7 +827,7 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { + function onMachineChange(type) { let selectedMachine = {} selectedMachine = getValue(discriminator, '/machine') const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) @@ -1769,25 +1762,23 @@ export const useFunc = (model) => { return data || 'No Data Found' } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} } - return limitVal + + return limits } function isMachineValid() { - const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const kind = dbDetails?.kind || 'RabbitMQ' - const resource = containers.filter((ele) => ele.name === kind.toLowerCase()) - const limits = resource[0]?.resources?.requests || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1800,7 +1791,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, fetchAliasOptions, validateNewCertificates, disableAlias, From eaa6071819887e53b9baea517458f6f6a8ecfc11 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 18:03:03 +0600 Subject: [PATCH 09/14] pgpool Signed-off-by: Samiul --- .../ui/create-ui.yaml | 26 +-------- .../ui/functions.js | 57 +++++++------------ .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- .../ui/functions.js | 3 +- 10 files changed, 29 insertions(+), 78 deletions(-) diff --git a/charts/opskubedbcom-pgpoolopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-pgpoolopsrequest-editor/ui/create-ui.yaml index 88f0ecd72e..0c761edd67 100644 --- a/charts/opskubedbcom-pgpoolopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-pgpoolopsrequest-editor/ui/create-ui.yaml @@ -152,7 +152,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|node|/spec/podTemplate/spec/containers + func: onMachineChange|node paths: - temp/properties/machine - elements: @@ -202,30 +202,6 @@ step: label: Node Selection showLabels: true type: block-layout - - elements: - - elements: - - init: - type: func - value: setExporter|cpu - label: CPU - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/requests/properties/cpu - type: input - - init: - type: func - value: setExporter|memory - label: Memory - schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory - showLabels: true - type: horizontal-layout - hideBlock: true - label: Exporter - showLabels: true - type: block-layout label: Node Vertical Scaling type: block-layout if: diff --git a/charts/opskubedbcom-pgpoolopsrequest-editor/ui/functions.js b/charts/opskubedbcom-pgpoolopsrequest-editor/ui/functions.js index 0016e5a1b3..5f893952cc 100644 --- a/charts/opskubedbcom-pgpoolopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-pgpoolopsrequest-editor/ui/functions.js @@ -423,9 +423,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/pgpools/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/pgpools/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -840,9 +840,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1725,37 +1724,8 @@ export const useFunc = (model) => { return !!(model && model.alias) } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal - } - return limitVal - } - - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) - } - function isMachineValid() { - const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const kind = dbDetails?.kind - const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) - const limits = resource[0]?.resources?.requests || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1766,10 +1736,23 @@ export const useFunc = (model) => { return false } + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + return { isMachineValid, - setExporter, - onExporterResourceChange, fetchAliasOptions, validateNewCertificates, disableAlias, diff --git a/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js b/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js index 790e6a59da..c4d16a598b 100644 --- a/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-postgresopsrequest-editor/ui/functions.js @@ -840,8 +840,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js b/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js index 23e5f52ac8..12db18e386 100644 --- a/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-proxysqlopsrequest-editor/ui/functions.js @@ -821,8 +821,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, `/machine`) + const selectedMachine = getValue(discriminator, `/machine`) || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js b/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js index 9b2f18a10e..e2efd357e9 100644 --- a/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-qdrantopsrequest-editor/ui/functions.js @@ -856,8 +856,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js b/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js index c32cca28f3..e2c0ca66ab 100644 --- a/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-rabbitmqopsrequest-editor/ui/functions.js @@ -828,8 +828,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js b/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js index a78b90eb49..071675dd72 100644 --- a/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-redisopsrequest-editor/ui/functions.js @@ -840,8 +840,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js index d84dcf985d..cc36e3e3c5 100644 --- a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js @@ -867,8 +867,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, `/machine-${type}`) + const selectedMachine = getValue(discriminator, `/machine-${type}`) || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js b/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js index edfc43656d..e453aa889b 100644 --- a/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-weaviateopsrequest-editor/ui/functions.js @@ -858,8 +858,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} diff --git a/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js b/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js index 2aa03dcae7..1430bc8eb7 100644 --- a/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-zookeeperopsrequest-editor/ui/functions.js @@ -1507,8 +1507,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} From cf5372e88241ee8acdeef6c814015c047210e0a0 Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 18:13:14 +0600 Subject: [PATCH 10/14] pbbouncer percona Signed-off-by: Samiul --- .../ui/functions.js | 30 +------------ .../ui/create-ui.yaml | 2 +- .../ui/functions.js | 32 +++++++++----- .../ui/create-ui.yaml | 6 +-- .../ui/functions.js | 44 ++++++++----------- 5 files changed, 43 insertions(+), 71 deletions(-) diff --git a/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js b/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js index cad000f21d..d0edf28bf7 100644 --- a/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-oracleopsrequest-editor/ui/functions.js @@ -853,8 +853,7 @@ export const useFunc = (model) => { } function onMachineChange(type) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1791,31 +1790,6 @@ export const useFunc = (model) => { return data || 'No Data Found' } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal - } - return limitVal - } - - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) - } - function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') let limits = {} @@ -1845,8 +1819,6 @@ export const useFunc = (model) => { return { isMachineValid, - setExporter, - onExporterResourceChange, fetchAliasOptions, validateNewCertificates, disableAlias, diff --git a/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml index 92aa649ba6..ba2ed10334 100644 --- a/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml @@ -128,7 +128,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|perconaxtradb|/spec/podTemplate/spec/resources + func: onMachineChange|perconaxtradb paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/functions.js b/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/functions.js index 3ff5cd5794..24bf2eafc8 100644 --- a/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/functions.js @@ -422,9 +422,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/perconaxtradbs/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/perconaxtradbs/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -724,8 +724,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -775,7 +774,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -797,9 +796,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, `/machine`) + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, `/machine`) || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1740,9 +1738,23 @@ export const useFunc = (model) => { }) } - function isMachineValid() { + function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + + function isMachineValid() { + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } diff --git a/charts/opskubedbcom-pgbounceropsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-pgbounceropsrequest-editor/ui/create-ui.yaml index fb85bd6c6b..f6f239ced7 100644 --- a/charts/opskubedbcom-pgbounceropsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-pgbounceropsrequest-editor/ui/create-ui.yaml @@ -149,7 +149,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|pgbouncer|/spec/podTemplate/spec/resources + func: onMachineChange|pgbouncer paths: - temp/properties/machine - elements: @@ -215,10 +215,6 @@ step: label: Memory schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory showLabels: true type: horizontal-layout hideBlock: true diff --git a/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js b/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js index 35cf895095..28e6a8292a 100644 --- a/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js @@ -754,8 +754,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -805,7 +804,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] @@ -829,9 +828,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, `/machine`) + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, `/machine`) || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1569,7 +1567,6 @@ export const useFunc = (model) => { force: true, }) } - console.log({ retValue }) return retValue || undefined } @@ -1584,10 +1581,6 @@ export const useFunc = (model) => { return resource[0]?.resources || {} } - function getAliasOptions() { - return ['server', 'client', 'metrics-exporter'] - } - function isNamespaceDisabled() { const { namespace } = route.query || {} return !!namespace @@ -1699,21 +1692,23 @@ export const useFunc = (model) => { return limitVal } - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits } function isMachineValid() { - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1727,8 +1722,6 @@ export const useFunc = (model) => { return { isMachineValid, setExporter, - onExporterResourceChange, - fetchAliasOptions: getAliasOptions, isRancherManaged, fetchJsons, returnFalse, @@ -1775,7 +1768,6 @@ export const useFunc = (model) => { isDbDetailsLoading, setValueFromDbDetails, setResource, - getAliasOptions, isNamespaceDisabled, isDatabaseRefDisabled, onDbChange, From d6fde552b332d83323f81081e50541c808264aaf Mon Sep 17 00:00:00 2001 From: Samiul Date: Wed, 1 Jul 2026 18:40:55 +0600 Subject: [PATCH 11/14] neo4j mysql mssql Signed-off-by: Samiul --- .../ui/create-ui.yaml | 6 +- .../ui/functions.js | 49 ++++++-------- .../ui/create-ui.yaml | 6 +- .../ui/functions.js | 35 ++++++---- .../ui/create-ui.yaml | 2 +- .../ui/functions.js | 64 +++++++------------ 6 files changed, 69 insertions(+), 93 deletions(-) diff --git a/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml index 966d5dc3b0..7001ce1e00 100644 --- a/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml @@ -151,7 +151,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|mssqlserver|/spec/podTemplate/spec/containers + func: onMachineChange|mssqlserver paths: - temp/properties/machine - elements: @@ -217,10 +217,6 @@ step: label: Memory schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory showLabels: true type: horizontal-layout hideBlock: true diff --git a/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/functions.js b/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/functions.js index 57637d6e8f..4b16735c2b 100644 --- a/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/functions.js @@ -412,9 +412,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/mssqlservers/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/mssqlservers/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -749,10 +749,7 @@ export const useFunc = (model) => { // machine profile stuffs function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const mssqlContainer = containers.find((c) => c.name === 'mssql') - const limits = mssqlContainer?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -802,9 +799,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const mssqlContainer = containers.find((c) => c.name === 'mssql') - const limits = mssqlContainer?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] @@ -828,9 +823,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1741,24 +1735,24 @@ export const useFunc = (model) => { return limitVal } - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) - } - - function isMachineValid() { + function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const mssqlContainer = containers.find((c) => c.name === 'mssql') - const limits = mssqlContainer?.resources?.requests || {} + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = 'mssql' + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + return limits + } + + function isMachineValid() { + const limits = getLimits() + console.log('limits', limits) const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1772,7 +1766,6 @@ export const useFunc = (model) => { isMachineValid, isRancherManaged, setExporter, - onExporterResourceChange, setResource, fetchJsons, returnFalse, diff --git a/charts/opskubedbcom-mysqlopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-mysqlopsrequest-editor/ui/create-ui.yaml index 488609f511..79dbd592bc 100644 --- a/charts/opskubedbcom-mysqlopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-mysqlopsrequest-editor/ui/create-ui.yaml @@ -157,7 +157,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|mysql|/spec/podTemplate/spec/resources + func: onMachineChange|mysql paths: - temp/properties/machine - elements: @@ -221,10 +221,6 @@ step: label: Memory schema: schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory type: input - watcher: - func: onExporterResourceChange|memory - paths: - - schema/properties/spec/properties/verticalScaling/properties/exporter/properties/resources/properties/limits/properties/memory showLabels: true type: horizontal-layout hideBlock: true diff --git a/charts/opskubedbcom-mysqlopsrequest-editor/ui/functions.js b/charts/opskubedbcom-mysqlopsrequest-editor/ui/functions.js index 36aee114a9..9903200fb8 100644 --- a/charts/opskubedbcom-mysqlopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-mysqlopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/mysqls/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/mysqls/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -781,8 +781,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -831,9 +830,8 @@ export const useFunc = (model) => { } function setMachine() { - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} - const annotations = dbDetails?.metadata?.annotations || {} + const limits = getLimits() + const annotations = getValue(discriminator, '/dbDetails/metadata/annotations') || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -856,9 +854,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1819,9 +1816,23 @@ export const useFunc = (model) => { }) } - function isMachineValid() { + function getLimits() { const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + + function isMachineValid() { + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } diff --git a/charts/opskubedbcom-neo4jopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-neo4jopsrequest-editor/ui/create-ui.yaml index f49ad7e084..d45cac3da3 100644 --- a/charts/opskubedbcom-neo4jopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-neo4jopsrequest-editor/ui/create-ui.yaml @@ -154,7 +154,7 @@ step: name: isMachineValid type: custom watcher: - func: onMachineChange|neo4j|/spec/podTemplate/spec/resources + func: onMachineChange|neo4j paths: - temp/properties/machine - elements: diff --git a/charts/opskubedbcom-neo4jopsrequest-editor/ui/functions.js b/charts/opskubedbcom-neo4jopsrequest-editor/ui/functions.js index 5a1432e715..76b3879bd1 100644 --- a/charts/opskubedbcom-neo4jopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-neo4jopsrequest-editor/ui/functions.js @@ -421,9 +421,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/neo4js/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/neo4js/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) @@ -778,8 +778,7 @@ export const useFunc = (model) => { function getMachines() { const presets = storeGet('/kubedbuiPresets') || {} - const dbDetails = getValue(discriminator, '/dbDetails') - const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + const limits = getLimits() const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -829,10 +828,7 @@ export const useFunc = (model) => { function setMachine() { const dbDetails = getValue(discriminator, '/dbDetails') - - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const neo4jContainer = containers.find((c) => c.name === 'neo4j') - const limits = neo4jContainer?.resources?.requests || {} + const limits = getLimits() const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] @@ -855,9 +851,8 @@ export const useFunc = (model) => { } else return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } - function onMachineChange(type, valPath) { - let selectedMachine = {} - selectedMachine = getValue(discriminator, '/machine') + function onMachineChange(type) { + const selectedMachine = getValue(discriminator, '/machine') || {} const machine = machinesFromPreset.find((item) => item.id === selectedMachine.machine) let obj = {} @@ -1793,36 +1788,8 @@ export const useFunc = (model) => { return data || 'No Data Found' } - function setExporter(type) { - let path = `/dbDetails/spec/monitor/prometheus/exporter/resources/limits/${type}` - const limitVal = getValue(discriminator, path) - - if (!limitVal) { - path = `/dbDetails/spec/monitor/prometheus/exporter/resources/requests/${type}` - const reqVal = getValue(discriminator, path) - - if (reqVal) return reqVal - } - return limitVal - } - - function onExporterResourceChange(type) { - const commitPath = `/spec/verticalScaling/exporter/resources/requests/${type}` - const valPath = `/spec/verticalScaling/exporter/resources/limits/${type}` - const val = getValue(model, valPath) - if (val) - commit('wizard/model$update', { - path: commitPath, - value: val, - force: true, - }) - } - function isMachineValid() { - const dbDetails = getValue(discriminator, '/dbDetails') - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const neo4jContainer = containers.find((c) => c.name === 'neo4j') - const limits = neo4jContainer?.resources?.requests || {} + const limits = getLimits() const selectedMachine = getValue(discriminator, '/machine') const selectedLimits = { cpu: selectedMachine.cpu, memory: selectedMachine.memory } @@ -1833,10 +1800,23 @@ export const useFunc = (model) => { return false } + function getLimits() { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + else { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } + + return limits + } + return { isMachineValid, - setExporter, - onExporterResourceChange, fetchAliasOptions, validateNewCertificates, disableAlias, From e6b7ec417b1d4d53fdc8b1b11b6ebd64c20d7eb7 Mon Sep 17 00:00:00 2001 From: Samiul Date: Thu, 2 Jul 2026 11:43:49 +0600 Subject: [PATCH 12/14] pgbouncer version fx Signed-off-by: Samiul --- .../opskubedbcom-pgbounceropsrequest-editor/ui/functions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js b/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js index 28e6a8292a..46d7fcc6a0 100644 --- a/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-pgbounceropsrequest-editor/ui/functions.js @@ -412,9 +412,9 @@ export const useFunc = (model) => { const cluster = storeGet('/route/params/cluster') const namespace = storeGet('/route/query/namespace') || getValue(model, '/metadata/namespace') const name = storeGet('/route/params/name') || getValue(model, '/spec/databaseRef/name') - + const version = storeGet('/route/params/version') if (namespace && name) { - const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/v1alpha2/namespaces/${namespace}/pgbouncers/${name}` + const url = `/clusters/${owner}/${cluster}/proxy/kubedb.com/${version}/namespaces/${namespace}/pgbouncers/${name}` const resp = await axios.get(url) setDiscriminatorValue('/dbDetails', resp.data || {}) From f60e8d7cbc79ef408cb8dce68272be6fbaa4672a Mon Sep 17 00:00:00 2001 From: Samiul Date: Thu, 2 Jul 2026 12:31:20 +0600 Subject: [PATCH 13/14] fix singlestore Signed-off-by: Samiul --- .../ui/create-ui.yaml | 18 ------ .../ui/functions.js | 55 ++++++++----------- 2 files changed, 23 insertions(+), 50 deletions(-) diff --git a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml index 3603bd26b6..d7c4097974 100644 --- a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml @@ -367,24 +367,6 @@ step: type: function label: Node Vertical Scaling type: block-layout - - elements: - - init: - type: func - value: setMachine|coordinator - label: Resources - loader: getMachines|coordinator - schema: temp/properties/machine-coordinator - type: machine-compare - watcher: - func: onMachineChange|coordinator - paths: - - temp/properties/machine-coordinator - if: - name: ifDbTypeEqualsTo|Topology|VerticalScaling - type: function - label: Coordinator Vertical Scaling - showLabels: true - type: block-layout if: name: ifRequestTypeEqualsTo|VerticalScaling type: function diff --git a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js index cc36e3e3c5..844891a586 100644 --- a/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js +++ b/charts/opskubedbcom-singlestoreopsrequest-editor/ui/functions.js @@ -762,12 +762,7 @@ export const useFunc = (model) => { const presets = storeGet('/kubedbuiPresets') || {} const dbDetails = getValue(discriminator, '/dbDetails') // const limits = dbDetails?.spec?.podTemplate?.spec?.resources?.limits || {} - const limits = (type && type !== 'node' - ? dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources?.requests - : dbDetails?.spec?.podTemplate?.spec?.containers?.[0]?.resources?.requests) || { - cpu: '', - memory: '', - } + const limits = getLimits(type) const avlMachines = presets.admin?.machineProfiles?.available || [] let arr = [] @@ -817,7 +812,7 @@ export const useFunc = (model) => { function setMachine(type) { const dbDetails = getValue(discriminator, '/dbDetails') - let limits = {} + let limits = getLimits(type) const annotations = dbDetails?.metadata?.annotations || {} const instance = annotations['kubernetes.io/instance-type'] let parsedInstance = {} @@ -837,31 +832,6 @@ export const useFunc = (model) => { memory: machinePresets.limits.memory, } } else { - // For coordinator, find the coordinator sidecar container in the aggregator pod - if (type === 'coordinator') { - const containers = - dbDetails?.spec?.topology?.aggregator?.podTemplate?.spec?.containers || [] - const resource = containers.find((ele) => ele.name === 'coordinator') - limits = resource?.resources?.requests || {} - if (!Object.keys(limits).length) { - // fallback: check initContainers or top-level containers - const initContainers = - dbDetails?.spec?.topology?.aggregator?.podTemplate?.spec?.initContainers || [] - const initResource = initContainers.find((ele) => ele.name === 'coordinator') - limits = initResource?.resources?.requests || {} - } - } else if (type === 'node') { - const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] - const kind = dbDetails?.kind - const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) - limits = resource[0]?.resources?.requests || {} - } else { - // For aggregator and leaf - const topologyLimits = - dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources - ?.requests || {} - limits = topologyLimits - } return { machine: 'custom', cpu: limits.cpu, memory: limits.memory } } } @@ -1817,6 +1787,27 @@ export const useFunc = (model) => { return false } + function getLimits(type) { + const dbDetails = getValue(discriminator, '/dbDetails') + let limits = {} + const containers = dbDetails?.spec?.podTemplate?.spec?.containers || [] + if (type === 'node') { + const kind = dbDetails?.kind + const resource = containers.filter((ele) => ele.name === kind?.toLowerCase()) + limits = resource[0]?.resources?.requests || {} + } else { + // For aggregator and leaf + const topologyLimits = + dbDetails?.spec?.topology?.[type]?.podTemplate?.spec?.containers?.[0]?.resources + ?.requests || {} + limits = topologyLimits + } + if (containers.length === 0) + limits = dbDetails?.spec?.podTemplate?.spec?.resources?.requests || {} + + return limits + } + return { isMachineValid, fetchAliasOptions, From b8bcf2b1d1eeda38d24ff6130325a41cdfb4fb75 Mon Sep 17 00:00:00 2001 From: Samiul Date: Thu, 2 Jul 2026 12:35:12 +0600 Subject: [PATCH 14/14] rm coordinator in mssql, percona Signed-off-by: Samiul --- .../ui/create-ui.yaml | 28 ------------------- .../ui/create-ui.yaml | 28 ------------------- 2 files changed, 56 deletions(-) diff --git a/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml index 7001ce1e00..f00a616ffd 100644 --- a/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml @@ -223,34 +223,6 @@ step: label: Exporter showLabels: true type: block-layout - - elements: - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/podTemplate/spec/resources/requests/cpu|/spec/verticalScaling/coordinator/resources/requests/cpu - label: CPU Requests - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/requests/cpu - type: input - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/podTemplate/spec/resources/limits/cpu|/spec/verticalScaling/coordinator/resources/limits/cpu - label: CPU Limits - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/limits/cpu - type: input - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/podTemplate/spec/resources/requests/memory|/spec/verticalScaling/coordinator/resources/requests/memory - label: Memory Requests - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/requests/memory - type: input - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/podTemplate/spec/resources/limits/memory|/spec/verticalScaling/coordinator/resources/limits/memory - label: Memory Limits - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/limits/memory - type: input - label: Coordinator - showLabels: true - type: horizontal-layout if: name: ifRequestTypeEqualsTo|VerticalScaling type: function diff --git a/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml b/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml index ba2ed10334..53585680ee 100644 --- a/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml +++ b/charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml @@ -180,34 +180,6 @@ step: type: block-layout label: PerconaXtraDB Vertical Scaling type: block-layout - - elements: - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/resources/requests/cpu|/spec/verticalScaling/coordinator/resources/requests/cpu - label: CPU Requests - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/requests/cpu - type: input - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/resources/limits/cpu|/spec/verticalScaling/coordinator/resources/limits/cpu - label: CPU Limits - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/limits/cpu - type: input - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/resources/requests/memory|/spec/verticalScaling/coordinator/resources/requests/memory - label: Memory Requests - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/requests/memory - type: input - - init: - type: func - value: setValueFromDbDetails|/spec/coordinator/resources/limits/memory|/spec/verticalScaling/coordinator/resources/limits/memory - label: Memory Limits - schema: schema/properties/spec/properties/verticalScaling/properties/coordinator/properties/resources/properties/limits/memory - type: input - label: Coordinator - showLabels: true - type: horizontal-layout - elements: - elements: - init: