Skip to content

Conversation

@RomanNikitenko
Copy link
Member

@RomanNikitenko RomanNikitenko commented Jan 16, 2026

What does this pull request change?

Adds instructions how to manage extension installation in Code - OSS

Click here to see screenshots image image image image image image image

Apply editor configurations changes:

image

What issues does this pull request fix or reference?

Che-Code PRs:

Specify the version of the product this pull request applies to

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.

Assisted-by: Cursor AI

@github-actions
Copy link

github-actions bot commented Jan 16, 2026

🎊 Navigate the preview: https://697215c2787245315e3aae8b--eclipse-che-docs-pr.netlify.app 🎊

@github-actions
Copy link

github-actions bot commented Jan 16, 2026

Click here to review and test in web IDE: Contribute

@RomanNikitenko RomanNikitenko changed the title docs: Manage extension installation with ConfigMap procedures: Manage extension installation with ConfigMap Jan 16, 2026
@RomanNikitenko RomanNikitenko changed the title procedures: Manage extension installation with ConfigMap procedures: Manage extension installation in Code - OSS with ConfigMap Jan 16, 2026
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Assisted-by: Cursor AI
@RomanNikitenko RomanNikitenko force-pushed the manage-extension-installation branch from 2505174 to a17f233 Compare January 16, 2026 17:14
@RomanNikitenko RomanNikitenko marked this pull request as ready for review January 16, 2026 17:33
@RomanNikitenko RomanNikitenko requested review from a team and deerskindoll as code owners January 16, 2026 17:33
Copy link
Contributor

@rgrunber rgrunber left a comment

Choose a reason for hiding this comment

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

Overall, looks good. I would maybe consider giving an example that demonstrates how to completely disable extensions from being installed as this may be fairly common. Specifically, it should include :

"AllowedExtensions": {
  "*": false
}

If not, then it should be clear that the above block is just as important as the other 3 booleans in blocking extension installation.

One last thing to consider is it seems I needed to add some annotations to get things working if I didn't wish to apply the configmap to the eclipse-che namespace (ie. only apply it to my user's namespace). Might be good to document this.

* BlockCliExtensionsInstallation property - when enabled, blocks installation of extensions via CLI
* BlockDefaultExtensionsInstallation property - when enabled, blocks installation of default extensions, see xref:default-extensions-for-microsoft-visual-studio-code.adoc[]
* BlockInstallFromVSIXCommandExtensionsInstallation property - when enabled, blocks installation of extensions via the workbench.extensions.command.installFromVSIX API command
* AllowedExtensions section - provides fine-grained control over Code - OSS extension installation. For conceptual background, see link:https://code.visualstudio.com/docs/setup/enterprise#_configure-allowed-extensions/[Configure allowed extensions].
Copy link
Contributor

Choose a reason for hiding this comment

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

It might be useful to clarify that it seems this setting also serves as a restriction on extension activation. For example, in the case we discussed where someone could just insert an extension at /checode/remote/extensions/ and update the extensions.json file there, the extension does get installed, but this property blocks the activation :

Screenshot From 2026-01-20 12-18-13

Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
Assisted-by: Cursor AI
@RomanNikitenko
Copy link
Member Author

RomanNikitenko commented Jan 21, 2026

@rgrunber
thank you very much for your review!

I tried to apply all your comments, please take a look at the last commit to check if everything looks good!
thanks!


update: I also updated screenshots in the PR description.

Copy link
Contributor

@rgrunber rgrunber left a comment

Choose a reason for hiding this comment

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

Overall, I think we are fine to merge. Just one minor point in the comments.

…figMap

Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
controller.devfile.io/mount-as: file
controller.devfile.io/mount-path: /checode-config
controller.devfile.io/read-only: 'true'
Copy link
Member Author

Choose a reason for hiding this comment

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

I've added these annotations to get policy.json section as a file on file system
@tolusha is it OK from your point of view?

tbh, I thought these annotations are added automatically to the corresponding ConfigMap in user namespace
but it is not true, many thanks to @rgrunber for thorough testing!

Copy link
Contributor

Choose a reason for hiding this comment

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

Hello.

Only the following labels added automatically, but not annotations:

  • controller.devfile.io/mount-to-devworkspace
  • controller.devfile.io/watch-configmap

It is better to use controller.devfile.io/mount-as: subpath otherwise you will override the /checode-config directory completely.

Copy link
Member Author

Choose a reason for hiding this comment

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

thank you!
updated 5940b0d

apiVersion: v1
metadata:
name: vscode-editor-configurations
namespace: eclipse-che
Copy link
Member Author

Choose a reason for hiding this comment

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

it's not possible to use {prod-namespace} here instead of eclipse-che
is there any other way to do it?
otherwise we need to replace the value manually for the downstream

Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
@RomanNikitenko RomanNikitenko merged commit e8d4cfc into eclipse-che:main Jan 22, 2026
6 checks passed
@RomanNikitenko RomanNikitenko deleted the manage-extension-installation branch January 22, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants