datastore featureform update with versions - #1147
Draft
SamiulSourav wants to merge 17 commits into
Draft
Conversation
SamiulSourav
marked this pull request as ready for review
August 25, 2026 06:17
SamiulSourav
force-pushed
the
sam-db
branch
2 times, most recently
from
August 27, 2026 11:32
dafb844 to
67e3179
Compare
ProductLine: ACE Release: v2026.9.11 Release-tracker: appscode-cloud/CHANGELOG#78 Signed-off-by: 1gtm <1gtm@appscode.com>
…Telemetry Stack sidebar (#1126) * Redesign kubedb-ui-presets options with a sidebar layout The preset editor was one long page of nested accordions, so reaching a single setting meant scrolling past every other group. Move the four option groups into the sidebar-layout the TelemetryStack editor already uses: the group headings become sidebar sections, each block becomes its own page, and the databases sit nested under "Configure Databases". Every form, field, schema path and function is carried over untouched. The only per-block change is dropping hideBlock, which used to collapse the accordion by default and makes no sense now that a block owns the whole page. The catalog loader stays on a wrapper around the database pages so FetchAllDbVersions still runs once. isActivePage() reads the page the sidebar wrote to the discriminator, same as the TelemetryStack wizard. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Polish the kubedb-ui-presets sidebar Every page holds one card whose header just repeats the row you clicked, and it was collapsible, so a single click emptied the page. fixedBlock keeps the card as the page heading and drops the toggle. Dropped the rail's own "KubeDB Presets / Configuration" title. The breadcrumb and the H1 above it already say that, and the ~56px it took pushed the first nav row well below the first card. Icons on all 51 rows, keyed by hugeicons name. The databases are grouped by what the engine actually is - analytics, search, cache, broker, vector, proxy - rather than 30 copies of one glyph, so the list stays scannable when it is expanded. Section headings get none on purpose: an icon there shifts the heading text 22px right and eats the indent that separates it from its own rows, which is why TelemetryStack has none either. No schema paths, fields, loaders, watchers or functions were touched. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Keep the preset sidebar labels on one line Both of these ran past the rail and wrapped. "specifics" reads as filler on a section header that already sits under a Monitoring & Backups group, and MachineProfiles is the part of the row that matters. Signed-off-by: Sourav Roy <souravroy@appscode.com> * hideOptions true for some sidebar Signed-off-by: Sourav Roy <souravroy@appscode.com> * Add Basic Info page with release name and namespace The TelemetryStack sidebar had no inputs for the release name or namespace, so every stack was created as telemetry-stack/monitoring. The master create form exposes both, and metadata.release.name/namespace already exist in the options schema, so only the UI was missing. Add a Basic Info page holding both inputs and land on it by default. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Add query frontend replicas to the TelemetryStack options schema create-ui.yaml already rendered a Frontend Replicas input bound to spec.metrics.thanos.query.queryFrontend.replicas, but that path existed in neither the schema nor values.yaml, so the input had no type and no seed. The cluster-ui master form sends queryFrontend.replicas on every create. Mirror the CRD's int32 type and seed the same default of 1. Left out of the required list to match master, where the input carries no required rule. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Seed the TelemetryStack wizard with cluster-ui master's defaults An untouched sidebar form submitted different values than the cluster-ui master create form, because the two seed their fields from different places: master from its initialValues literal, the sidebar from this values.yaml. Blank the retention rows, drop the ingester TSDB retention to 3h and pre-fill the receive router's external labels, so a form nobody edits produces the same payload master does. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Match the cluster-ui form's fields and validation The wizard accepted input the cluster-ui create form rejects: malformed durations and storage quantities, replication factors outside 1/3/5, half-filled certificate refs and volume rows, and a blank release name. It also had one Storage Class dropdown where the form has three, so a topology component could not be placed on its own class. Port every validator from that form, wiring the per-row rules to the array elements since a field validator never sees its own row index, and give the cluster and keeper their own Storage Class. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Render the ClickHouse deployment mode as a radio group cluster-ui master presents the logs ClickHouse deployment mode as two described radio cards on their own row, above Version. The options chart had it as a bare select squeezed into the Version / Deletion Policy row, so the two modes carried no explanation and read as a minor setting rather than the topology choice it is. Give it its own full-width radio element with master's wording for both options. The schema path and the enum values are unchanged, so isClusterTopology|logs and the generated payload behave exactly as before. Signed-off-by: Sourav Roy <souravroy@appscode.com> * Make Telemetry Stack Additional Volumes/Volume Mounts single-instance Additional Volumes and Additional Volume Mounts were array-object-form (repeatable, arbitrary rows), but master only ever configures one of each. Rework as single, non-repeatable blocks bound to scratch temp/additionalVolume(Mount) fields, synced into the real (still array-shaped, per values.openapiv3_schema.yaml) additionalConfig fields via a functions.js watcher - so the stored/submitted value stays a 0-or-1-element array while the UI never offers an Add button. Mount Name/Mount Path are derived (disabled) from the Volume's Name/Path, matching master's read-only behavior. Layout matches master: Volume Type row, then Name + ConfigMap/Secret Name row, then Key + Path + Mode row. Signed-off-by: Sourav Roy <souravroy@appscode.com> * set real schema to additional config Signed-off-by: Sourav Roy <souravroy@appscode.com> * fix validation issue Signed-off-by: Sourav Roy <souravroy@appscode.com> * fix all issues Signed-off-by: Sourav Roy <souravroy@appscode.com> * fixes rest of issues given by rafi vai Signed-off-by: Sourav Roy <souravroy@appscode.com> * fix nodeselector value Signed-off-by: Sourav Roy <souravroy@appscode.com> * remove function Signed-off-by: Sourav Roy <souravroy@appscode.com> * Always configure ClickHouse for logs in Telemetry Stack ClickHouse is the only backend available under LOGS, so the enable/disable switch was redundant. Remove the switch block along with the pillarStatus and isPillarEnabled helpers and the guards that depended on them, so the ClickHouse form is always shown. spec.logs.enabled stays true from values.yaml, keeping the rendered payload unchanged. Replace the placeholder circle icons in the sidebar with existing icons from the form-builder registry: chart-column for Thanos and database for ClickHouse. Add mb-16 to the Deployment Mode radio to separate it from the Version and Deletion Policy row. Signed-off-by: Sourav Roy <souravroy@appscode.com> * fix(telemetrystack): drop the sidebar rail's side padding The console page that hosts this wizard already pads its container (pl-20 pr-20), so the rail's own 16px side padding stacked on top of it and pushed the nav items off the page gutter. Zero the rail padding for this wizard only; every other sidebar keeps the form-builder default. Needs form-builder's customClass-on-rail change to take effect. Signed-off-by: Sourav Roy <souravroy@appscode.com> * fix margin Signed-off-by: Sourav Roy <souravroy@appscode.com> * fix(telemetrystack): match master's storageclasses request getStorageClasses sent a `filter` query param and was wired as a per-field loader, so all three Storage Class selects fetched separately and switching to Cluster Topology refetched the list twice. cluster-ui master fetches storageclasses once on mount with no query params and shares the result across its three dropdowns. Drop the filter param and memoize the promise per owner/cluster so the wizard issues the identical request, exactly once. --------- Signed-off-by: Sourav Roy <souravroy@appscode.com>
* redesign ui interaction in reconfigure ops Signed-off-by: shofiq <shofiq@appscode.com> * update by latest form builder schema Signed-off-by: shofiq <shofiq@appscode.com> * fix eidtor pennel rendering in remove config Signed-off-by: shofiq <shofiq@appscode.com> * fix newly created secret's toast message Signed-off-by: shofiq <shofiq@appscode.com> * add directive info message at apply config editor bottom Signed-off-by: shofiq <shofiq@appscode.com> * fix singlestore reconfig issues in multi mode Signed-off-by: shofiq <shofiq@appscode.com> --------- Signed-off-by: shofiq <shofiq@appscode.com>
Signed-off-by: topoti <topoti@appscode.com>
Signed-off-by: samiul <samiul@appscode.com>
* scaling warning Signed-off-by: samiul <samiul@appscode.com> * cleanup Signed-off-by: samiul <samiul@appscode.com> * all dbs Signed-off-by: samiul <samiul@appscode.com> --------- Signed-off-by: samiul <samiul@appscode.com>
Thanos and ClickHouse are the only providers offered on their sections, so the tag adds noise and crowds the row against the page error indicator. Signed-off-by: Sourav Roy <souravroy@appscode.com> Co-authored-by: Sourav Roy <bishworup11ai@gmail.com>
Signed-off-by: Samiul <samiul@appscode.com>
Signed-off-by: Samiul <samiul@appscode.com>
Signed-off-by: Samiul <samiul@appscode.com>
Signed-off-by: Samiul <samiul@appscode.com>
Signed-off-by: Samiul <samiul@appscode.com>
SamiulSourav
marked this pull request as draft
September 7, 2026 04:40
ArnobKumarSaha
force-pushed
the
master
branch
2 times, most recently
from
September 7, 2026 04:51
c04edf8 to
1765e49
Compare
# Conflicts: # charts/kubedbcom-milvus-editor/Chart.yaml # charts/monitoringk8sappscodecom-telemetrystack-editor-options/README.md # charts/monitoringk8sappscodecom-telemetrystack-editor-options/ui/create-ui.yaml # charts/opskubedbcom-cassandraopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-clickhouseopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-documentdbopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-druidopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-elasticsearchopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-hanadbopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-hazelcastopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-igniteopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-kafkaopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-mariadbopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-memcachedopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-milvusopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-mongodbopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-mssqlserveropsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-mysqlopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-neo4jopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-oracleopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-perconaxtradbopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-pgbounceropsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-pgpoolopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-postgresopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-qdrantopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-rabbitmqopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-redisopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-singlestoreopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-solropsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-weaviateopsrequest-editor/ui/create-ui.yaml # charts/opskubedbcom-zookeeperopsrequest-editor/ui/create-ui.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.