fix(platform,dashboard): wire OpenSearch into PaaS bundle and form overrides - #2649
Conversation
…errides
The opensearch chart, operator chart, ApplicationDefinition and
PackageSources have shipped in the repo since the original OpenSearch
series, but the PaaS bundle template never references the
opensearch-operator / opensearch-application PackageSources. On isp-*
variants with bundles.paas.enabled=true, neither the operator nor the
ApplicationDefinition is ever installed, so the dashboard catalog has
no OpenSearch entry and tenants cannot create
opensearches.apps.cozystack.io resources.
This patch:
- adds opensearch-operator and opensearch-application to the PaaS
bundle template, alongside every other DB app
- adds OpenSearch to the StorageClass listInput override case in
customformsoverride.go (with matching test entry), so the form's
storageClass field renders as a StorageClass dropdown in the
release-1.3 (legacy openapi-ui) dashboard, matching every other
DB app
Note: only the bundle half is needed on main (release-1.4) because the
new cozystack-ui derives the StorageClass widget client-side from the
schema and ignores CustomFormsOverride; this combined patch targets
release-1.3 directly.
Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request ensures that OpenSearch is properly integrated into the PaaS bundle and the dashboard UI for the 1.3 release. By including the necessary operator and application definitions in the bundle and updating the form override logic, it resolves issues where OpenSearch was previously unavailable in the dashboard catalog and lacked proper UI rendering for storage configuration. Highlights
New Features🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on Gemini (@gemini-code-assist) comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces support for OpenSearch by adding it to the dashboard's storage class override logic and including the OpenSearch operator and application in the PaaS bundle. A review comment suggests sorting the operator list in the PaaS bundle alphabetically in a future refactor to improve consistency and maintainability.
| {{include "cozystack.platform.package.default" (list "cozystack.rabbitmq-operator" $) }} | ||
| {{include "cozystack.platform.package.default" (list "cozystack.redis-operator" $) }} | ||
| {{include "cozystack.platform.package.default" (list "cozystack.mongodb-operator" $) }} | ||
| {{include "cozystack.platform.package.default" (list "cozystack.opensearch-operator" $) }} |
There was a problem hiding this comment.
There was a problem hiding this comment.
The operator block in this bundle file has historically been kept in append-order (new operators added at the bottom), while the application block is alphabetical — this is the established convention across the file. Adding opensearch-operator at the end of the operator block matches that convention, and opensearch-application is inserted in the correct alphabetical position. I do not think resorting is warranted here: it would create churn across unrelated bundle entries on a release-1.3 patch backport and risks breaking diff tooling and reviewers that have memorized the current ordering. Keeping the operator block append-ordered is the intentional choice, not a deficiency to defer.
Adds the missing entry for #2649 (OpenSearch wired into PaaS bundle, plus StorageClass dropdown override for the legacy 1.3 openapi-ui dashboard), corrects six website-PR author attributions against gh pr view, picks up two website docs PRs merged just before the v1.3.4 cut (cozystack/website#536 and #538), updates the contributors list, and refreshes the date to today. Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
What this PR does
This is the release-1.3 counterpart of #2648.
OpenSearch has shipped as a complete package set in 1.3 —
packages/apps/opensearch/,packages/system/opensearch-operator/,packages/system/opensearch-rd/, plus thecozystack.opensearch-*PackageSources — but the PaaS bundle template never references the OpenSearch PackageSources. On any cluster withbundles.paas.enabled=true:opensearch-operatoris not deployed → noOpenSearchClusterCRD on clusteropensearch-rdrelease is not deployed → noApplicationDefinition/opensearch→ the dashboard catalog has no OpenSearch entry and tenants cannot createopensearches.apps.cozystack.ioTwo changes in this PR:
packages/core/platform/templates/bundles/paas.yaml— addcozystack.opensearch-operatorandcozystack.opensearch-applicationto the bundle, matching every other DB application.internal/controller/dashboard/customformsoverride.go+ test — addOpenSearchto the StorageClass listInput override case so the create-formstorageClassfield renders as a dropdown in the legacy openapi-ui that ships with 1.3. (The new cozystack-ui in 1.4 derives this widget client-side from the schema, so the form-override change is not needed on main — see fix(platform): add OpenSearch to PaaS bundle #2648.)Release note