diff --git a/README.md b/README.md index 5c452ec8..e34682c1 100644 --- a/README.md +++ b/README.md @@ -100,9 +100,9 @@ helm repo update ```bash helm install theia-cloud-base theia-cloud-remote/theia-cloud-base --set issuer.email=your-mail@example.com -helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theiacloud --create-namespace +helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theia-cloud --create-namespace -helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theiacloud +helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theia-cloud ``` ### Install the current next version @@ -112,21 +112,21 @@ Simply add the `--devel` flag: ```bash helm install theia-cloud-base theia-cloud-remote/theia-cloud-base --set issuer.email=your-mail@example.com --devel -helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theiacloud --create-namespace --devel +helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theia-cloud --create-namespace --devel -helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theiacloud --devel +helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theia-cloud --devel ``` ### Optional: switch to the newly created namespace ```bash -kubectl config set-context --current --namespace=theiacloud +kubectl config set-context --current --namespace=theia-cloud ``` ### Uninstall ```bash -helm uninstall theia-cloud -n theiacloud +helm uninstall theia-cloud -n theia-cloud ``` ### Getting started with diff --git a/demo/dockerfiles/demo-theia-monitor-vscode/Dockerfile b/demo/dockerfiles/demo-theia-monitor-vscode/Dockerfile index e30ca90a..2b4fd889 100644 --- a/demo/dockerfiles/demo-theia-monitor-vscode/Dockerfile +++ b/demo/dockerfiles/demo-theia-monitor-vscode/Dockerfile @@ -2,8 +2,8 @@ FROM node:18-bullseye-slim as build-stage # Copy and unzip the vsix file RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/* -COPY theiacloud-monitor-0.12.0-next.vsix /tmp/theiacloud-monitor.vsix -RUN mkdir /tmp/extracted && unzip /tmp/theiacloud-monitor.vsix -d /tmp/extracted +COPY theia-cloud-monitor-0.12.0-next.vsix /tmp/theia-cloud-monitor.vsix +RUN mkdir /tmp/extracted && unzip /tmp/theia-cloud-monitor.vsix -d /tmp/extracted FROM theiacloud/theia-cloud-demo:0.12.0-next as production-stage diff --git a/demo/dockerfiles/demo-theia-monitor-vscode/theia-cloud-monitor-0.12.0-next.vsix b/demo/dockerfiles/demo-theia-monitor-vscode/theia-cloud-monitor-0.12.0-next.vsix new file mode 100644 index 00000000..e6612cc1 Binary files /dev/null and b/demo/dockerfiles/demo-theia-monitor-vscode/theia-cloud-monitor-0.12.0-next.vsix differ diff --git a/demo/dockerfiles/demo-theia-monitor-vscode/theiacloud-monitor-0.12.0-next.vsix b/demo/dockerfiles/demo-theia-monitor-vscode/theiacloud-monitor-0.12.0-next.vsix deleted file mode 100644 index 579df495..00000000 Binary files a/demo/dockerfiles/demo-theia-monitor-vscode/theiacloud-monitor-0.12.0-next.vsix and /dev/null differ diff --git a/documentation/Architecture.md b/documentation/Architecture.md index 12eb5926..04ea6298 100644 --- a/documentation/Architecture.md +++ b/documentation/Architecture.md @@ -2,7 +2,7 @@ The Theia Cloud Operator listens for changes to custom resources inside the cluster. With those custom resources clients may trigger the creation/deletion/handling of workspaces and sessions. The Operator is responsible for handling all things that are related to the Kubernetes-Resources for workspaces and sessions. All access is authenticated via an Authenticator. -![Theia Cloud Diagram](theiacloud.png "Theia Cloud") +![Theia Cloud Diagram](theia-cloud.png "Theia Cloud") ## Operator Java Overview diff --git a/documentation/Install.md b/documentation/Install.md index 82047ea0..0bf9a8ab 100644 --- a/documentation/Install.md +++ b/documentation/Install.md @@ -76,9 +76,9 @@ helm repo update ```bash helm install theia-cloud-base theia-cloud-remote/theia-cloud-base --set issuer.email=your-mail@example.com -helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theiacloud --create-namespace +helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theia-cloud --create-namespace -helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theiacloud +helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theia-cloud ``` ### Install the current next version @@ -88,31 +88,31 @@ Simply add the `--devel` flag: ```bash helm install theia-cloud-base theia-cloud-remote/theia-cloud-base --set issuer.email=your-mail@example.com --devel -helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theiacloud --create-namespace --devel +helm install theia-cloud-crds theia-cloud-remote/theia-cloud-crds --namespace theia-cloud --create-namespace --devel -helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theiacloud --devel +helm install theia-cloud theia-cloud-remote/theia-cloud --namespace theia-cloud --devel ``` ### Optional: switch to the newly created namespace ```bash -kubectl config set-context --current --namespace=theiacloud +kubectl config set-context --current --namespace=theia-cloud ``` ### Trouble shooting Recreate tls secret for sessions: -`kubectl delete secret ws-cert-secret -n theiacloud` +`kubectl delete secret ws-cert-secret -n theia-cloud` ## Check ```bash -helm get manifest theia-cloud -n theiacloud +helm get manifest theia-cloud -n theia-cloud ``` ## Uninstall ```bash -helm uninstall theia-cloud -n theiacloud +helm uninstall theia-cloud -n theia-cloud ``` diff --git a/documentation/Naming.md b/documentation/Naming.md new file mode 100644 index 00000000..2cdbc1f4 --- /dev/null +++ b/documentation/Naming.md @@ -0,0 +1,48 @@ +# Naming Conventions + +The project name is **Theia Cloud** (with a space), which is a subproject of Eclipse Theia. + +Since various languages and use cases follow different naming conventions, we aim to align with these conventions as closely as possible. + +Below are guidelines for commonly used naming conventions specific to this project. + +## `theia.cloud` + +Use `theia.cloud` in hierarchical structures and identifiers. Examples include: + +- **Java package/jar names**: `org.eclipse.theia.cloud` +- **Java system properties**: `-Dtheia.cloud.app.id=yourAppId` +- **Kubernetes group names/metadata**: `theia.cloud`, `theia.cloud/v1beta9`, `sessions.theia.cloud` +- **Theia command identifiers**: `theia.cloud.monitor.activity.report` + +## `TheiaCloud` / `theiaCloud` + +Use **PascalCase** or **camelCase** for Java/TypeScript class, method, and property names, such as `DefaultTheiaCloudOperatorLauncher` or `window.theiaCloudConfig`. + +This format is also appropriate in contexts where spaces are avoided for technical reasons, such as in **Keycloak Realm** names (e.g., `TheiaCloud`). + +## `theia-cloud` + +This format serves as a preferred technical abbreviation. Use it when no other conventions apply, including: + +- **NPM Package names** +- **File names** +- **k8s namespaces** + +## `THEIACLOUD` + +Use **all uppercase** with underscores for **environment variables**, such as `THEIACLOUD_SESSION_NAME`. + +We can't use `THEIA_CLOUD` because `THEIA_` env variables may get special treatment by Theia itself. + +## Theia Cloud + +In general documentation and free text, use the standard project name **Theia Cloud** (with a space). Avoid spaces in technical contexts. + +## `theia-cloud.io` + +For **Kubernetes labels**, use the project domain as a prefix to custom labels, such as `theia-cloud.io/workspace-name`. + +## Avoid `theiacloud` in Code + +Avoid using the project name without separators or spaces, especially without PascalCase or camelCase. This format is reserved for usernames, such as those on Docker or npm. diff --git a/documentation/operator.graphml b/documentation/operator.graphml index 51eb645d..c3c656e5 100644 --- a/documentation/operator.graphml +++ b/documentation/operator.graphml @@ -21,7 +21,7 @@ - TheiaCloud + Theia Cloud @@ -67,7 +67,7 @@ AppDefinitionAddedHandler - <<interface>> + <<interface>> SessionAddedHandler @@ -98,7 +98,7 @@ SessionAddedHandler - LazyStartSessionAddedHandler + LazyStartSessionAddedHandler @@ -113,7 +113,7 @@ SessionAddedHandler - EagerStartSessionAddedHandler + EagerStartSessionAddedHandler @@ -143,7 +143,7 @@ SessionAddedHandler - We may have different kinds of implementations of the handlers. + We may have different kinds of implementations of the handlers. E.g. we might have handlers that start up unassigned pods already and assign the running pods to a user on session added (EagerStart) Or we could do it Che-like and spin up the pod when a new session is added @@ -174,7 +174,7 @@ IngressCreationService - Listens for app definition/sessions changes + Listens for app definition/sessions changes and delegates to handlers diff --git a/documentation/theiacloud.png b/documentation/theia-cloud.png similarity index 100% rename from documentation/theiacloud.png rename to documentation/theia-cloud.png diff --git a/java/operator/README.md b/java/operator/README.md index 720999b8..f9849178 100644 --- a/java/operator/README.md +++ b/java/operator/README.md @@ -36,7 +36,7 @@ To debug the Default Theia Cloud Operator, follow these steps: minikube ip ``` -_Note_: Ensure your local `kubectl` is set to the correct namespace (e.g., `theiacloud`), as the debuggable operator will interact with your local Kubernetes cluster. +_Note_: Ensure your local `kubectl` is set to the correct namespace (e.g., `theia-cloud`), as the debuggable operator will interact with your local Kubernetes cluster. ### Theia Cloud Operator Library diff --git a/java/operator/org.eclipse.theia.cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/handler/appdef/EagerStartAppDefinitionAddedHandler.java b/java/operator/org.eclipse.theia.cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/handler/appdef/EagerStartAppDefinitionAddedHandler.java index c0e7efef..fed9a707 100644 --- a/java/operator/org.eclipse.theia.cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/handler/appdef/EagerStartAppDefinitionAddedHandler.java +++ b/java/operator/org.eclipse.theia.cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/handler/appdef/EagerStartAppDefinitionAddedHandler.java @@ -57,7 +57,7 @@ public class EagerStartAppDefinitionAddedHandler implements AppDefinitionHandler private static final Logger LOGGER = LogManager.getLogger(EagerStartAppDefinitionAddedHandler.class); - public static final String LABEL_KEY = "theiacloud"; + public static final String LABEL_KEY = "theia-cloud.io/template-purpose"; public static final String LABEL_VALUE_PROXY = "proxy"; public static final String LABEL_VALUE_EMAILS = "emails"; diff --git a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmap.yaml b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmap.yaml index 8070abba..4936c928 100644 --- a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmap.yaml +++ b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmap.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: placeholder-configname labels: - theiacloud: proxy + theia-cloud.io/template-purpose: proxy namespace: placeholder-namespace ownerReferences: - apiVersion: theia.cloud/v1beta9 diff --git a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmapEmails.yaml b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmapEmails.yaml index 595dfd76..2d2e27de 100644 --- a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmapEmails.yaml +++ b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templateConfigmapEmails.yaml @@ -3,7 +3,7 @@ kind: ConfigMap metadata: name: placeholder-emailsconfigname labels: - theiacloud: emails + theia-cloud.io/template-purpose: emails namespace: placeholder-namespace ownerReferences: - apiVersion: theia.cloud/v1beta9 diff --git a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaim.yaml b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaim.yaml index 94813cb0..9a563561 100644 --- a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaim.yaml +++ b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaim.yaml @@ -4,7 +4,7 @@ metadata: name: placeholder-pv namespace: placeholder-namespace labels: - theia.cloud.workspace.name: placeholder-label-workspace-name + theia-cloud.io/workspace-name: placeholder-label-workspace-name spec: accessModes: - ReadWriteOnce diff --git a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaimMinikube.yaml b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaimMinikube.yaml index 16afbf95..4af790af 100644 --- a/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaimMinikube.yaml +++ b/java/operator/org.eclipse.theia.cloud.operator/src/main/resources/templatePersistentVolumeClaimMinikube.yaml @@ -4,7 +4,7 @@ metadata: name: placeholder-pv namespace: placeholder-namespace labels: - theia.cloud.workspace.name: placeholder-label-workspace-name + theia-cloud.io/workspace-name: placeholder-label-workspace-name spec: accessModes: - ReadWriteOnce diff --git a/java/service/org.eclipse.theia.cloud.service/README.md b/java/service/org.eclipse.theia.cloud.service/README.md index 3eaf710b..985ac1a6 100644 --- a/java/service/org.eclipse.theia.cloud.service/README.md +++ b/java/service/org.eclipse.theia.cloud.service/README.md @@ -74,8 +74,6 @@ Easily start your RESTful Web Services Unit tests use the Quarkus test infrastructure. -All tests can be run in Eclipse via launch config [TheiaCloud Service Tests](./TheiaCloud Service Tests.launch). - When running tests from an IDE, the following VM argument might need to be set to enable logging during tests (this is pre-configured in the launch config): ```bash diff --git a/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ApplicationProperties.java b/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ApplicationProperties.java index e73ac402..5955df6f 100644 --- a/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ApplicationProperties.java +++ b/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ApplicationProperties.java @@ -25,8 +25,8 @@ @ApplicationScoped public class ApplicationProperties { - private static final String THEIA_CLOUD_APP_ID = "theia.cloud.app.id"; - private static final String THEIA_CLOUD_USE_KEYCLOAK = "theia.cloud.use.keycloak"; + private static final String THEIACLOUD_APP_ID = "theia.cloud.app.id"; + private static final String THEIACLOUD_USE_KEYCLOAK = "theia.cloud.use.keycloak"; private final Logger logger; @@ -35,9 +35,9 @@ public class ApplicationProperties { public ApplicationProperties() { logger = Logger.getLogger(getClass()); - appId = System.getProperty(THEIA_CLOUD_APP_ID, "asdfghjkl"); + appId = System.getProperty(THEIACLOUD_APP_ID, "asdfghjkl"); // Only disable keycloak if the value was explicitly set to exactly "false". - useKeycloak = !"false".equals(System.getProperty(THEIA_CLOUD_USE_KEYCLOAK)); + useKeycloak = !"false".equals(System.getProperty(THEIACLOUD_USE_KEYCLOAK)); if (!useKeycloak) { logger.warn("Keycloak integration was disabled. Anonymous requests are allowed!"); } diff --git a/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ConfigurableAnonymousIdentityProvider.java b/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ConfigurableAnonymousIdentityProvider.java index d7e768c8..c133e5e1 100644 --- a/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ConfigurableAnonymousIdentityProvider.java +++ b/java/service/org.eclipse.theia.cloud.service/src/main/java/org/eclipse/theia/cloud/service/ConfigurableAnonymousIdentityProvider.java @@ -28,7 +28,7 @@ * Custom {@link io.quarkus.security.identity.IdentityProvider IdentityProvider} that authenticates anonymous users if * the Theia Cloud service's usage of keycloak was disabled. This facilitates configuring resources as generally * requiring authentication while still being able to use the service without any authentication by setting the - * {@value #THEIA_CLOUD_USE_KEYCLOAK} system property. + * {@value #THEIACLOUD_USE_KEYCLOAK} system property. */ @ApplicationScoped public class ConfigurableAnonymousIdentityProvider extends AnonymousIdentityProvider { diff --git a/java/service/org.eclipse.theia.cloud.service/src/test/java/org/eclipse/theia/cloud/service/ApplicationPropertiesTests.java b/java/service/org.eclipse.theia.cloud.service/src/test/java/org/eclipse/theia/cloud/service/ApplicationPropertiesTests.java index 3a51626a..295ae934 100644 --- a/java/service/org.eclipse.theia.cloud.service/src/test/java/org/eclipse/theia/cloud/service/ApplicationPropertiesTests.java +++ b/java/service/org.eclipse.theia.cloud.service/src/test/java/org/eclipse/theia/cloud/service/ApplicationPropertiesTests.java @@ -25,32 +25,32 @@ */ class ApplicationPropertiesTests { - private static final String THEIA_CLOUD_USE_KEYCLOAK = "theia.cloud.use.keycloak"; + private static final String THEIACLOUD_USE_KEYCLOAK = "theia.cloud.use.keycloak"; @Test void isUseKeycloak_propertyTrue_returnTrue() { - System.setProperty(THEIA_CLOUD_USE_KEYCLOAK, "true"); + System.setProperty(THEIACLOUD_USE_KEYCLOAK, "true"); ApplicationProperties fixture = new ApplicationProperties(); assertTrue(fixture.isUseKeycloak()); } @Test void isUseKeycloak_propertyNotSet_returnTrue() { - System.clearProperty(THEIA_CLOUD_USE_KEYCLOAK); + System.clearProperty(THEIACLOUD_USE_KEYCLOAK); ApplicationProperties fixture = new ApplicationProperties(); assertTrue(fixture.isUseKeycloak()); } @Test void isUseKeycloak_propertyFalse_returnFalse() { - System.setProperty(THEIA_CLOUD_USE_KEYCLOAK, "false"); + System.setProperty(THEIACLOUD_USE_KEYCLOAK, "false"); ApplicationProperties fixture = new ApplicationProperties(); assertFalse(fixture.isUseKeycloak()); } @Test void isUseKeycloak_propertySetToSomeValue_returnTrue() { - System.setProperty(THEIA_CLOUD_USE_KEYCLOAK, "asdasd"); + System.setProperty(THEIACLOUD_USE_KEYCLOAK, "asdasd"); ApplicationProperties fixture = new ApplicationProperties(); assertTrue(fixture.isUseKeycloak()); } diff --git a/node/monitor-theia/src/common/monitor-protocol.ts b/node/monitor-theia/src/common/monitor-protocol.ts index ca57ffb5..1fd47fe2 100644 --- a/node/monitor-theia/src/common/monitor-protocol.ts +++ b/node/monitor-theia/src/common/monitor-protocol.ts @@ -1,8 +1,8 @@ import { MonitorBackendModule } from './monitor-backend-module'; -export const MONITOR_BACKEND_SERVICE_PATH = '/services/theiacloud-monitor'; -export const MESSAGING_SERVICE_PATH = '/services/theiacloud-monitor/messaging'; -export const ACTIVITY_TRACKER_SERVICE_PATH = '/services/theiacloud-monitor/activity-tracker'; +export const MONITOR_BACKEND_SERVICE_PATH = '/services/theia-cloud-monitor'; +export const MESSAGING_SERVICE_PATH = '/services/theia-cloud-monitor/messaging'; +export const ACTIVITY_TRACKER_SERVICE_PATH = '/services/theia-cloud-monitor/activity-tracker'; export const COMMAND_ACTIVITY_REPORT_TITLE = 'theia.cloud.monitor.activity.report'; diff --git a/node/monitor/package-lock.json b/node/monitor/package-lock.json index 6bf3948e..3329c276 100644 --- a/node/monitor/package-lock.json +++ b/node/monitor/package-lock.json @@ -1,11 +1,11 @@ { - "name": "theiacloud-monitor", + "name": "theia-cloud-monitor", "version": "0.12.0-next", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "theiacloud-monitor", + "name": "theia-cloud-monitor", "version": "0.12.0-next", "license": "EPL-2.0", "dependencies": { diff --git a/node/monitor/package.json b/node/monitor/package.json index 528f1a55..b21bec7d 100644 --- a/node/monitor/package.json +++ b/node/monitor/package.json @@ -1,5 +1,5 @@ { - "name": "theiacloud-monitor", + "name": "theia-cloud-monitor", "displayName": "Theia Cloud Monitor extension", "description": "Monitor for Theia Cloud hosted tools", "version": "0.12.0-next", diff --git a/node/monitor/src/env-variables.ts b/node/monitor/src/env-variables.ts index a61603d1..6211bf5a 100644 --- a/node/monitor/src/env-variables.ts +++ b/node/monitor/src/env-variables.ts @@ -1,8 +1,8 @@ /** * List of environment variables that the extension uses */ -export const MONITOR_PORT = 'THEIACLOUD_MONITOR_PORT'; -export const MONITOR_ENABLE_ACTIVITY_TRACKER = 'THEIACLOUD_MONITOR_ENABLE_ACTIVITY_TRACKER'; +export const THEIACLOUD_MONITOR_PORT = 'THEIACLOUD_MONITOR_PORT'; +export const THEIACLOUD_MONITOR_ENABLE_ACTIVITY_TRACKER = 'THEIACLOUD_MONITOR_ENABLE_ACTIVITY_TRACKER'; export const THEIACLOUD_SESSION_SECRET = 'THEIACLOUD_SESSION_SECRET'; /** diff --git a/node/monitor/src/extension.ts b/node/monitor/src/extension.ts index f62fcd5b..d1feb197 100644 --- a/node/monitor/src/extension.ts +++ b/node/monitor/src/extension.ts @@ -1,7 +1,7 @@ import express, { Router } from 'express'; import * as vscode from 'vscode'; -import { getFromEnv, MONITOR_ENABLE_ACTIVITY_TRACKER, MONITOR_PORT } from './env-variables'; +import { getFromEnv, THEIACLOUD_MONITOR_ENABLE_ACTIVITY_TRACKER, THEIACLOUD_MONITOR_PORT } from './env-variables'; import { ActivityTrackerModule } from './modules/activity-tracker-module'; import { MessagingModule } from './modules/messaging-module'; import { MonitorModule } from './monitor-module'; @@ -13,8 +13,8 @@ import { MonitorModule } from './monitor-module'; * If no values are defined it will fallback to `localhost:8081` */ export function activate(context: vscode.ExtensionContext): void { - const hostPort = Number(getFromEnv(MONITOR_PORT) ?? 8081); - + const hostPort = Number(getFromEnv(THEIACLOUD_MONITOR_PORT) ?? 8081); + console.debug(`hostPort ${hostPort}`); startServer(hostPort); } @@ -51,8 +51,11 @@ export function startServer(port: number): void { */ export function getEnabledModules(): MonitorModule[] { const modules: MonitorModule[] = [new MessagingModule()]; - if (getFromEnv(MONITOR_ENABLE_ACTIVITY_TRACKER) === 'true') { + if (getFromEnv(THEIACLOUD_MONITOR_ENABLE_ACTIVITY_TRACKER) === 'true') { + console.debug('ActivityTrackerModule enabled'); modules.push(new ActivityTrackerModule()); + } else { + console.debug(`ActivityTrackerModule disabled ${getFromEnv(THEIACLOUD_MONITOR_ENABLE_ACTIVITY_TRACKER)}`); } return modules; } diff --git a/node/monitor/src/util/util.ts b/node/monitor/src/util/util.ts index 7a4b67fa..9f8fd19b 100644 --- a/node/monitor/src/util/util.ts +++ b/node/monitor/src/util/util.ts @@ -9,6 +9,8 @@ export function isAuthorized(req: any): boolean { const sessionSecret = getFromEnv(THEIACLOUD_SESSION_SECRET); if (bearerToken === sessionSecret) { return true; + } else { + console.debug('unauthorized'); } } } diff --git a/node/testing-page/README.md b/node/testing-page/README.md index c9e32477..b1faf22c 100644 --- a/node/testing-page/README.md +++ b/node/testing-page/README.md @@ -1,6 +1,6 @@ -# TheiaCloud Testing App +# Theia Cloud Testing App -This folder contains a simple test app that allows to login via Keycloak and trigger various TheiaCloud endpoints (e.g. session start or stop). +This folder contains a simple test app that allows to login via Keycloak and trigger various Theia Cloud endpoints (e.g. session start or stop). ## Usage diff --git a/terraform/configurations/minikube_getting_started/minikube_getting_started.tf b/terraform/configurations/minikube_getting_started/minikube_getting_started.tf index 85be224d..003213c5 100644 --- a/terraform/configurations/minikube_getting_started/minikube_getting_started.tf +++ b/terraform/configurations/minikube_getting_started/minikube_getting_started.tf @@ -58,7 +58,7 @@ resource "kubernetes_persistent_volume" "minikube" { access_modes = ["ReadWriteOnce"] persistent_volume_source { host_path { - path = "/data/theiacloud" + path = "/data/theia-cloud" } } } diff --git a/terraform/modules/helm/main.tf b/terraform/modules/helm/main.tf index 7f461d86..3e512836 100644 --- a/terraform/modules/helm/main.tf +++ b/terraform/modules/helm/main.tf @@ -131,7 +131,7 @@ resource "helm_release" "theia-cloud-base" { repository = "https://eclipse-theia.github.io/theia-cloud-helm" chart = "theia-cloud-base" version = "0.11.1" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true set { @@ -147,7 +147,7 @@ resource "helm_release" "theia-cloud-crds" { repository = "https://eclipse-theia.github.io/theia-cloud-helm" chart = "theia-cloud-crds" version = "0.11.1" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true } @@ -231,7 +231,7 @@ resource "helm_release" "theia-cloud" { repository = "https://eclipse-theia.github.io/theia-cloud-helm" chart = "theia-cloud" version = "0.11.1" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true values = [ diff --git a/terraform/test-configurations/0_minikube-setup/minikube_test_cluster.tf b/terraform/test-configurations/0_minikube-setup/minikube_test_cluster.tf index 841debe7..8d5dd329 100644 --- a/terraform/test-configurations/0_minikube-setup/minikube_test_cluster.tf +++ b/terraform/test-configurations/0_minikube-setup/minikube_test_cluster.tf @@ -51,7 +51,7 @@ resource "kubernetes_persistent_volume" "minikube" { access_modes = ["ReadWriteOnce"] persistent_volume_source { host_path { - path = "/data/theiacloud" + path = "/data/theia-cloud" } } } diff --git a/terraform/test-configurations/1_theia-cloud-base/theia_cloud_base.tf b/terraform/test-configurations/1_theia-cloud-base/theia_cloud_base.tf index a6092b28..ab2de0ec 100644 --- a/terraform/test-configurations/1_theia-cloud-base/theia_cloud_base.tf +++ b/terraform/test-configurations/1_theia-cloud-base/theia_cloud_base.tf @@ -23,14 +23,14 @@ provider "helm" { resource "helm_release" "theia-cloud-crds" { name = "theia-cloud-crds" chart = "../../../../theia-cloud-helm/charts/theia-cloud-crds" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true } resource "helm_release" "theia-cloud-base" { name = "theia-cloud-base" chart = "../../../../theia-cloud-helm/charts/theia-cloud-base" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true set { diff --git a/terraform/test-configurations/2-01_try-now/theia_cloud.tf b/terraform/test-configurations/2-01_try-now/theia_cloud.tf index c0f40dd4..08d92883 100644 --- a/terraform/test-configurations/2-01_try-now/theia_cloud.tf +++ b/terraform/test-configurations/2-01_try-now/theia_cloud.tf @@ -26,7 +26,7 @@ provider "kubectl" { resource "helm_release" "theia-cloud" { name = "theia-cloud" chart = "../../../../theia-cloud-helm/charts/theia-cloud" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true values = [ @@ -87,7 +87,7 @@ resource "kubectl_manifest" "cdt-cloud-demo" { kind: AppDefinition metadata: name: cdt-cloud-demo - namespace: theiacloud + namespace: theia-cloud spec: downlinkLimit: 30000 image: theiacloud/cdt-cloud:v1.34.4 @@ -116,7 +116,7 @@ resource "kubectl_manifest" "coffee-editor" { kind: AppDefinition metadata: name: coffee-editor - namespace: theiacloud + namespace: theia-cloud spec: downlinkLimit: 30000 image: eu.gcr.io/kubernetes-238012/coffee-editor:v0.7.17 diff --git a/terraform/test-configurations/2-02_monitor/theia_cloud.tf b/terraform/test-configurations/2-02_monitor/theia_cloud.tf index 0070c19a..00c2ded5 100644 --- a/terraform/test-configurations/2-02_monitor/theia_cloud.tf +++ b/terraform/test-configurations/2-02_monitor/theia_cloud.tf @@ -28,7 +28,7 @@ provider "helm" { resource "helm_release" "theia-cloud" { name = "theia-cloud" chart = "../../../../theia-cloud-helm/charts/theia-cloud" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true values = [ diff --git a/terraform/test-configurations/2-03_try-now_paths/theia_cloud.tf b/terraform/test-configurations/2-03_try-now_paths/theia_cloud.tf index dcddac19..2fa637a9 100644 --- a/terraform/test-configurations/2-03_try-now_paths/theia_cloud.tf +++ b/terraform/test-configurations/2-03_try-now_paths/theia_cloud.tf @@ -26,7 +26,7 @@ provider "kubectl" { resource "helm_release" "theia-cloud" { name = "theia-cloud" chart = "../../../../theia-cloud-helm/charts/theia-cloud" - namespace = "theiacloud" + namespace = "theia-cloud" create_namespace = true values = [ @@ -100,7 +100,7 @@ resource "kubectl_manifest" "cdt-cloud-demo" { kind: AppDefinition metadata: name: cdt-cloud-demo - namespace: theiacloud + namespace: theia-cloud spec: downlinkLimit: 30000 image: theiacloud/cdt-cloud:v1.34.4 @@ -129,7 +129,7 @@ resource "kubectl_manifest" "coffee-editor" { kind: AppDefinition metadata: name: coffee-editor - namespace: theiacloud + namespace: theia-cloud spec: downlinkLimit: 30000 image: eu.gcr.io/kubernetes-238012/coffee-editor:v0.7.17 diff --git a/terraform/test-configurations/test.md b/terraform/test-configurations/test.md index 2df3dbd4..035956d7 100644 --- a/terraform/test-configurations/test.md +++ b/terraform/test-configurations/test.md @@ -8,7 +8,7 @@ Moreover the directory contains terraform configurations to install common Theia Run `terraform init` and `terraform apply` in both directories below: -- `0_minikube-setup` installs a minikube cluster with all required dependencies, including a Keycloak with a TheiaCloud realm, but without TheiaCloud. +- `0_minikube-setup` installs a minikube cluster with all required dependencies, including a Keycloak with a TheiaCloud realm, but without Theia Cloud. - `1_theia-cloud-base` installs theia cloud base ```bash