feat: Manage OpenVSX as Che operand#2130
Draft
svor wants to merge 73 commits into
Draft
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: svor The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Contributor
|
Hi! I'm che-ai-assistant — I help with your pull requests. Available commands:
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Closed
5 tasks
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
tolusha
reviewed
Jun 8, 2026
Co-authored-by: Anatolii Bazko <abazko@redhat.com>
When OpenVSX.Enable=true, the managed operand provides the registry. Disable the embedded OpenVSX in the plugin registry and override the dashboard's OpenVSX URL with Status.OpenVSXURL. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename secret keys to be more descriptive (e.g. user→db-user, userPAT→publisher-token). Add OpenVSXSecret field to allow users to provide their own credentials secret. Make JDBC database name configurable via PGDATABASE env var instead of hardcoded value. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The cached client only tracks operator-managed secrets, so user-created secrets were not visible during reconciliation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace shell variable interpolation with psql -v variables and heredoc input to prevent SQL injection from user-provided secret values. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
…2151) * Route OpenVSX through the Che gateway instead of a dedicated Ingress Replace the dedicated Ingress/Route (openvsx-<cheHost>) with a Traefik gateway path (<cheHost>/openvsx), eliminating the extra DNS record and TLS certificate per deployment. Use Spring Boot server.servlet.context-path so the server natively serves under /openvsx without StripPrefix. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Set resource limits for the OpenVSX publisher job pod The publisher container had no resource requests or limits, which could lead to scheduling issues and OOM kills when uploading large VSIXes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Enable forward-headers-strategy for OpenVSX behind Traefik Spring Boot needs to process X-Forwarded-Proto/Host headers from the reverse proxy so API response URLs use the correct external scheme and host instead of internal http://host:8080. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Update CSV bundle version to 7.120.0-1030.next Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Reset reconciler state on disable and revert publisher resource limits Reset databaseProvisioned and extensionsVersion flags when the OpenVSX operand is disabled, so that re-enabling properly re-runs provisioning jobs. Remove explicit resource limits from the publisher job pod. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: Prevent publisher Job failures from timing and label conflicts - Add isServerReady() guard to ensure the publisher Job is only created after the OpenVSX server deployment has available replicas - Use distinct labels for publisher Job pods so the openvsx-server Service does not route traffic to non-server pods - Move syncOpenVSXURLStatus before extensions sync to match the old reconciler ordering Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update openvsx server expose Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com> * update openvsx to v1.0.1 Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com> * Log error on legacy Ingress cleanup instead of discarding it Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix build Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com> * Remove unnecessary legacy Ingress cleanup There was no prior Ingress-based OpenVSX deployment to migrate from. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com>
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.
What does this PR do?
enabled via
spec.components.openVSX.enableand Kubernetes
openvsx-extensionsConfigMapspec.components.openVSX.server.claimSize)openvsx-server-configConfigMap user-editable with automatic pod rollout onchanges
New CRD fields
spec.components.openVSX.enable— enables the OpenVSX operand (default is false)spec.components.openVSX.server.claimSize— PVC size for extension storage (default:3Gi)
spec.components.openVSX.server.deployment— deployment overridesspec.components.openVSX.database.claimSize— PVC size for PostgreSQL data (default:1Gi)
spec.components.openVSX.database.deployment— deployment overridesstatus.openVSXURL— URL of the managed OpenVSX instanceResources created when enabled
(extensions list)
All resources are cleaned up when
openVSX.enableis set to false.Screenshot/screencast of this PR
What issues does this PR fix or reference?
https://issues.redhat.com/browse/CRW-10323
How to test this PR?
OpenShift
or
on Minikube
Common Test Scenarios
openvsx-extensionsConfigMapopenvsx-server-configConfigMap and verify pod rolloutclaimSizeand verify expansionPR Checklist
As the author of this Pull Request I made sure that:
Reviewers
Reviewers, please comment how you tested the PR when approving it.