Merged
Conversation
9f32268 to
b74af2b
Compare
54d619a to
a6bf31e
Compare
* add ingressHostnamePrefixes to AppDefinition * update ingress rules with additional values from ingressHostnamePrefixes
a6bf31e to
581cf55
Compare
sgraband
approved these changes
Jun 12, 2024
Contributor
sgraband
left a comment
There was a problem hiding this comment.
Works great! I have a few comments on the helm changes, but this LGTM 👍
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.tlsSecretNamevalue, which allows to provide fitting certificates via the secrets for each ingress (manually if needed).This + the
ingress.certManagerAnnotationsallows 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
Check out this branch and https://github.com/eclipsesource/theia-cloud-helm/pull/57
Build the docker images
Local Testing / Sub Domain Based Theia Cloud
kubectl get secret theia-cloud-ca-key-pair -n cert-manager -o jsonpath='{.data.tls\.crt}' | base64 --decode > ca.crtTest that the
hosts.paths.tlsSecretNameandingress.certManagerAnnotationsare working. With these options all use cases should be possible, since we may provide own tls secrets (without cert-manager if required)Testing paths can be done like this (it's a bit messy, since multiple ingresses requests certs for the base domain, and I think the keycloak one wins, since it's the first one. However for the webviews the right cert is used so that it can be tested. )
set { name = "hosts.paths.tlsSecretName" value = true }kubectl get secret theia-cloud-ca-key-pair -n cert-manager -o jsonpath='{.data.tls\.crt}' | base64 --decode > ca.crtFor more testing see this WIP documentation about custom certificates and how to create wildcard certificates with Let's encrypt manually: eclipsesource/theia-cloud-website#32 https://deploy-preview-32--theia-cloud.netlify.app/documentation/moredocumentation/#custom-certificates