You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support configurationSnippets via values
- Add `ingress.instances.configurationSnippets` to allow custom nginx configuration snippets.
- Move `ingress.instanceName` to `ingress.instances.name`.
- Move `ingress.proxyBodySize` to `ingress.instances.proxyBodySize`.
- Move `ingress.allWildcardSecretNames` to `ingress.instances.allWildcardSecretNames`.
Add formatter settings for json & yaml
Set settings for EOL to LF
Add task to regenerate READMEs
Co-authored-by: Lucas Koehler <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,11 @@
2
2
3
3
## [0.12.0] - estimated 2024-10
4
4
5
+
-[theia-cloud] move `ingress.instanceName` to `ingress.instances.name`[#76](https://github.com/eclipsesource/theia-cloud-helm/pull/76)
6
+
-[theia-cloud] move `ingress.proxyBodySize` to `ingress.instances.proxyBodySize`[#76](https://github.com/eclipsesource/theia-cloud-helm/pull/76)
7
+
-[theia-cloud] move `ingress.allWildcardSecretNames` to `ingress.instances.allWildcardSecretNames`[#76](https://github.com/eclipsesource/theia-cloud-helm/pull/76)
8
+
-[theia-cloud] Add `ingress.instances.configurationSnippets` to values which allows to set nginx configurations via the `nginx.ingress.kubernetes.io/configuration-snippet` annotation [#76](https://github.com/eclipsesource/theia-cloud-helm/pull/76)
9
+
5
10
## [0.11.0] - 2024-07-23
6
11
7
12
-[theia-cloud-crds] Add option field to CRDs and increase version to `Session.v1beta8`, `Workspace.v1beta5` and `AppDefinition.v1beta10`[#55](https://github.com/eclipsesource/theia-cloud-helm/pull/55) | [#293](https://github.com/eclipsesource/theia-cloud/pull/293)
Copy file name to clipboardExpand all lines: README.md
+17-6
Original file line number
Diff line number
Diff line change
@@ -4,18 +4,27 @@ This repository contains the helm charts for Theia Cloud.
4
4
5
5
There are three charts:
6
6
7
-
*`theia-cloud-base` installs cluster wide resources that may be used by multiple Theia Cloud installations
8
-
*`theia-cloud-crds` installs the custom resource definitions
9
-
*`theia-cloud` installs Theia Cloud itself and depends on `theia-cloud-base` and `theia-cloud-crds`
7
+
-`theia-cloud-base` installs cluster wide resources that may be used by multiple Theia Cloud installations
8
+
-`theia-cloud-crds` installs the custom resource definitions
9
+
-`theia-cloud` installs Theia Cloud itself and depends on `theia-cloud-base` and `theia-cloud-crds`
10
10
11
11
## Cluster Prerequisites
12
+
12
13
The charts depend on well-established software in the Kubernetes ecosystem. Please make sure to install the dependencies before releasing with _helm_.
13
14
14
-
***cert-manager.io** is used for certificate management, supports internal/testing issuers and supports Let's Encrypt certificates. Installation instructions can be found [here](https://cert-manager.io), a helm chart [here](https://cert-manager.io/docs/installation/helm/).
15
+
-**cert-manager.io** is used for certificate management, supports internal/testing issuers and supports Let's Encrypt certificates. Installation instructions can be found [here](https://cert-manager.io), a helm chart [here](https://cert-manager.io/docs/installation/helm/).
16
+
17
+
-**ingress-nginx** is used to performantly assemble _nginx_ configuration files and synchronizes changes. Learn more about it [here](https://kubernetes.github.io/ingress-nginx/).
15
18
16
-
***ingress-nginx** is used to performantly assemble _nginx_ configuration files and synchronizes changes. Learn more about it [here](https://kubernetes.github.io/ingress-nginx/).
19
+
**Note:** Since ingress-nginx version 1.10 , the annotation `nginx.ingress.kubernetes.io/configuration-snippet` is disabled by default and needs to be enabled.
20
+
To enable this option, you need to set the flag `allow-snippet-annotations: "true"` in the ingress-nginx values.
17
21
18
-
You can find more information in the official [Theia Cloud documentation](https://theia-cloud.io/documentation/setuptheiacloud/).
22
+
```sh
23
+
kubectl -n ingress-nginx patch cm ingress-nginx-controller --patch '{"data":{"allow-snippet-annotations":"true"}}'
24
+
kubectl -n ingress-nginx delete pod -l app.kubernetes.io/name=ingress-nginx
25
+
```
26
+
27
+
You can find more information in the official [Theia Cloud documentation](https://theia-cloud.io/documentation/setuptheiacloud/).
19
28
20
29
## Versioning
21
30
@@ -55,3 +64,5 @@ Furthermore, the new version, together with a release estimation date, should be
| demoApplication.pullSecret | string |`""`| the image pull secret. Leave empty if registry is public |
24
24
| demoApplication.timeout | string |`"30"`| Limit in minutes |
25
25
| hosts | object | (see details below) | You may adjust the hostname below. |
26
-
| hosts.allWildcardInstances | list |`["*.webview."]`| all additional wildcard hostnames that may be required in the launched Theia-applications, e.g. "*.webview." which leads to "*.webview.ws.192.168.39.173.nip.io" to expose webviews. Please note that this means that this usually means that all "ingressHostnamePrefixes" patterns from all app definitions need to be added. IMPORTANT: If this gets updated, the helm chart needs to be re-installed because helm upgrade will not properly update this at the moment. These are required to configure TLS (if enabled via ingress.tls == true) |
26
+
| hosts.allWildcardInstances | list |`[]`| all additional wildcard hostnames that may be required in the launched Theia-applications, e.g. "*.webview." which leads to "*.webview.ws.192.168.39.173.nip.io" to expose webviews. Please note that this means that this usually means that all "ingressHostnamePrefixes" patterns from all app definitions need to be added. IMPORTANT: If this gets updated, the helm chart needs to be re-installed because helm upgrade will not properly update this at the moment. These are required to configure TLS (if enabled via ingress.tls == true) I.e. custom certificates or a cert-manager provider that can handle wildcard certificates need to be configured.|
27
27
| hosts.configuration | object | (see details below) | Configuration for the hostnames. Contains the baseHost and afixes for all services |
28
-
| hosts.configuration.baseHost | string |`"192.168.39.173.nip.io"`| baseHost configures the host for all services. Depending on hosts.usePaths the services will be prepended as a subdomain or appended as a path |
28
+
| hosts.configuration.baseHost | string |`"192.168.39.173.nip.io"`| baseHost configures the host for all services. Depending on hosts.usePaths the services will be prepended as a subdomain or appended as a path |
29
29
| hosts.configuration.instance | string |`"instances"`| afix for deployed instances |
30
30
| hosts.configuration.landing | string |`"trynow"`| afix of the landing page |
31
31
| hosts.configuration.service | string |`"servicex"`| afix of the REST service |
32
32
| hosts.usePaths | bool |`false`| Use paths configures that all services should run on the same host but on different paths. true uses paths false uses an explicit host for each service |
33
33
| imagePullPolicy | string |`"Always"`| The default imagePullPolicy for containers of theia cloud. Can be overridden for individual components by specifying the imagePullPolicy variable there. Possible values: - Always - IfNotPresent - Never |
34
34
| ingress | object | (see details below) | Values to influence the ingresses |
35
35
| ingress.addTLSSecretName | bool |`true`| whether the default Theia Cloud tls secret names should be used. If false no tls secret name will be set on the ingress only needed when ingress.tls == true |
36
-
| ingress.allWildcardSecretNames | object |`{}`| All additional wildcard hostnames and the respective TLS secret names. Use this for wildcard hostnames that should use a TLS certificate with a `secretName` different from the default one. Only accepts wildcard hostnames that are configured in `hosts.allWildcardInstances`. |
37
36
| ingress.certManagerAnnotations | bool |`true`| When set to true the cert-manager.io annotations will be set. Only used when ingress.addTLSSecretName === true When false certificate management is handled outside of Theia Cloud. |
38
37
| ingress.clusterIssuer | string |`"letsencrypt-prod"`| The cluster issuer to use Only needed when ingress.certManagerAnnotations is true |
39
-
| ingress.instanceName | string |`"theia-cloud-demo-ws-ingress"`| The name of the ingress which will be updated to publish new theia application. If this is not existing it will be created. You may chose to set the ingress up yourself and point Theia Cloud to the ingress via the name |
40
-
| ingress.proxyBodySize | string |`"1m"`| Sets the maximum allowed size of the client request body inside the application (e.g. file uploads in Theia). Defaults to 1m. Setting size to 0 disables checking of client request body size. |
38
+
| ingress.instances | object |`{"allWildcardSecretNames":{},"configurationSnippets":["proxy_set_header 'X-Forwarded-Uri' $request_uri"],"name":"theia-cloud-demo-ws-ingress","proxyBodySize":"1m"}`| Values to influence the instances ingress |
39
+
| ingress.instances.allWildcardSecretNames | object |`{}`| All additional wildcard hostnames and the respective TLS secret names. Use this for wildcard hostnames that should use a TLS certificate with a `secretName` different from the default one. Only accepts wildcard hostnames that are configured in `hosts.allWildcardInstances`. |
40
+
| ingress.instances.configurationSnippets | list |`["proxy_set_header 'X-Forwarded-Uri' $request_uri"]`| Additional configuration to the ingress configuration via the `nginx.ingress.kubernetes.io/configuration-snippet` annotation. One entry in this array results in a line for the annotation. Do not add a semicolon at the end of the line here, it is automatically added. Note: Since ingress-nginx version 1.10 this annotation needs to be enabled. See [this README](../../README.md#cluster-prerequisites) for more information. |
41
+
| ingress.instances.name | string |`"theia-cloud-demo-ws-ingress"`| The name of the ingress which will be updated to publish new theia application. If this is not existing it will be created. You may chose to set the ingress up yourself and point Theia Cloud to the ingress via the name |
42
+
| ingress.instances.proxyBodySize | string |`"1m"`| Sets the maximum allowed size of the client request body inside the application (e.g. file uploads in Theia). Defaults to 1m. Setting size to 0 disables checking of client request body size. |
41
43
| ingress.theiaCloudCommonName | bool |`false`| When set to true the cert-manager.io/common-name annotation will be set. This is only required when the issued certificate by the cert-manager misses a common-name Only needed when ingress.certManagerAnnotations is true |
42
44
| ingress.tls | bool |`true`| Does Theia Cloud expect TLS connections (true) or is TLS terminated outside of Theia Cloud (e.g. via a Load Balancer) (false) |
43
45
| issuer | object | (see details below) | Values related to certificates/Cert-manager |
@@ -80,7 +82,7 @@ A Helm chart for Theia Cloud
80
82
| operator.logging | object | (see details below) | Allows to override the operator's log4j configuration |
81
83
| operator.maxWatchIdleTime | string |`"3600000"`| Configures the timeout in milliseconds when a watcher for either AppDefinitions, Workspaces, or Sessions is assumed to be not working. When this is detected the operator instance will stop and a new operator will set up fresh watchers. |
82
84
| operator.oAuth2ProxyVersion | string |`"v7.5.1"`| The version to use of the quay.io/oauth2-proxy/oauth2-proxy image |
83
-
| operator.replicas | int |`2`| Number of operator instances to create |
85
+
| operator.replicas | int |`1`| Number of operator instances to create |
84
86
| operator.requestedStorage | string |`"250Mi"`| The amount of requested storage for each persistent volume claim (PVC) for workspaces. This is directly passed to created PVCs and must be a valid Kubernetes quantity. See https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/|
85
87
| operator.sessionsPerUser | string |`"1"`| Set the number of active sessions a single user can launch |
86
88
| operator.storageClassName | string |`"default"`| The name of the storage class for persistent volume claims for workspaces. This storage class must be present on the cluster. Most cloud providers offer a default storage class without additional configuration. |
0 commit comments