From cba4c886649acc634cc3ad3f3fe33571fe8af894 Mon Sep 17 00:00:00 2001 From: Valerii Svydenko Date: Mon, 21 Sep 2026 13:19:10 +0300 Subject: [PATCH 1/6] docs: add extension auto-update CronJob documentation Co-Authored-By: Claude Opus 4.6 Signed-off-by: Valerii Svydenko --- ...nabling-the-managed-open-vsx-registry.adoc | 82 ++++++++++++++++++- 1 file changed, 80 insertions(+), 2 deletions(-) diff --git a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc index 88410dfb81..d54f4fafe5 100644 --- a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc +++ b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc @@ -1,6 +1,6 @@ :_content-type: PROCEDURE -:description: Enable the Operator-managed Open VSX registry to deploy a dedicated Open VSX server and PostgreSQL database as {prod} operands -:keywords: administration guide, openvsx, registry, extensions, managed, operator +:description: Enable the Operator-managed Open VSX registry to deploy a dedicated Open VSX server and PostgreSQL database as {prod} operands, and configure periodic extension auto-update +:keywords: administration guide, openvsx, registry, extensions, managed, operator, auto-update, cronjob :navtitle: Enable the managed Open VSX registry [id="enabling-the-managed-open-vsx-registry"] @@ -20,6 +20,7 @@ When enabled, the {prod-short} Operator creates the following resources: * A PostgreSQL database `Deployment` with a `PersistentVolumeClaim` for data. * A one-shot `Job` to provision the database with the required user and access token. * A `ConfigMap` for listing extensions to publish to the registry. +* Optionally, a `CronJob` for periodic auto-update of published extensions from the upstream registry. When disabled, the Operator removes all managed Open VSX resources. @@ -107,6 +108,76 @@ where `____` is the required storage size. For example: `5Gi`. + The Operator automatically runs a publishing `Job` when the `ConfigMap` content changes. +. Optional: Enable periodic auto-update of published extensions. When enabled, a `CronJob` periodically checks the upstream `open-vsx.org` registry for newer versions of extensions published in the managed registry and re-publishes them automatically. ++ +[source,shell,subs="+quotes,+attributes,+macros"] +---- +{orch-cli} patch checluster {prod-checluster} \ + --namespace {prod-namespace} \ + --type merge \ + --patch '{ + "spec": { + "components": { + "openVSXRegistry": { + "extensionAutoUpdate": { + "enabled": true + } + } + } + } + }' +---- ++ +By default, the auto-update job runs weekly on Sunday at midnight (schedule: `0 0 * * 0`). ++ +The following optional fields are available under `spec.components.openVSXRegistry.extensionAutoUpdate`: ++ +[cols="1,1,2", options="header"] +|=== +| Field | Default | Description + +| `enabled` +| `false` +| Enables the extension auto-update `CronJob`. + +| `schedule` +| `0 0 * * 0` +| Cron schedule expression for the update job. + +| `vsCodeEngineVersion` +| _not set_ +| When set, only extensions compatible with this VS Code engine version are updated. When omitted, the latest non-pre-release version of each extension is used regardless of engine compatibility. + +| `excludeExtensions` +| _empty_ +| List of extension IDs to skip during auto-update, in `namespace/name` format. For example: `redhat/java`, `redhat/vscode-xml`. +|=== ++ +To customize the schedule and filter options: ++ +[source,shell,subs="+quotes,+attributes,+macros"] +---- +{orch-cli} patch checluster {prod-checluster} \ + --namespace {prod-namespace} \ + --type merge \ + --patch '{ + "spec": { + "components": { + "openVSXRegistry": { + "extensionAutoUpdate": { + "enabled": true, + "schedule": "____", + "vsCodeEngineVersion": "____", + "excludeExtensions": ["____"] + } + } + } + } + }' +---- ++ +NOTE: The cluster must have outbound HTTPS access to `open-vsx.org` for the auto-update job to fetch newer extension versions. + .Verification * Verify that the Open VSX server and database pods are running: @@ -128,6 +199,13 @@ The Operator automatically runs a publishing `Job` when the `ConfigMap` content * Open a workspace and verify that extensions from the managed registry are available in the *Extensions* view. +* If extension auto-update is enabled, verify that the `CronJob` exists: ++ +[source,shell,subs="+quotes,+attributes,+macros"] +---- +{orch-cli} get cronjob --namespace {prod-namespace} -l app.kubernetes.io/component=openvsx-server-extensions-update +---- + [id="configuring-custom-credentials-for-the-managed-open-vsx-registry"] == Configure custom credentials for the managed Open VSX registry From ab2eb835db425a1650a46df522cb8fd6454e4897 Mon Sep 17 00:00:00 2001 From: Valerii Svydenko Date: Mon, 21 Sep 2026 13:32:39 +0300 Subject: [PATCH 2/6] fix: expand "VS Code" to "Visual Studio Code" to pass Vale check Co-Authored-By: Claude Opus 4.6 Signed-off-by: Valerii Svydenko --- .../pages/enabling-the-managed-open-vsx-registry.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc index d54f4fafe5..fa776e4d24 100644 --- a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc +++ b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc @@ -146,7 +146,7 @@ The following optional fields are available under `spec.components.openVSXRegist | `vsCodeEngineVersion` | _not set_ -| When set, only extensions compatible with this VS Code engine version are updated. When omitted, the latest non-pre-release version of each extension is used regardless of engine compatibility. +| When set, only extensions compatible with this Visual Studio Code engine version are updated. When omitted, the latest non-pre-release version of each extension is used regardless of engine compatibility. | `excludeExtensions` | _empty_ From bc352df45b17c8527f830f69940e0c6928f3a85b Mon Sep 17 00:00:00 2001 From: Valerii Svydenko Date: Tue, 22 Sep 2026 20:06:37 +0300 Subject: [PATCH 3/6] fix: correct extension ID format and field name in auto-update docs Co-Authored-By: Claude Opus 4.6 Signed-off-by: Valerii Svydenko --- .../pages/enabling-the-managed-open-vsx-registry.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc index fa776e4d24..78412dd820 100644 --- a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc +++ b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc @@ -150,7 +150,7 @@ The following optional fields are available under `spec.components.openVSXRegist | `excludeExtensions` | _empty_ -| List of extension IDs to skip during auto-update, in `namespace/name` format. For example: `redhat/java`, `redhat/vscode-xml`. +| List of extension IDs to skip during auto-update, in `namespace.name` format. For example: `redhat.java`, `redhat.vscode-xml`. |=== + To customize the schedule and filter options: @@ -168,7 +168,7 @@ To customize the schedule and filter options: "enabled": true, "schedule": "____", "vsCodeEngineVersion": "____", - "excludeExtensions": ["____"] + "excludedExtensions": ["____"] } } } From 1acef118c58af867c5511970eafb61c35d050036 Mon Sep 17 00:00:00 2001 From: Valerii Svydenko Date: Tue, 22 Sep 2026 20:19:44 +0300 Subject: [PATCH 4/6] fix: rename `enabled` field to `enable` in extension auto-update config Co-Authored-By: Claude Opus 4.6 --- .../pages/enabling-the-managed-open-vsx-registry.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc index 78412dd820..6604f3625b 100644 --- a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc +++ b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc @@ -120,7 +120,7 @@ The Operator automatically runs a publishing `Job` when the `ConfigMap` content "components": { "openVSXRegistry": { "extensionAutoUpdate": { - "enabled": true + "enable": true } } } @@ -136,7 +136,7 @@ The following optional fields are available under `spec.components.openVSXRegist |=== | Field | Default | Description -| `enabled` +| `enable` | `false` | Enables the extension auto-update `CronJob`. @@ -165,7 +165,7 @@ To customize the schedule and filter options: "components": { "openVSXRegistry": { "extensionAutoUpdate": { - "enabled": true, + "enable": true, "schedule": "____", "vsCodeEngineVersion": "____", "excludedExtensions": ["____"] From a0984e65fb7e40b135f371e48d68f4e78ac1032d Mon Sep 17 00:00:00 2001 From: Valerii Svydenko Date: Thu, 24 Sep 2026 13:14:55 +0300 Subject: [PATCH 5/6] address comments Signed-off-by: Valerii Svydenko --- .../pages/enabling-the-managed-open-vsx-registry.adoc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc index 6604f3625b..2b12b61d51 100644 --- a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc +++ b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc @@ -20,7 +20,7 @@ When enabled, the {prod-short} Operator creates the following resources: * A PostgreSQL database `Deployment` with a `PersistentVolumeClaim` for data. * A one-shot `Job` to provision the database with the required user and access token. * A `ConfigMap` for listing extensions to publish to the registry. -* Optionally, a `CronJob` for periodic auto-update of published extensions from the upstream registry. +* Optional: A `CronJob` for periodic auto-update of published extensions from the upstream registry. When disabled, the Operator removes all managed Open VSX resources. @@ -28,6 +28,8 @@ When disabled, the Operator removes all managed Open VSX resources. * An active `{orch-cli}` session with administrative permissions to the destination {orch-name} cluster. See {orch-cli-link}. +* Outbound HTTPS access from the cluster to `open-vsx.org` is available. This is required for the extension auto-update `CronJob` to fetch newer extension versions from the upstream registry. + .Procedure . Enable the managed Open VSX registry by patching the `CheCluster` custom resource: @@ -148,7 +150,7 @@ The following optional fields are available under `spec.components.openVSXRegist | _not set_ | When set, only extensions compatible with this Visual Studio Code engine version are updated. When omitted, the latest non-pre-release version of each extension is used regardless of engine compatibility. -| `excludeExtensions` +| `excludedExtensions` | _empty_ | List of extension IDs to skip during auto-update, in `namespace.name` format. For example: `redhat.java`, `redhat.vscode-xml`. |=== @@ -176,7 +178,10 @@ To customize the schedule and filter options: }' ---- + -NOTE: The cluster must have outbound HTTPS access to `open-vsx.org` for the auto-update job to fetch newer extension versions. +[NOTE] +==== +The cluster must have outbound HTTPS access to `open-vsx.org` for the auto-update job to fetch newer extension versions. +==== .Verification From 97f31a00a6b6981179491b61f40c7d7e0a6b3097 Mon Sep 17 00:00:00 2001 From: Valerii Svydenko Date: Thu, 24 Sep 2026 13:44:23 +0300 Subject: [PATCH 6/6] split enable auto update and customize fields Signed-off-by: Valerii Svydenko --- .../enabling-the-managed-open-vsx-registry.adoc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc index 2b12b61d51..6cf0af7351 100644 --- a/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc +++ b/modules/administration-guide/pages/enabling-the-managed-open-vsx-registry.adoc @@ -132,7 +132,12 @@ The Operator automatically runs a publishing `Job` when the `ConfigMap` content + By default, the auto-update job runs weekly on Sunday at midnight (schedule: `0 0 * * 0`). + -The following optional fields are available under `spec.components.openVSXRegistry.extensionAutoUpdate`: +[NOTE] +==== +The cluster must have outbound HTTPS access to `open-vsx.org` for the auto-update job to fetch newer extension versions. +==== + +. Optional: Customize the auto-update schedule and filters. The following fields are available under `spec.components.openVSXRegistry.extensionAutoUpdate`: + [cols="1,1,2", options="header"] |=== @@ -155,8 +160,6 @@ The following optional fields are available under `spec.components.openVSXRegist | List of extension IDs to skip during auto-update, in `namespace.name` format. For example: `redhat.java`, `redhat.vscode-xml`. |=== + -To customize the schedule and filter options: -+ [source,shell,subs="+quotes,+attributes,+macros"] ---- {orch-cli} patch checluster {prod-checluster} \ @@ -177,11 +180,6 @@ To customize the schedule and filter options: } }' ---- -+ -[NOTE] -==== -The cluster must have outbound HTTPS access to `open-vsx.org` for the auto-update job to fetch newer extension versions. -==== .Verification