-
Notifications
You must be signed in to change notification settings - Fork 171
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
Conversation
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
🎊 Navigate the preview: https://68a42989e64f9c5fc1ce2ec5--eclipse-che-docs-pr.netlify.app 🎊 |
+ | ||
[bash,subs="verbatim",options="nowrap"] | ||
---- | ||
git clone https://github.com/svor/openvsx.git && |
There was a problem hiding this comment.
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]. |
There was a problem hiding this comment.
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.
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a small tweak
modules/administration-guide/pages/running-the-open-vsx-on-premises.adoc
Outdated
Show resolved
Hide resolved
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
…mises.adoc Co-authored-by: Jana Vrbkova <jvrbkova@redhat.com>
@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. |
There was a problem hiding this 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
.../partials/proc_adding-or-removing-extensions-in-the-embedded-open-vsx-registry-instance.adoc
Outdated
Show resolved
Hide resolved
modules/administration-guide/pages/running-the-open-vsx-on-premises.adoc
Outdated
Show resolved
Hide resolved
…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>
modules/administration-guide/examples/snip_che-deploy-open-vsx-using-oc.adoc
Outdated
Show resolved
Hide resolved
. 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}" |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
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
modules/administration-guide/examples/snip_che-deploy-open-vsx-using-oc.adoc
Show resolved
Hide resolved
. 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] | ||
==== |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
…-using-oc.adoc Co-authored-by: Ilya Buziuk <ibuziuk@redhat.com>
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
[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 - | ||
---- |
There was a problem hiding this comment.
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
[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}' | ||
---- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we should write a bit about openVSXURL
property, or at least point to / cross-link https://eclipse.dev/che/docs/stable/administration-guide/extensions-for-microsoft-visual-studio-code-open-source/#selecting-an-open-vsx-registry-instance
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oc patch checluster "${CHECLUSTER_NAME}" --type=merge --patch "${PATCH}" -n "${CHECLUSTER_NAMESPACE}" | ||
---- | ||
|
||
. Publish Visual Studio Code extensions with the `ovsx` command. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.. 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) | ||
---- |
There was a problem hiding this comment.
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 🤷
There was a problem hiding this comment.
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:

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)
==== | ||
|
||
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" | ||
---- |
There was a problem hiding this comment.
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

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
related PR to Eclipse Open VSX: eclipse/openvsx#1312 |
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
* feat: add docs about Open VSX on-premises Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
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
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.
Validate language on files added or modified
step reports no vale warnings.