Description
Hello!
We're trying to leverage code-marketplace so that users can install vetted extensions in our locked down environment but are running into an issue when testing installing extensions from the deployed code-marketplace pod. As the title states, we are oddly able to install vim but nothing else
Setup
Code-Marketplace
Deployed code-marketplace in our internal k8s cluster using the helm chart.
For the ingress and TLS, our cluster uses Istio to handle that and as such is secured by mTLS, so in the deployed chart there is no tls
block in the Ingress
CRD.
Additionally, to minimize variables we have added the extensions to code-marketplace using by modifying the code-marketplace
dockerfile to
wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.3/vim-1.27.3.vsix && \
/opt/code-marketplace add vim-1.27.3.vsix --extensions-dir /extensions
Code-server leveraging code-marketplace
We have code-server v4.17.0 running in a jupyter notebook and have the environment variable of EXTENSIONS_GALLERY
set to that https ingress host.
Network Policies + PeerAuthentication
Just for testing, I have tried adding blanket allow-all ingress and egress network policies on all the related namespaces; which would be the namespaces that have the code-server deployment, the code-marketplace service, as well as our namespace that has the Istio gateways
as that's how the request is routed when we use the Ingress.
We have also added PeerAuthentication
to the code-marketplace to allow the mTLS traffic.
Behaviour
Similar to #39, we are able to view the extensions that exist on our code-marketplace deployment, and see the extension's URL
And weirdly enough, we are able to install the vim extension, but only vim
The output log gives
2024-08-13 09:28:51.548 [info] Getting Manifest... vscodevim.vim
2024-08-13 09:28:51.589 [info] Installing extension: vscodevim.vim
2024-08-13 09:28:52.058 [warning] Error while fetching extension resources list JSON.parse: unexpected character at line 1 column 1 of the JSON data
2024-08-13 09:28:52.212 [info] Extension installed successfully: vscodevim.vim
2024-08-13 09:29:16.938 [info] Uninstalling extension from the profile: [email protected] vscode-remote:/home/jovyan/.local/share/code-server/User/extensions.json
2024-08-13 09:29:17.081 [info] Successfully uninstalled extension from the profile [email protected] vscode-remote:/home/jovyan/.local/share/code-server/User/extensions.json
Whereas attempting to install anything else gives
2024-08-13 09:29:25.870 [error] Error: read ECONNRESET
at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20)
2024-08-13 09:29:25.872 [error] read ECONNRESET: Error: read ECONNRESET
at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20)
and the "attempt to download manually" page of https://....ca/api/publishers/ms-toolsai/vsextensions/jupyter/2024.4.0/vspackage
leads to a 404 Not Found
(vim also leads to 404 if url is changed)
When I exec into the code-marketplace
pod I can see all the extensions under /extensions
.
Any insight would be greatly appreciated!