Skip to content

procedures: Add docs about Open VSX on-premises #2947

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Aug 19, 2025
Merged

Conversation

svor
Copy link
Contributor

@svor svor commented Aug 8, 2025

What does this pull request change?

Introduces the documentation about Open VSX On-Premises. How to configure it and use with Eclipse Che.
The documentation provides two possible ways to set up Open VSX: using Eclipse Che or oc tool

screenshot-docs_google_com-2025_08_12-12_08_13

What issues does this pull request fix or reference?

https://issues.redhat.com/browse/CRW-9245

Specify the version of the product this pull request applies to

Che 7.107.0
DS 3.23.0

Pull Request checklist

The author and the reviewers validate the content of this pull request with the following checklist, in addition to the automated tests.

  • Any procedure:
    • Successfully tested.
  • Any page or link rename:
    • The page contains a redirection for the previous URL.
    • Propagate the URL change in:
  • Builds on Eclipse Che hosted by Red Hat.
  • the Validate language on files added or modified step reports no vale warnings.

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
@svor svor self-assigned this Aug 8, 2025
@svor svor requested review from deerskindoll and a team as code owners August 8, 2025 12:55
@svor svor requested a review from azatsarynnyy August 8, 2025 12:55
Copy link

github-actions bot commented Aug 8, 2025

🎊 Navigate the preview: https://68a42989e64f9c5fc1ce2ec5--eclipse-che-docs-pr.netlify.app 🎊

Copy link

github-actions bot commented Aug 8, 2025

Click here to review and test in web IDE: Contribute

+
[bash,subs="verbatim",options="nowrap"]
----
git clone https://github.com/svor/openvsx.git &&
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This link will be updated once the instructions have been reviewed and validated.


. Start a workspace using the Open VSX repository.
+
Create a workspace using the following link:https://github.com/svor/openvsx/tree/sv-update-os-deployment[Eclipse Open VSX repository].
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This link will be updated once the instructions have been reviewed and validated.

svor added 2 commits August 8, 2025 13:16
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
Copy link
Contributor

@deerskindoll deerskindoll left a comment

Choose a reason for hiding this comment

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

a small tweak

svor and others added 2 commits August 12, 2025 08:58
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
…mises.adoc

Co-authored-by: Jana Vrbkova <jvrbkova@redhat.com>
@svor
Copy link
Contributor Author

svor commented Aug 12, 2025

@svor
Copy link
Contributor Author

svor commented Aug 12, 2025

@ibuziuk could you take a look please. If the current workflow is acceptable, I’ll open a pull request to the upstream OpenVSX project from https://github.com/svor/openvsx/tree/sv-update-os-deployment.

@svor svor requested a review from ibuziuk August 12, 2025 09:54
Copy link
Contributor

@deerskindoll deerskindoll left a comment

Choose a reason for hiding this comment

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

a couple of more tweaks

svor and others added 2 commits August 12, 2025 14:45
…extensions-in-the-embedded-open-vsx-registry-instance.adoc

Co-authored-by: Jana Vrbkova <jvrbkova@redhat.com>
…mises.adoc

Co-authored-by: Jana Vrbkova <jvrbkova@redhat.com>
Comment on lines +32 to +45
. Prepare Open VSX server image.
+
The next step is to build and publish the Open VSX server image. To do this, run the following commands:
+
[bash,subs="verbatim",options="nowrap"]
----
export REGISTRY=quay.io &&
export NAMESPACE=myuser &&
export OPENVSX_SERVER_IMAGE_NAME=openvsx-server &&
export OPENVSX_VERSION=v0.27.0 &&
export OPENVSX_SERVER_IMAGE=${REGISTRY}/${NAMESPACE}/${OPENVSX_SERVER_IMAGE_NAME}:${OPENVSX_VERSION} &&
podman build -t "${OPENVSX_SERVER_IMAGE}" --build-arg "OPENVSX_VERSION=${OPENVSX_VERSION}" -f openvsx.Dockerfile . &&
podman login "${REGISTRY}" &&
podman push "${OPENVSX_SERVER_IMAGE}"
Copy link
Member

