Skip to content

fix(platform,dashboard): wire OpenSearch into PaaS bundle and form overrides - #2649

Merged
myasnikovdaniil merged 1 commit into
release-1.3from
fix/opensearch-bundle-wiring-1.3
May 19, 2026
Merged

fix(platform,dashboard): wire OpenSearch into PaaS bundle and form overrides#2649
myasnikovdaniil merged 1 commit into
release-1.3from
fix/opensearch-bundle-wiring-1.3

Conversation

@myasnikovdaniil

Copy link
Copy Markdown
Contributor

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 the cozystack.opensearch-* PackageSources — but the PaaS bundle template never references the OpenSearch PackageSources. On any cluster with bundles.paas.enabled=true:

  • opensearch-operator is not deployed → no OpenSearchCluster CRD on cluster
  • opensearch-rd release is not deployed → no ApplicationDefinition/opensearch → the dashboard catalog has no OpenSearch entry and tenants cannot create opensearches.apps.cozystack.io

Two changes in this PR:

  1. packages/core/platform/templates/bundles/paas.yaml — add cozystack.opensearch-operator and cozystack.opensearch-application to the bundle, matching every other DB application.
  2. internal/controller/dashboard/customformsoverride.go + test — add OpenSearch to the StorageClass listInput override case so the create-form storageClass field 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

Fix: OpenSearch is now installed by the PaaS bundle (`bundles.paas.enabled=true`); previously the operator and ApplicationDefinition were defined but never referenced from the bundle, so OpenSearch did not appear in the dashboard catalog. The StorageClass field in the OpenSearch create form now renders as a dropdown.

…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>
@coderabbitai

coderabbitai Bot commented May 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b63c43cb-2183-4229-a1ab-6125593e3600

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/opensearch-bundle-wiring-1.3

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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

  • PaaS Bundle Integration: Added cozystack.opensearch-operator and cozystack.opensearch-application to the PaaS bundle template to ensure OpenSearch is correctly deployed when bundles.paas.enabled is set to true.
  • Dashboard UI Override: Updated the custom form overrides to include OpenSearch, ensuring the storageClass field renders as a dropdown in the legacy openapi-ui.
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 Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment Gemini (@gemini-code-assist) Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions github-actions Bot added area/dashboard Issues or PRs related to the dashboard / UI area/platform Issues or PRs related to platform infrastructure (bundle, flux, talos, installer) kind/bug Categorizes issue or PR as related to a bug size/XS This PR changes 0-9 lines, ignoring generated files labels May 14, 2026
@dosubot dosubot Bot added the backport Should change be backported on previous release label May 14, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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" $) }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low

The operator list in this bundle is currently not sorted alphabetically, unlike the application list below. While this follows the existing pattern in this file, consider sorting the operator block in a future refactor to improve maintainability and consistency.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@myasnikovdaniil
myasnikovdaniil merged commit 9182c01 into release-1.3 May 19, 2026
14 of 15 checks passed
@myasnikovdaniil
myasnikovdaniil deleted the fix/opensearch-bundle-wiring-1.3 branch May 19, 2026 10:27
myasnikovdaniil added a commit that referenced this pull request May 19, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dashboard Issues or PRs related to the dashboard / UI area/platform Issues or PRs related to platform infrastructure (bundle, flux, talos, installer) backport Should change be backported on previous release kind/bug Categorizes issue or PR as related to a bug size/XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants