Commit Graph

54 Commits (bdf9fa5a9cd07a7d3cb7bcdbf6280145e4fa3fa5)

Author SHA1 Message Date
Max Shaposhnik aa8d0fa57d
Merge mysql sql schema into common bundle 2018-10-05 12:08:41 +03:00
Roman Iuvshyn 63b389c2fe
RELEASE: Set next development version (#11434)
* RELEASE: Set next development version
2018-10-04 18:25:39 +03:00
Max Shaposhnik 89041db8d1
Provide support for MySQL & add integration tests 2018-10-01 18:08:02 +03:00
Roman Iuvshyn ea410c3340
RELEASE: Set next development version (#11169) 2018-09-12 11:53:42 +03:00
Oleksandr Garagatyi 27bed82d5c
CHE-10561: Rework WS.NEXT flow to latest concept of plugin broker (#10740)
* Move wsnext flow in Kubernetes infra implementation

Now we need to start a broker and pass meta.yaml files to it.
Starting a broker is infra-specific stuff, so it has to be done
on the infra implementation side because we don't have a part
in the infra SPI that would allow us to start a broker.
Passing Meta files using InternalEnvironment object is more
invasive than passing only attributes. So, this commit applies
less invasive scheme.

* CHE-10202,10561: Add fetching of Che editor, plugins meta from the registry

Add fetching of Che editor ID from workspace attributes.
Add fetching of Che plugins IDs from workspace attributes.
Use colon sign for separating editor/plugin ID and version
instead of the slash.
Remove old Workspace.Next model objects.

* CHE-10561: Share WS.NEXT between k8s and OS infras

Use WS.NEXT in both k8s and OS infrastructure implementations.

* CHE-10561: fix fetching meta.yaml files from che-plugin-registry

* CHE-10561: Fix sidecar model serialization

Fixes the fact that some fields in workspace sidecar tooling model
POJOs were incorrectly named or required custom serialization of
fields.

* CHE-10561: Add listening of che-plugin-broker

Add code that allows listening for events from Che plugin broker.
An event might contain workspace tooling config as a result if the broker
finished successfully or error otherwise.

* CHE-10561: Add PluginBrokerManager to control broker lifecycle

Adds PluginBrokerManager that configures/starts/waits Che plugin
broker.

Remove unused code.
Remove notion of Workspace next.

* Align plugin registry property between different components

* Fix extra  path in che plugin registry URL

Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-09-03 08:57:32 +03:00
Roman Iuvshyn d99b2ed73d
RELEASE: Set next development version (#10867)
* RELEASE: Set next development version
2018-08-22 12:06:38 +03:00
Max Shaposhnik 47b8ed328b
Make machine token signing key per-workspace & renew them after each ws restart 2018-08-20 09:51:04 +03:00
Sergii Leshchenko de1459c52b Add attributes field to workspace config object 2018-08-10 14:06:41 +03:00
Roman Iuvshyn 60da580c92
RELEASE: Set next development version (#10603) 2018-08-02 12:38:48 +03:00
Mykhailo Kuznietsov 07263f1e30
Fix license header text (#10629) 2018-08-02 11:18:04 +03:00
Mykhailo Kuznietsov 15d23edc91
Update license to EPL 2.0 (#10531) 2018-07-31 11:24:36 +03:00
Roman Iuvshyn 985d368f2d
RELEASE: Set next development version (#10345)
* RELEASE: Set next development version
2018-07-10 15:56:52 +03:00
Sergii Leshchenko fef7cc44e6
Fix scope of test dependencies (#10254) 2018-07-04 11:23:20 +03:00
Roman Iuvshyn d7e1c73cf8
RELEASE: Set next development version (#10110) 2018-06-19 17:24:50 +03:00
Oleksandr Garagatyi f6b639d0f7 CHE-8265: Apply workspace next features in WorkspaceRuntimes
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-06-04 17:17:44 +03:00
Roman Iuvshyn 7231585f4b
RELEASE: Set next development version (#9862) 2018-05-30 12:01:54 +03:00
Roman Iuvshyn 6677e27a6b
RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
Anton Korneta d227e297b6 CHE-9528 Introduce an abstraction of workspace status cache and distributed locks 2018-05-03 11:22:07 +03:00
Roman Iuvshyn edb0e15e6f
RELEASE: Set next development version (#9473) 2018-04-18 08:31:24 +02:00
Roman Iuvshyn e006334aad
RELEASE: Set next development version (#9268) 2018-03-28 10:58:30 +03:00
Roman Iuvshyn dbdac2a604
RELEASE: Set next development version (#9038) 2018-03-07 17:53:03 +07:00
Roman Iuvshyn e2762411b3
RELEASE: Set next development version (#8773) 2018-02-14 15:00:52 +02:00
Roman Iuvshyn f50c2ebbf5
RELEASE: Set next development version (#8496) 2018-01-31 17:53:10 +02:00
Mykhailo Kuznietsov 72b21e971b
Remove "source" field from stack object (#8407) 2018-01-25 15:53:33 +02:00
Anton Korneta 5c68c90a0b Move license to resource details 2018-01-24 13:44:36 +02:00
Mykhailo Kuznietsov 2c2bd6637c
Set new year in license headers (#8244) 2018-01-11 16:04:49 +02:00
Oleksandr Garagatyi 9e0a4f2095
Add continuous servers liveness checks (#8088)
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-01-04 17:33:14 +02:00
Roman Iuvshyn 71704ab3a7
RELEASE: Set next development version (#8135) 2018-01-03 14:13:25 +02:00
Mykhailo Kuznietsov 93b974d1e0
Change worskpace project files storage path (#7844)
- Workspace projects are now stored in folders, named after their workspace id, rather than name,
to prevent issues with workspace renaming. Applies to Docker infrastructure only.
- Add migration, that would move workspace projects to their new location. Occurs on Che startup.
- Added configuration property to enable/disable this migration.
- Improved Workspace DAO/Manager to use pagination for methods, that return lists of workspaces
2017-12-22 15:55:28 +02:00
Roman Iuvshyn 5a6d3910b2
RELEASE: set next dev version (#7882) 2017-12-14 15:51:34 +02:00
Sergii Leshchenko 6f0ab7894b
CHE-7502 Make it possible to bind only one RuntimeInfrastructure (#7655) 2017-12-01 12:01:44 +02:00
Roman Iuvshyn 506210325a
RELEASE: set next dev version (#7523) 2017-11-23 12:50:56 +02:00
Oleksandr Garagatyi ba7a1e2e51 CHE-7010: Add volumes into machine model object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-11-20 16:14:47 +02:00
Sergii Leshchenko e7843db2de Add tests for new classes and fix existing tests in api-workspace module 2017-11-20 11:02:48 +02:00
Sergii Leshchenko 0f1ca700df Move objects related to InternalEnvironment into separate package 2017-11-20 11:02:48 +02:00
Gennady Azarenkov eb90e43cf3 Replace RuntimeInfrastructure#estimate with InternalEnvironmentFactory
It is done for decoupling runtime from environment configuration
2017-11-20 11:02:47 +02:00
Roman Iuvshyn 19f5fd1f5a
RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
Florent BENOIT 6a95b6d74a Apply google format v1.4 https://github.com/google/google-java-format/releases/tag/google-java-format-1.4
Change-Id: I5df30c23165df1fd39eef4c57893bebd1d681c1d
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-19 22:23:04 +02:00
Sergii Kabashniuk 3258a4bb3f Remove unexisted artifact 2017-10-19 14:10:25 +03:00
Sergii Kabashniuk f4cc97acce Set next version 6.0.0-M1-SNAPSHOT 2017-10-19 13:53:40 +03:00
Oleksandr Garagatyi 90142e268c Move Docker client to Docker infrastructure packaging (#6779)
Also, remove OpenShiftConnector as it is replaced with OpenShift
infrastructure.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-10-18 15:08:55 +03:00
Max Shaposhnik 6d0a659e63 Remove usage of deprecated Recipe API (#6729) 2017-10-18 12:58:30 +03:00
Sergii Kabashniuk e321ab00b1 Merge with master 2017-10-15 14:33:47 +03:00
Roman Iuvshyn abe3271908 RELEASE: Set next development version (#6692)
* RELEASE: Set next development version
2017-10-14 20:17:04 +03:00
Sergii Leshchenko 52e43115b3 Remove deprecated jpa test classes 2017-10-13 14:45:21 +03:00
Sergii Leshchenko 03934a0804 Merge remote-tracking branch 'origin/master' into spi
# Conflicts:
#	assembly-multiuser/assembly-wsmaster-war/pom.xml
#	assembly-multiuser/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/MachineAuthModule.java
#	assembly-multiuser/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/MultiUserCheWsMasterModule.java
#	assembly-multiuser/assembly-wsmaster-war/src/main/resources/META-INF/persistence.xml
#	assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/CheWsMasterModule.java
#	assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/WsMasterModule.java
#	dashboard/src/app/admin/user-management/user-details/user-details.html
#	dashboard/src/app/organizations/organization-details/organization-details.html
#	dashboard/src/app/teams/team-details/team-details.html
#	dashboard/src/components/api/workspace/che-workspace.factory.ts
#	dockerfiles/init/manifests/che.env
#	dockerfiles/init/modules/openshift/files/scripts/deploy_che.sh
#	dockerfiles/init/modules/openshift/files/scripts/multi-user/wait_until_postgres_is_available.sh
#	ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/jsonrpc/WorkspaceMasterJsonRpcInitializer.java
#	ide/che-core-ide-stacks/src/main/resources/stacks.json
#	ide/che-core-orion-editor/src/main/java/org/eclipse/che/ide/editor/orion/client/OrionEditorPresenter.java
#	multiuser/api/che-multiuser-api-resource/pom.xml
#	multiuser/api/che-multiuser-api-resource/src/main/java/org/eclipse/che/multiuser/resource/api/usage/tracker/EnvironmentRamCalculator.java
#	multiuser/api/che-multiuser-api-resource/src/main/java/org/eclipse/che/multiuser/resource/api/usage/tracker/RamResourceUsageTracker.java
#	multiuser/api/che-multiuser-api-resource/src/main/java/org/eclipse/che/multiuser/resource/api/workspace/LimitsCheckingWorkspaceManager.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/usage/tracker/EnvironmentRamCalculatorTest.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/usage/tracker/RamResourceUsageTrackerTest.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/workspace/LimitsCheckingWorkspaceManagerTest.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/workspace/TestObjects.java
#	multiuser/integration-tests/che-multiuser-cascade-removal/pom.xml
#	multiuser/integration-tests/che-multiuser-cascade-removal/src/test/java/org/eclipse/che/multiuser/integration/jpa/cascaderemoval/JpaEntitiesCascadeRemovalTest.java
#	multiuser/integration-tests/che-multiuser-cascade-removal/src/test/java/org/eclipse/che/multiuser/integration/jpa/cascaderemoval/TestObjectsFactory.java
#	multiuser/integration-tests/che-multiuser-cascade-removal/src/test/resources/META-INF/persistence.xml
#	multiuser/integration-tests/che-multiuser-postgresql-tck/pom.xml
#	multiuser/integration-tests/che-multiuser-postgresql-tck/src/test/java/MultiuserPostgresqlTckModule.java
#	multiuser/integration-tests/che-multiuser-postgresql-tck/src/test/resources/META-INF/persistence.xml
#	multiuser/keycloak/che-multiuser-keycloak-ide/src/main/java/org/eclipse/che/multiuser/keycloak/ide/KeycloakProvider.java
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/pom.xml
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/src/main/java/org/eclipse/che/multiuser/machine/authentication/ide/MachineAsyncRequestFactory.java
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/src/main/java/org/eclipse/che/multiuser/machine/authentication/ide/MachineTokenServiceClientImpl.java
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/src/main/java/org/eclipse/che/multiuser/machine/authentication/ide/inject/MachineAuthGinModule.java
#	multiuser/machine-auth/che-multiuser-machine-authentication/src/main/java/org/eclipse/che/multiuser/machine/authentication/server/MachineSessionInvalidator.java
#	multiuser/permission/che-multiuser-permission-machine/pom.xml
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/filters/RecipePermissionsFilter.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/JpaRecipePermissionsDao.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/MultiuserJpaRecipeDao.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/MultiuserMachineJpaModule.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/listener/RemoveRecipeOnLastUserRemovedEventSubscriber.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/recipe/RecipeCreatorPermissionsProvider.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/recipe/RecipePermissionsImpl.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/filters/RecipePermissionsFilterTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/JpaRecipePermissionsDaoTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/JpaTestModule.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/MultiuserJpaRecipeDaoTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/RemovePermissionsBeforeRecipeRemovedEventSubscriberTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/TestWorkspaceEntity.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/recipe/RecipeCreatorPermissionsProviderTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/spi/tck/RecipePermissionsDaoTest.java
#	multiuser/permission/che-multiuser-permission-workspace/pom.xml
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/WorkspaceCreatorPermissionsProvider.java
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/filters/WorkspacePermissionsFilter.java
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/jpa/MultiuserWorkspaceJpaModule.java
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/spi/jpa/MultiuserJpaWorkspaceDao.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/filters/WorkspacePermissionsFilterTest.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/jpa/WorkspaceTckModule.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/spi/jpa/JpaTckModule.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/spi/jpa/RemovePermissionsBeforeStackRemovedEventSubscriberTest.java
#	multiuser/pom.xml
#	plugins/plugin-docker/che-plugin-docker-machine/src/test/java/org/eclipse/che/plugin/docker/machine/MachineProviderImplTest.java
#	plugins/plugin-docker/pom.xml
#	plugins/plugin-github/che-plugin-github-pullrequest/src/main/java/org/eclipse/che/plugin/pullrequest/client/GitHubHostingService.java
#	pom.xml
#	selenium/che-selenium-core/src/main/java/org/eclipse/che/selenium/core/workspace/TestWorkspaceProviderImpl.java
#	selenium/che-selenium-test/README.md
#	selenium/che-selenium-test/pom.xml
#	selenium/che-selenium-test/src/main/java/org/eclipse/che/selenium/pageobject/CodenvyEditor.java
#	selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/workspaces/CreateWorkspaceOnDashboardTest.java
#	selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/workspaces/WorkingWithNodeWsTest.java
#	selenium/che-selenium-test/src/test/resources/conf/selenium.properties
#	wsagent/agent/src/main/java/org/eclipse/che/api/agent/WsAgentLauncher.java
#	wsagent/agent/src/test/java/org/eclipse/che/api/agent/WsAgentLauncherTest.java
#	wsmaster/che-core-api-user/pom.xml
#	wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/environment/server/MachineLinksInjector.java
#	wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/workspace/server/WorkspaceServiceLinksInjector.java
#	wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/workspace/server/model/impl/EnvironmentImpl.java
#	wsmaster/integration-tests/postgresql-tck/pom.xml
2017-10-09 14:51:25 +03:00
Sergii Kabashniuk ee01b2998f Multi-user Eclipse Che (#6441)
Multi-user Eclipse Che (#6441)
#### How to run it.
```docker run -it -e CHE_MULTIUSER=true -e CHE_HOST=<your ip> -e CHE_KEYCLOAK_AUTH-SERVER-URL=http://<your ip>:5050/auth -v /var/run/docker.sock:/var/run/docker.sock -v ~/.che-multiuser:/data eclipse/che:nightly start --skip:pull --skip:nightly```
#### How to manage it
 - Keycloak configured with two realms. ```Master``` and ```che```. Also we have one user admin/admin in both realm. Admin user in master realm is  - super admin. 
-  Eclipse Che configured for che realm
- We enabled user registration in ```Che``` realm
#### Known limitation
 - swagger would not work. We need to upgrade a version. to support openid authentification https://github.com/eclipse/che/issues/6015
- It's working on local docker. We are going to provide scalable version based on OpenShift on next versions.
- Invitation of non-existent users to Eclipse Che organization https://github.com/eclipse/che/issues/6335
#### How to run it when it is in a branch


To run an multiuser Che version, the following steps are required after building the branch:
 - Rebuild init, cli and che images (in the given sequence). To do that, proceed to folder _dockerfiles/<image_name>_ and run _build.sh_
 - Run Che in a  usual way using cli, with additional parameters:  `-e CHE_MULTIUSER=true` and `--skip:pull --skip:nightly`  
   Full command example:
   `docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /home/user/.che:/data -e CHE_MULTIUSER=true eclipse/che-cli:nightly start --skip:pull --skip:nightly`
 - MacOS users may need to edit _che.env_ file in the data folder, changing `CHE_HOST` and `CHE_KEYCLOAK_AUTH__SERVER__URL` values to their specific IP.
 
When start is succeeded, the following docker containers should be created:  
 - che, exposing 8080 port;
 - che_keycloak, exposing 5050 port;  
 - che_postgres, exposing 5432 port;
2017-10-06 17:27:27 +03:00
Sergii Leshchenko a717eec1eb Remove unused dependency in cascade tests 2017-09-28 14:57:46 +03:00
Sergii Leshchenko f07fdb9d36 CHE-6463 Sort poms, Fix licenses, format sources 2017-09-28 13:06:51 +03:00
Sergii Leshchenko 96d9328bae CHE-6463 Update packages of Recipe, Snapshot objects 2017-09-28 13:06:50 +03:00