Choose a reason for hiding this comment

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

those intrustions will be upstream-only right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right. For downstream, there’s no need to build an image - the one built by Konflux will be used. Here’s the appropriate documentation for downstream: https://gitlab.cee.redhat.com/red-hat-developers-documentation/devspaces-documentation/-/merge_requests/131/diffs#ac357933a4d4693b96c1ee65e6657831686a2e76_0_1

Copy link
Member

@ibuziuk ibuziuk Aug 18, 2025

Choose a reason for hiding this comment

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

verified on Developer Sandbox / workspaces.openshift.com

Screenshot 2025-08-18 at 12 50 32

Copy link
Member

Choose a reason for hiding this comment

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

@svor that's a separate discussion, but I do believe in the blog post we should showcase the workspaces.openshift.com for build / deploy / update flow

Comment on lines 55 to 68
. Prepare Open VSX CLI image.
+
Build and publish the Open VSX CLI image. To do this, run the following commands:
+
[bash,subs="verbatim",options="nowrap"]
----
export OPENVSX_CLI_IMAGE_NAME=openvsx-cli
export OPENVSX_CLI_IMAGE=${REGISTRY}/${NAMESPACE}/${OPENVSX_CLI_IMAGE_NAME} &&
podman build -t "${OPENVSX_CLI_IMAGE}" -f cli.Dockerfile . &&
podman push "${OPENVSX_CLI_IMAGE}"
----
+
[IMPORTANT]
====
Copy link
Member

Choose a reason for hiding this comment

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

wondering if we should publish an image on https://quay.io/ as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do you mean whether we need to publish the cli.Dockerfile, or are you asking if we should have prebuilt images for the OpenVSX CLI and OpenVSX available in the registry to avoid manual build/publish steps?

  • Yes we need to publish images OpenVSX CLI and OpenVSX on the registry to reuse them when deploying OpneVSX
  • For now, I wouldn’t publish these images ourselves (maybe need another issue for that, but for now I think we should be good with the current instructions)

Copy link
Member

Choose a reason for hiding this comment

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

@svor is it expected that cli would be tagged as latest unlike server?

openshift (sv-update-os-deployment) $ podman images
REPOSITORY                                         TAG              IMAGE ID      CREATED         SIZE
quay.io/ibuziuk/openvsx-cli                        latest           773693613f90  42 seconds ago  493 MB
quay.io/ibuziuk/openvsx-server                     v0.27.0          aad2c97f3413  3 minutes ago   815 MB
<none>                                             <none>           27da0b2d0568  4 minutes ago   1.05 GB
ghcr.io/eclipse/openvsx-server                     v0.27.0          d1c3bf2d33e7  5 weeks ago     809 MB
registry.access.redhat.com/ubi9                    9.5-1730489303   a60dfdf85e5e  9 months ago    235 MB
registry.access.redhat.com/ubi9/nodejs-20-minimal  1-63.1725851021  4c40309014ae  11 months ago   210 MB

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It should not affect anything, but it's better to have a tag. So, I've added tag for cli image as well

svor and others added 2 commits August 15, 2025 14:32
…-using-oc.adoc

Co-authored-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
Comment on lines +76 to +82
[bash,subs="verbatim",options="nowrap"]
----
oc process -f openvsx-deployment.yml \
-p OPENVSX_SERVER_IMAGE="${OPENVSX_SERVER_IMAGE}" \
-p OPENVSX_CLI_IMAGE="${OPENVSX_CLI_IMAGE}" \
| oc apply -f -
----
Copy link
Member

Choose a reason for hiding this comment

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

verified:

namespace/openvsx configured
persistentvolumeclaim/postgres-pvc created
deployment.apps/postgresql created
service/postgresql created
deployment.apps/elasticsearch created
service/elasticsearch created
persistentvolumeclaim/extensions-pvc created
deployment.apps/openvsx-server created
service/openvsx-server created
route.route.openshift.io/internal created
secret/github-oauth created
secret/ovsx-pat created
deployment.apps/ovsx-cli created

