Skip to content

Commit f9a5720

Browse files
committed
Merge remote-tracking branch 'upstream/main' into feature/merge-upstream-2025-04-07
2 parents 07553e6 + 55813e2 commit f9a5720

File tree

254 files changed

+29587
-3275
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

254 files changed

+29587
-3275
lines changed

.dockerignore

+5
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,10 @@ node/**/node_modules/
1010
node/**/build/
1111
node/**/dist/
1212

13+
theia/**/node_modules/
14+
theia/**/lib/
15+
theia/**/src-gen/
16+
theia/**/gen-webpack.*.js
17+
1318
# Java build artifacts
1419
java/**/target/

.github/ISSUE_TEMPLATE/bug_report.yml

+30-30
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
name: Bug Report
22
description: Create a bug report to help us improve
3-
labels: bug
3+
labels: ["bug"]
44
body:
5-
- type: markdown
6-
attributes:
7-
value: |
8-
This template is not meant for security vulnerabilities disclosure. Any such issue, created in this repo, will be deleted on sight.
9-
Instead, please report vulnerabilities to [[email protected]](mailto:[email protected]). For more details, please read [SECURITY.md](https://github.com/eclipsesource/theia-cloud/blob/main/SECURITY.md) in the repository root.
10-
- type: textarea
11-
validations:
12-
required: true
13-
attributes:
14-
label: Describe the bug
15-
description: A clear and concise description of what the bug is.
16-
- type: textarea
17-
validations:
18-
required: true
19-
attributes:
20-
label: Expected behavior
21-
description: A clear and concise description of what you expected to happen.
22-
- type: input
23-
attributes:
24-
label: Cluster provider
25-
description: The cluster provider (e.g. Minikube, AWS, GKE, Azure, Docker Desktop). Please include your OS when using a local cluster. If you are using Terraform, please include the configuration files if possible.
26-
- type: input
27-
attributes:
28-
label: Version
29-
description: The used version. Such as the helm chart version or the commit id the bug was discovered on
30-
- type: textarea
31-
attributes:
32-
label: Additional information
33-
description: Additional information to analyze the bug such as logs, screenshots, screencasts.
5+
- type: markdown
6+
attributes:
7+
value: |
8+
This template is not meant for security vulnerabilities disclosure. Any such issue, created in this repo, will be deleted on sight.
9+
Instead, please report vulnerabilities to [[email protected]](mailto:[email protected]). For more details, please read [SECURITY.md](https://github.com/eclipse-theia/theia-cloud/blob/main/SECURITY.md) in the repository root.
10+
- type: textarea
11+
validations:
12+
required: true
13+
attributes:
14+
label: Describe the bug
15+
description: A clear and concise description of what the bug is.
16+
- type: textarea
17+
validations:
18+
required: true
19+
attributes:
20+
label: Expected behavior
21+
description: A clear and concise description of what you expected to happen.
22+
- type: input
23+
attributes:
24+
label: Cluster provider
25+
description: The cluster provider (e.g. Minikube, AWS, GKE, Azure, Docker Desktop). Please include your OS when using a local cluster. If you are using Terraform, please include the configuration files if possible.
26+
- type: input
27+
attributes:
28+
label: Version
29+
description: The used version. Such as the helm chart version or the commit id the bug was discovered on
30+
- type: textarea
31+
attributes:
32+
label: Additional information
33+
description: Additional information to analyze the bug such as logs, screenshots, screencasts.

.github/ISSUE_TEMPLATE/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
blank_issues_enabled: false
22
contact_links:
33
- name: Question
4-
url: https://github.com/eclipsesource/theia-cloud/discussions
4+
url: https://github.com/eclipse-theia/theia-cloud/discussions
55
about: Please ask questions on the Theia Cloud discussions page.
66
- name: Professional support
77
url: https://theia-cloud.io/support/
8-
about: Professional support by EclipseSource
8+
about: Professional support by EclipseSource

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
openapitools.json
44
.DS_Store
55

6-
node_modules
6+
node_modules
7+
node/e2e-tests/test-results/.last-run.json

.vscode/launch.json

+204-3
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,24 @@
22
"version": "0.2.0",
33
"configurations": [
44
{
5+
// This works with terraform config 2-01_try-now
56
"type": "java",
6-
"name": "Debug Default Operator",
7+
"name": "Debug Operator (try-now)",
78
"request": "launch",
89
"cwd": "${workspaceFolder}/java/operator/org.eclipse.theia.cloud.defaultoperator",
910
"mainClass": "org.eclipse.theia.cloud.defaultoperator.DefaultTheiaCloudOperatorLauncher",
1011
"args": [
12+
"--keycloak",
13+
"--keycloakURL",
14+
"https://${input:minikubeIP}.nip.io/keycloak/",
15+
"--keycloakRealm",
16+
"TheiaCloud",
17+
"--keycloakClientId",
18+
"theia-cloud",
1119
"--instancesHost",
12-
"ws.$(minikube.ip).nip.io",
20+
"ws.${input:minikubeIP}.nip.io",
21+
"--serviceUrl",
22+
"https://service.${input:minikubeIP}.nip.io",
1323
"--cloudProvider",
1424
"MINIKUBE",
1525
"--sessionsPerUser",
@@ -19,10 +29,201 @@
1929
"--storageClassName",
2030
"default",
2131
"--requestedStorage",
22-
"250Mi"
32+
"250Mi",
33+
"--bandwidthLimiter",
34+
"WONDERSHAPER",
35+
"--oAuth2ProxyVersion",
36+
"v7.5.1"
2337
],
2438
"vmArgs": "-Dlog4j2.configurationFile=log4j2.xml",
2539
"preLaunchTask": "Build and Install Operator library"
40+
},
41+
{
42+
// This works with terraform config 2-02_monitor with authentication
43+
"type": "java",
44+
"name": "Debug Operator (monitor-auth)",
45+
"request": "launch",
46+
"cwd": "${workspaceFolder}/java/operator/org.eclipse.theia.cloud.defaultoperator",
47+
"mainClass": "org.eclipse.theia.cloud.defaultoperator.DefaultTheiaCloudOperatorLauncher",
48+
"args": [
49+
"--enableMonitor",
50+
"--enableActivityTracker",
51+
"--keycloak",
52+
"--keycloakURL",
53+
"https://${input:minikubeIP}.nip.io/keycloak/",
54+
"--keycloakRealm",
55+
"TheiaCloud",
56+
"--keycloakClientId",
57+
"theia-cloud",
58+
"--instancesHost",
59+
"ws.${input:minikubeIP}.nip.io",
60+
"--serviceUrl",
61+
"https://service.${input:minikubeIP}.nip.io",
62+
"--cloudProvider",
63+
"MINIKUBE",
64+
"--sessionsPerUser",
65+
"3",
66+
"--appId",
67+
"asdfghjkl",
68+
"--storageClassName",
69+
"default",
70+
"--requestedStorage",
71+
"250Mi",
72+
"--bandwidthLimiter",
73+
"WONDERSHAPER",
74+
"--oAuth2ProxyVersion",
75+
"v7.5.1"
76+
],
77+
"vmArgs": "-Dlog4j2.configurationFile=log4j2.xml",
78+
"preLaunchTask": "Build and Install Operator library"
79+
},
80+
{
81+
// This works with terraform config 2-02_monitor with no authentication
82+
"type": "java",
83+
"name": "Debug Operator (monitor-no-auth)",
84+
"request": "launch",
85+
"cwd": "${workspaceFolder}/java/operator/org.eclipse.theia.cloud.defaultoperator",
86+
"mainClass": "org.eclipse.theia.cloud.defaultoperator.DefaultTheiaCloudOperatorLauncher",
87+
"args": [
88+
"--enableMonitor",
89+
"--enableActivityTracker",
90+
"--instancesHost",
91+
"ws.${input:minikubeIP}.nip.io",
92+
"--serviceUrl",
93+
"https://service.${input:minikubeIP}.nip.io",
94+
"--cloudProvider",
95+
"MINIKUBE",
96+
"--sessionsPerUser",
97+
"3",
98+
"--appId",
99+
"asdfghjkl",
100+
"--storageClassName",
101+
"default",
102+
"--requestedStorage",
103+
"250Mi",
104+
"--bandwidthLimiter",
105+
"WONDERSHAPER",
106+
"--oAuth2ProxyVersion",
107+
"v7.5.1"
108+
],
109+
"vmArgs": "-Dlog4j2.configurationFile=log4j2.xml",
110+
"preLaunchTask": "Build and Install Operator library"
111+
},
112+
{
113+
// This works with terraform config 2-03_try-now_paths
114+
"type": "java",
115+
"name": "Debug Operator (try-now-paths)",
116+
"request": "launch",
117+
"cwd": "${workspaceFolder}/java/operator/org.eclipse.theia.cloud.defaultoperator",
118+
"mainClass": "org.eclipse.theia.cloud.defaultoperator.DefaultTheiaCloudOperatorLauncher",
119+
"args": [
120+
"--keycloak",
121+
"--keycloakURL",
122+
"https://${input:minikubeIP}.nip.io/keycloak/",
123+
"--keycloakRealm",
124+
"TheiaCloud",
125+
"--keycloakClientId",
126+
"theia-cloud",
127+
"--usePaths",
128+
"--instancesPath",
129+
"instances",
130+
"--instancesHost",
131+
"${input:minikubeIP}.nip.io",
132+
"--serviceUrl",
133+
"https://${input:minikubeIP}.nip.io/service",
134+
"--cloudProvider",
135+
"MINIKUBE",
136+
"--sessionsPerUser",
137+
"3",
138+
"--appId",
139+
"asdfghjkl",
140+
"--storageClassName",
141+
"default",
142+
"--requestedStorage",
143+
"250Mi",
144+
"--bandwidthLimiter",
145+
"WONDERSHAPER",
146+
"--oAuth2ProxyVersion",
147+
"v7.5.1"
148+
],
149+
"vmArgs": "-Dlog4j2.configurationFile=log4j2.xml",
150+
"preLaunchTask": "Build and Install Operator library"
151+
},
152+
{
153+
// This works with terraform config 2-04_try-now_paths_eager_start
154+
"type": "java",
155+
"name": "Debug Operator (eager start try-now-paths)",
156+
"request": "launch",
157+
"cwd": "${workspaceFolder}/java/operator/org.eclipse.theia.cloud.defaultoperator",
158+
"mainClass": "org.eclipse.theia.cloud.defaultoperator.DefaultTheiaCloudOperatorLauncher",
159+
"args": [
160+
"--keycloak",
161+
"--keycloakURL",
162+
"https://${input:minikubeIP}.nip.io/keycloak/",
163+
"--keycloakRealm",
164+
"TheiaCloud",
165+
"--keycloakClientId",
166+
"theia-cloud",
167+
"--usePaths",
168+
"--instancesPath",
169+
"instances",
170+
"--instancesHost",
171+
"${input:minikubeIP}.nip.io",
172+
"--serviceUrl",
173+
"https://${input:minikubeIP}.nip.io/service",
174+
"--cloudProvider",
175+
"MINIKUBE",
176+
"--sessionsPerUser",
177+
"3",
178+
"--appId",
179+
"asdfghjkl",
180+
"--storageClassName",
181+
"default",
182+
"--requestedStorage",
183+
"250Mi",
184+
"--bandwidthLimiter",
185+
"WONDERSHAPER",
186+
"--oAuth2ProxyVersion",
187+
"v7.5.1",
188+
"--eagerStart"
189+
],
190+
"vmArgs": "-Dlog4j2.configurationFile=log4j2.xml",
191+
"preLaunchTask": "Build and Install Operator library"
192+
},
193+
{
194+
// Attach to the service running (Task: Run Service)
195+
"type": "java",
196+
"name": "Attach to Service",
197+
"request": "attach",
198+
"hostName": "localhost",
199+
"port": 5005
200+
},
201+
{
202+
"type": "node",
203+
"request": "launch",
204+
"name": "Debug Theia Example Browser Backend",
205+
"program": "${workspaceRoot}/theia/examples/browser-app/src-gen/backend/main.js",
206+
"args": ["--loglevel=debug", "--port=3000", "--no-cluster"],
207+
"env": {
208+
"NODE_ENV": "development"
209+
},
210+
"sourceMaps": true,
211+
"outFiles": [
212+
"${workspaceRoot}/theia/node_modules/@theia/*/lib/**/*.js",
213+
"${workspaceRoot}/theia/*/lib/**/*.js",
214+
"${workspaceRoot}/theia/examples/browser-app/src-gen/**/*.js"
215+
],
216+
"smartStep": true,
217+
"internalConsoleOptions": "openOnSessionStart",
218+
"outputCapture": "std"
219+
}
220+
],
221+
"inputs": [
222+
{
223+
"type": "promptString",
224+
"id": "minikubeIP",
225+
"description": "Provide your minikube ip address (execute 'minikube ip').",
226+
"default": "192.168.59.101"
26227
}
27228
]
28229
}

.vscode/tasks.json

+35-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,33 @@
3737
"label": "Run Service",
3838
"type": "shell",
3939
"command": "mvn",
40-
"args": ["compile", "quarkus:dev"],
40+
"args": [
41+
"compile",
42+
"quarkus:dev",
43+
"-Dtheia.cloud.app.id=asdfghjkl",
44+
"-Dquarkus.http.port=8081",
45+
"-Dtheia.cloud.use.keycloak=false"
46+
],
47+
"options": {
48+
"cwd": "${workspaceFolder}/java/service/org.eclipse.theia.cloud.service"
49+
},
50+
"problemMatcher": [],
51+
"dependsOn": "Build and Install Common library"
52+
},
53+
{
54+
"label": "Run Service (with keycloak)",
55+
"type": "shell",
56+
"command": "mvn",
57+
"args": [
58+
"compile",
59+
"quarkus:dev",
60+
"-Dtheia.cloud.app.id=asdfghjkl",
61+
"-Dquarkus.http.port=8081",
62+
"-Dtheia.cloud.use.keycloak=true",
63+
"-Dquarkus.oidc.auth-server-url=${input:keycloakURL}/realms/TheiaCloud",
64+
"-Dquarkus.oidc.client-id=theia-cloud",
65+
"-Dquarkus.oidc.credentials.secret=publicbutoauth2proxywantsasecret"
66+
],
4167
"options": {
4268
"cwd": "${workspaceFolder}/java/service/org.eclipse.theia.cloud.service"
4369
},
@@ -69,5 +95,13 @@
6995
"problemMatcher": [],
7096
"dependsOn": "Build and Install Common library"
7197
}
98+
],
99+
"inputs": [
100+
{
101+
"type": "promptString",
102+
"id": "keycloakURL",
103+
"description": "Provide the keycloak url",
104+
"default": "https://192.168.59.101.nip.io/keycloak"
105+
}
72106
]
73107
}

0 commit comments

Comments
 (0)