eclipse-theia / theia-cloud

Eclipse Public License 2.0
61 stars 34 forks source link

Add WebView Support #296 #298

Closed jfaltermeier closed 4 months ago

jfaltermeier commented 6 months ago

also see https://github.com/eclipsesource/theia-cloud-helm/pull/57

Closes #296

Testing is easiest with the sub domain based Theia Cloud version, since this one generates all certificates itself.

Our path based minikube test version is configured to reuse the same certificate as generated for keycloak. We added the hosts.paths.tlsSecretName value, which allows to provide fitting certificates via the secrets for each ingress (manually if needed). This + the ingress.certManagerAnnotations allows the user to specify the certificates on a (remote) cluster, even without the cert manager.

For getting wildcard certificates from cert-manager we need to configure a DNS01 challenge: https://cert-manager.io/docs/configuration/acme/dns01/ Depending on the DNS provider this requires different configuration, so we cannot really provide a default here.

In the short run being able to provide the tls cert via a secret should be enough to get it working on all providers. In the long run we have to extend our documentation and maybe the helm values/templates as we learn more about how people want to configure this.

Testing instructions:

WebView VSIX can be created with these two projects: WebView Sample: https://github.com/microsoft/vscode-extension-samples/tree/main/webview-sample WebView based EDitor Sample: https://github.com/microsoft/vscode-extension-samples/tree/main/custom-editor-sample

For more testing see this WIP documentation about custom certificates and how to create wildcard certificates with Let's encrypt manually: https://github.com/eclipsesource/theia-cloud-website/pull/32 https://deploy-preview-32--theia-cloud.netlify.app/documentation/moredocumentation/#custom-certificates