Comment on lines +86 to +90
[bash,subs="verbatim",options="nowrap"]
----
oc get pods -n openvsx \
-o jsonpath='{range .items[*]}{@.metadata.name}{"\t"}{@.status.phase}{"\t"}{.status.containerStatuses[*].ready}{"\n"}{end}'
----
Copy link
Member

Choose a reason for hiding this comment

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

nice, verified via UI as well:

Screenshot 2025-08-18 at 13 00 06

"psql -d openvsx -c \"INSERT INTO personal_access_token (id, user_data, value, active, created_timestamp, accessed_timestamp, description) VALUES (1001, 1001, 'eclipse_che_token', true, current_timestamp, current_timestamp, 'extensions publisher');\""
----

. Configure {prod-short} to use the internal Open VSX.
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added:

screenshot-gitlab_cee_redhat_com-2025_08_18-15_15_42

oc patch checluster "${CHECLUSTER_NAME}" --type=merge --patch "${PATCH}" -n "${CHECLUSTER_NAMESPACE}"
----

. Publish Visual Studio Code extensions with the `ovsx` command.
Copy link
Member

Choose a reason for hiding this comment

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

Maybe we should clarify that by default the registry is empty and has no extensions:

Screenshot 2025-08-18 at 13 05 46

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added:

screenshot-mail_google_com-2025_08_18-15_02_13

Comment on lines +135 to +140
.. Retrieve the name of the pod running the Open VSX server:
+
[bash,subs="verbatim",options="nowrap"]
----
export OVSX_POD_NAME=$(oc get pods -n openvsx -o jsonpath="{.items[*].metadata.name}" | tr ' ' '\n' | grep ^ovsx-cli)
----
Copy link
Member

Choose a reason for hiding this comment

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

@svor looks like actual instructions for publication are missing 🤷

Copy link
Contributor Author

@svor svor Aug 18, 2025

Choose a reason for hiding this comment

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

@ibuziuk they are located in the main page running-the-open-vsx-on-premises.adoc. If you open https://68a328670f7a316b3a3187ca--eclipse-che-docs-pr.netlify.app/docs/next/administration-guide/running-the-open-vsx-on-premises/#_using_openshift_cli_oc_tool and find step number 9, you should see instructions:

screenshot-gitlab_cee_redhat_com-2025_08_18-15_04_26

These instructions are identical for upstream and downstream that's why they are not in snip_che-deploy-open-vsx-using-oc.adoc snippet (which is upstream specific only)

Comment on lines +104 to +113
====

Example: Publish the `redhat.vscode-yaml` extension version 1.18.0:
[bash,subs="verbatim",options="nowrap"]
----
oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "wget -O /tmp/extension.vsix https://open-vsx.org/api/redhat/vscode-yaml/1.18.0/file/redhat.vscode-yaml-1.18.0.vsix " &&
oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "ovsx create-namespace redhat" || true &&
oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "ovsx publish /tmp/extension.vsix" &&
oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "rm /tmp/extension.vsix"
----
Copy link
Member

Choose a reason for hiding this comment

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

verified on developer sandbox:

2025-08-18 11:10:42 (2.69 MB/s) - '/tmp/extension.vsix' saved [1435588/1435588]

openshift (sv-update-os-deployment) $ oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "ovsx create-namespace redhat" || true &&
> oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "ovsx publish /tmp/extension.vsix" &&
> oc exec -n openvsx "${OVSX_POD_NAME}" -- bash -c "rm /tmp/extension.vsix"
 
🚀  Created namespace redhat
Screenshot 2025-08-18 at 13 11 35

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
@svor
Copy link
Contributor Author

svor commented Aug 18, 2025

related PR to Eclipse Open VSX: eclipse/openvsx#1312

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
@svor svor merged commit 846676e into eclipse-che:main Aug 19, 2025
6 checks passed
svor added a commit to svor/che-docs that referenced this pull request Aug 19, 2025
* feat: add docs about Open VSX on-premises

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
svor added a commit that referenced this pull request Aug 19, 2025
* feat: add docs about Open VSX on-premises

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants