Commit Graph

948 Commits (c2dfd5557f3697c1393c80e8748d7f997dce6bb2)

Author SHA1 Message Date
Max Shaposhnik 720aab0051 Revert "Devfile validation via message entity provider" (#14812)
This reverts commit fc531ea015.
2019-10-08 22:29:20 +03:00
Max Shaposhnik fc531ea015
Devfile validation via message entity provider 2019-10-08 14:10:15 +03:00
Max Shaposhnik 88033a05b7
Serialize/deseialize list of DTO using same mechanism as single DTO object
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>
2019-10-08 10:43:35 +03:00
Vitalii Parfonov 4e1492b08f
RELEASE: Set next development version (#14690) 2019-09-27 22:52:26 +03:00
Max Shaposhnik 83f07e4570
Add component alias into runtime machine if present in origin devfile (#14610)
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>
2019-09-24 17:36:52 +03:00
Mykhailo Kuznietsov 1907b041c1
Remove installer registry service (#14193) 2019-09-23 12:11:33 +03:00
Mykhailo Kuznietsov ec76c532ff Fix devfile component preferences deserialization through GSON
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>
2019-09-10 15:25:09 +03:00
Roman Iuvshyn 87056fe29e RELEASE: Set next development version 2019-09-05 14:54:52 +02:00
Sergii Kabashniuk 06017df278
Make code & test independent from environment and time of execution (#14207)
* Make code & test independent from environment and time of execution

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-08-27 08:14:24 +02:00
Michal Vala 4413e2bd8d Add `generateName` to devfile metadata (#14157)
Signed-off-by: Michal Vala <mvala@redhat.com>
2019-08-22 14:04:55 +03:00
Max Shaposhnik ba1c521e32
Allow chePlugin preferences to be string, int or boolean type 2019-08-16 15:36:17 +03:00
Vitalii Parfonov ae8fedc411
RELEASE: Set next development version (#14238) 2019-08-14 19:32:18 +03:00
Vitalii Parfonov 03da1e24e4
RELEASE: Set next development version (#14026) 2019-07-25 15:43:30 +03:00
Sergii Kabashniuk 79c6ec0703
Initial cleanup of che6 legacy code (#13788)
cleanup of che6 legacy code

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>

* Remove/disable GWT-related code in Java selenium E2E tests (#13829)

Signed-off-by: Dmytro Nochevnov <dnochevn@redhat.com>
2019-07-23 15:12:27 +02:00
Vitalii Parfonov ccc8e38823
RELEASE: Set next development version (#13711) 2019-07-05 13:08:59 +03:00
Mykhailo Kuznietsov 8d3cc8054a
Deprecate workspaces with Devfile stored as workspace config (#13588) 2019-07-03 15:34:23 +03:00
Vitalii Parfonov 385c21284d
Set version 7.0.0-rc-3.0-SNAPSHOT (rc in lowercase) (#13655)
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
2019-07-01 17:40:14 +03:00
Vitalii Parfonov 65bb7943a0
Set new version 7.0.0-RC-3.0-SNAPSHOT (#13651)
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
2019-07-01 14:02:19 +03:00
Vitalii Parfonov 70c3e5b091
RELEASE: Set next development version (#13564) 2019-06-19 12:55:16 +03:00
Mykhailo Kuznietsov 84df6f9cde
Do not serialize DTO fields with empty or null objects and arrays (#13515) 2019-06-18 13:10:48 +03:00
Lukas Krejci caae00e21b
K8s-like devfile naming (#13490)
`specVersion` is now `apiVersion` and is bumped to 1.0.0
`name` is now nested under the new `metadata` element.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-06-10 23:23:45 +02:00
Max Shaposhnik f601f16527
Add possibility to specify reference or registry url for chePlugin/cheEditor type components
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>
2019-06-10 17:34:41 +03:00
Mykhailo Kuznietsov b2b92b5463
Rework dynamodule exclusion regexps to match nested WARs as well (#13464)
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2019-06-04 09:59:01 +03:00
Vitalii Parfonov 64129a8d44
RELEASE: Set next development version (#13460) 2019-06-03 16:28:42 +03:00
Lukas Krejci ee4461b2fd
Merge api-devfile and api-workspace together (#13417)
Merge api-devfile and api-workspace together and put the infrastructure-dependent code behind injectable interfaces.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-05-31 12:43:45 +02:00
Roman I dd1d9b5a58
switch to RC version scheme (#13424) 2019-05-28 13:52:49 +03:00
Sergii Leshchenko c94c3acc03
Add preferences to plugin component of devfile (#13341)
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2019-05-24 08:59:29 +03:00
Roman I ffb8a3e013
RELEASE: Set next development version (#13377) 2019-05-22 09:52:28 +03:00
Lukas Krejci 0ce7b1ddac
Content references in command actions for editor specific action definitions. (#13273)
Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-05-21 10:04:11 +02:00
Roman Iuvshyn 53cb2c53fa
RELEASE: Set next development version (#13264) 2019-05-05 12:24:42 -04:00
Max Shaposhnik a3c56c9f40
Switch to Justify json schema validator
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>
2019-05-02 14:56:43 +03:00
Oleksandr Garagatyi 35ce3544f7
Adapt UD and wsmaster to new plugin notation (#13204)
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2019-05-02 09:50:01 +03:00
Sergii Leshchenko e4e12df1be Add REST method to create a workspace from Devfile
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2019-04-24 15:33:46 +03:00
Lukas Krejci f725bb0316 Merge remote-tracking branch 'upstream/master' into name-to-alias
Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-04-16 14:12:04 +02:00
Lukas Krejci 09ccc0db26 Rename component "name" to "alias", make it optional and add a new
validation to require the alias when 2 components are otherwise
indistinguishable by their identifying attributes (like image name of
the dockerimage component).

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-04-16 11:12:00 +02:00
Sergii Leshchenko 046552f4e5
Make Devfile part of a workspace (#13122)
It includes only model objects changes. Devfile can not be used as part
of workspace yet.

Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2019-04-15 11:53:58 +03:00
Roman Iuvshyn e60598bdaf
RELEASE: Set next development version (#13102) 2019-04-10 17:13:01 +03:00
Lukas Krejci 1852642c68 Remove refspec and add more fine-grained checkout-after-clone control
Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-04-08 10:08:55 +02:00
Sergii Leshchenko e3281718a7 Add model objects for Devfile
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2019-04-03 14:03:20 +03:00
Lukas Krejci 4e3e7c3cb5 Support `refspec` in the devfile to specify what should be checked out
after a clone.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-04-01 09:58:05 +02:00
Mykhailo Kuznietsov e4763e1dac
Add ability to provide additional build-info in Che (#12919) 2019-03-28 15:46:32 +02:00
Angel Misevski 1263f06945 Add tracing to broker phases
Trace the prepare storage, deploy, and wait broker result phases of
plugin brokering.

Additionally clean up start tracing code slightly:
- Move span names to a separate file
- Move TracingUtil functionality into TracingTags

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2019-03-28 02:22:51 -04:00
Angel Misevski 15a7f9da6f Rework workspace start tracing
- Group machine start traces under a separate span
- Move wait running and check servers spans out of start machines span
  since the start machine span ends before check servers is complete
- Track wait running async and check servers spans separately
- Add tracing to bootstrap servers

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2019-03-28 02:22:51 -04:00
Angel Misevski 2c4ef3a60f Allow enabling DB tracing separately from regular tracing
When enabled, tracing database calls fills each span with dozens of
hard-to-parse, ~1-100 ms spans. This commit allows enabling database
tracing separately, using the CHE_DB_TRACING_ENABLED environment
variable.

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2019-03-28 02:22:51 -04:00
Gerben Oolbekkink c5498c2ac5 Improve ZipUtils tests. (#12946)
Fix ZipUtilsWriteTest for Windows, slashes get converted inside
ZipUtils.

Add test for unzipping. This was not explicitely tested.

Signed-off-by: Gerben Oolbekkink <g.j.w.oolbekkink@gmail.com>
2019-03-23 15:46:56 +02:00
Roman Iuvshyn 0abdc77ea0
RELEASE: Set next development version (#12922) 2019-03-19 15:56:30 +02:00
Sergii Kabashniuk 315767ea5d
NopTracer is used if tracing is not enabled (#12897)
* NopTracer is used in tracing is not enabled

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-03-19 09:44:49 +02:00
Mykhailo Kuznietsov fdc1b0dcf0
Expose Traces as metrics for Prometheus (#12823) 2019-03-14 16:00:53 +02:00
Lukas Krejci b52ee401c8 Handle the containerCommand and containerArgs attributes of the machine
defined with the dockerimage recipe.

Note that this only works in kubernetes and openshift environments.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-03-05 15:04:18 +01:00
Sergii Kabashniuk 391c30e495
Provide more informative error message (#12814)
* Provide more informative error message in case of rejection on major websocket endpoint of JSON RPC stack

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-03-04 22:27:28 +02:00
Roman Iuvshyn 0881493644
RELEASE: Set next development version (#12777) 2019-02-27 16:02:33 +02:00
Sergii Kabashniuk a5b06d444f
Introduced two web-socket endpoints for workspace master to split JSON-RPC messages (#12673)
* Introduced two web-socket endpoints for workspace master to split JSON-RPC messages
Based on Dmytro's Kulieshov  work https://github.com/eclipse/che/pull/12252

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-02-27 13:29:43 +02:00
Roman Iuvshyn 3778f01220
RELEASE: Set next development version (#12768) 2019-02-27 11:50:40 +02:00
Sergii Kabashniuk 577eba85ea
Add ProcessMemoryMetrics ProcessThreadMetrics (#12749)
* Add ProcessMemoryMetrics ProcessThreadMetrics

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-02-26 14:47:41 +02:00
Lukas Krejci 9a8a4f8660 * Don't try to remove already removed element during removeFirstIndependent
* Presize the LinkedHashMap correctly

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-02-25 13:52:56 +01:00
Lukas Krejci f66e967339 Make variable expansion work for environment variables in k8s.
K8s does the expansion only if it already knows about the variable being
expanded.

This means we have to sort the environment variable list prior to sending
it to k8s in such a way that vars that reference others always follow the
referenced ones.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-02-25 13:18:32 +01:00
Mykhailo Kuznietsov 3bef71020f
Adding tracing tags to workspace related operations (#12652)
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2019-02-25 12:11:25 +02:00
Max Shaposhnik 88959d006f
API info service to use meta-info from war-s manifest instead of jar
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>
2019-02-19 15:47:18 +02:00
Roman Iuvshyn a694c4f971
RELEASE: Set next development version (#12596) 2019-02-06 18:22:35 +02:00
Sergii Leshchenko 99017c4553 Move 'machineName' and 'plugin' attributes definition to Command class
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2019-02-01 16:41:00 +02:00
Sergii Kabashniuk 82b6ea432e
Add ability to dump values that is bind by CheBootstrap (#12556)
* Add ability to dump values that is bind by CheBootstrap

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-01-31 09:37:32 +02:00
Masaki Muranaka 9f5a7980c7 Fix resource leaks. (#12407)
Signed-off-by: Masaki Muranaka <monaka@monami-ya.com>
2019-01-29 13:02:59 +02:00
Sergii Kabashniuk 84b5a68bd9 Correctly determine server from which IDE was loaded
Provider of "cors.allowed.origins" setting for CORS Filter of WS Agent. Provides the value such  algorithm:
        1. If set che.wsagent.cors.allowed_origins
        2. Server with "ide" attribute in workspace config
        3. Server from url of "ide" link in workspace config
        4. che.api

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-01-16 16:01:52 +02:00
Roman Iuvshyn 4ad10f2218
RELEASE: Set next development version (#12441) 2019-01-16 11:51:02 +02:00
Masaki Muranaka 07ceab7754 Remove redundant elements (<groupId> and <version>) (#12406)
Signed-off-by: Masaki Muranaka <monaka@monami-ya.com>
2019-01-14 13:07:42 +02:00
Mykhailo Kuznietsov 3574455d8e
Add filter to track 5xx errors for Prometheus (#12284) 2019-01-10 09:37:26 +02:00
Sergii Leshchenko 2f7f726b83
Fix logged messages in commons schedule module (#12283) 2018-12-27 14:54:16 +02:00
Roman Iuvshyn b872b317cb
RELEASE: Set next development version (#12277) 2018-12-26 13:04:51 +02:00
Yevhen Vydolob 345d1b7e62
Add '.d.ts' DTO generator (#12250)
#12132 Add '.d.ts' DTO generator

Signed-off-by: Yevhen Vydolob <yvydolob@redhat.com>
2018-12-26 11:15:06 +02:00
Mykhailo Kuznietsov bac76ac5ee Fix WS Agent not setting appropriate CORS allowed origin on Docker (#12265) 2018-12-24 13:49:46 +02:00
Mykhailo Kuznietsov 69288516c8
Upgrade Tomcat and change default CORS configuration (#12144) 2018-12-22 10:56:27 +02:00
Mykhailo Kuznietsov b7e1918e32
Upgrade dependencies (#11944) 2018-12-11 11:34:48 +02:00
Max Shaposhnik 3a14bacda1
Devfile local features implenentation with schema validation and automated model build. 2018-12-06 16:19:21 +02:00
Roman Iuvshyn 45490d2a3b
RELEASE: Set next development version (#12115) 2018-12-05 18:33:02 +02:00
Mykhailo Kuznietsov 3d366a1c19
Add ability to change CORS configuration on Che Server through env vars (#12046) 2018-12-04 14:56:38 +02:00
Sergii Kabashniuk 2d0915bf14
Fix MetricsServer deployment (#12072) 2018-11-29 20:52:24 +02:00
Sergii Kabashniuk da3eefe237
Metrics POC (#11990)
With CHE_METRICS_ENABLED env variable enable Prometheus metrics endpoint
2018-11-27 23:47:24 +02:00
Sergii Leshchenko 25f76803db Add commands to InternalEnvironment and Runtime 2018-11-27 09:19:28 +02:00
Masaki Muranaka d309ef4b83 Remove redundant <version> elements. (#12023)
As they will be inherited from `parent.version`.

Signed-off-by: Masaki Muranaka <monaka@monami-ya.com>
2018-11-25 21:17:08 +02:00
Lukas Krejci 9109cf37c5 Workspace tracing (#11924)
* Adding support for @Traced annotation to enable whole method tracing
* Trace the creation and removal of workspace
* Trace the start of async start of the workspace
Note that this does not actually trace the async operations but merely
the "kick off" of those. For tracing the async operations, we need to
introduce support for propagating the span ids over the thread boundaries
using opentracing-concurrent.
* Enable tracing across the thread boundaries by augmenting the
WorkspaceSharedPool threadpool with tracing support.
Note that this does not add any new traces, merely enables the async
tracing.
* Add support for adding tags to @Traced methods.
The interceptor also reports the actual invoked class and method
(cleansed of Guice subclass name garbage)
* Trace the startup of pods during workspace startup.
* Trace stop of a workspace
* Introduce utility methods for tracing parts of methods.
* Trace provisioning of k8s objects (in both Kubernetes and Openshift
infrastructures).
* Create a common set of tags and enable strongly typed tags
* Apply the standard tags instead of hardcoded strings.
* Adding @Beta annotations for the tracing-related classes.
This needs to stabilize first.
* Replacing the "Traces" machinery with just annotated package private methods.
This way the code is easier to ready while we also keep all the flexibility
needed for the tag definitions.
* Rename CheTags to more descriptive TracingTags.
* Evaluate the tag values lazily.
This will reduce the load when tracing is switched off.
* Simplify the machine startup tracing logic and distinguish between
true error and mere cancellation due to prior errors.
* Trivial - applying formatting.
* Use getContext().getEnvironment().getMachines().size() to get the precise
number of machines that will be starting up.
* Trivial - change the name of the machine creation tag
* Use a formatted message instead of string concat.
* Update to the latest parent so that che-core-commons-tracing is correctly
incorporated into the full build.
* Fix tracing of the asynchronous stop of a workspace.
* Don't fall over when tracing is not available.
2018-11-22 21:51:12 +02:00
Oleksandr Garagatyi aaa8f424cd
Make a workspace run without any user env (#11890)
Allows running Che 7 workspace without any user environment but with Che 7 tooling set.
Workspace without environment has an empty list of environments and null value in `defaultEnv` field.
Field `activeEnv` is supposed to be `null` too.
What is changed:
- Migration of DB
- make defaultEnv nullable
- remove env_name from runtimes primary key
- make env_name in runtimes nullable
- Make code respect the fact that there are workspaces with no env
- settings API that returns the list of supported environment types returns no-environment type that - indicates that infrastructure support workspace with no environment at all.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-11-21 16:39:54 +02:00
Sergii Kabashniuk f742047a89
Delegate toString to wrapped class (#11959)
Delegate toString to wrapped class (#11959)
2018-11-19 09:27:30 +02:00
Sergii Leshchenko 18e408854c Add info message about aplied logger config 2018-11-15 14:43:51 +02:00
Roman Iuvshyn 99afaef87f
RELEASE: Set next development version (#11930) 2018-11-14 12:29:03 +02:00
Sergii Kabashniuk 0b16268dcf
Jdbc tracing support (#11905)
Jdbc tracing support (#11905)
2018-11-14 11:37:47 +02:00
Sergii Kabashniuk 8a38002dd9
Basic tracing support for OpenShift (#11844)
Basic tracing support for OpenShift (#11844)
2018-11-09 14:42:52 +02:00
Roman Iuvshyn 365d25f275
RELEASE: Set next development version (#11710) 2018-10-24 16:38:03 +03:00
Sergii Kabashniuk be8a867c4e
More information for ServerSideRequestProcessor.RejectedExecutionHandler (#11681)
More information for ServerSideRequestProcessor.RejectedExecutionHandler (#11681)
2018-10-24 11:27:30 +03:00
Thomas Mäder f925d2b631 Fix resource leak in ZipUtils (#10815)
Signed-off-by: Thomas Mäder <tmader@redhat.com>
2018-10-17 15:05:02 +02:00
Thomas Mäder ac1478eda0 Fix parent path handling when importing test projects (#10785)
Signed-off-by: Thomas Mäder <tmader@redhat.com>
2018-10-17 15:05:02 +02:00
Anatoliy Bazko 5a965706c6 CHE-6733: Implement User Preferences for jdt.ls (#8346)
Signed-off-by: Anatoliy Bazko <abazko@redhat.com>
2018-10-17 15:05:02 +02:00
Anatoliy Bazko d636a907d0 CHE-8049: Update simple java project when jdt.ls is ready (#8198)
Signed-off-by: Anatoliy Bazko <abazko@redhat.com>
2018-10-17 15:05:02 +02:00
Sergii Kabashniuk 4d78766f08
Add index in thread names (#11608) 2018-10-13 14:28:15 +03:00
Sergii Kabashniuk 518c5f282b
Add cause information in case of InvocationTargetException | IllegalAccessException happened in LoggedRunnable (#11602) 2018-10-12 13:40:10 +03:00
Sergii Kabashniuk 65bd65e23b Upgrade to new dependency mockito-testng (#10647) 2018-10-10 13:58:33 +03:00
Sergii Kabashniuk ad8fd5e8df
Limit pool size used to process Json/rpc requests (#11456)
Limit pool size used to process Json/RPC requests (#11456)
2018-10-05 16:56:39 +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
Sergii Leshchenko 5b848a6b02 CHE-10991 Add creating of workspace service account in Che Kubernetes Helm chart 2018-09-13 11:03:09 +03:00
Roman Iuvshyn ea410c3340
RELEASE: Set next development version (#11169) 2018-09-12 11:53:42 +03:00
Kuperman Sergey 70f25dbebc Make Resource memory request configurable for k8s and OpenShift (#10673)
- Make Resource memory request configurable for k8s and OpenShift.
- Add alias for backwards compatibility to che.workspace.default_memory_limit_mb.
- set memory request to 512Mb.
- document CHE_WORKSPACE_DEFAULT__MEMORY__REQUEST__MB in che.env.
- Configure helm scripts to allow memory attributes on deployment.
Signed-off-by: Sergey Kuperman <sergey.kuperman@sap.com>
2018-09-06 13:02:42 +03:00
RomanNikitenko 9e5d88bfcb
CHE-10754. Log at the DEBUG level when xml document parsing is quiet (#10997)
* CHE-10754. Log at the DEBUG level when xml document parsing is quiet

Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>

* Return problem instead of error logging when pom file for reconciling is empty

Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
2018-09-04 13:47:17 +03:00
Sergii Leshchenko 194e2c5eff CHE-10861 Add an ability to register permissions check for remote subscription 2018-09-04 11:07:00 +03:00
Sergii Leshchenko dc25b5a5fc CHE-10861 Add concept of JsonRpcMethodInvokerFilter 2018-09-04 11:07:00 +03:00
Sergii Leshchenko fd57238c08
Fix putting Che Subject into ServerEndpointConfig if http session is null (#10993) 2018-08-31 10:10:38 +03:00
Sergii Leshchenko cf5d03718e CHE-10861 Add settings subject into EnvironmentContext for WebSocket connections 2018-08-30 10:17:10 +03:00
Roman Iuvshyn d99b2ed73d
RELEASE: Set next development version (#10867)
* RELEASE: Set next development version
2018-08-22 12:06:38 +03:00
Igor Vinokur 349cbe094d
CHE-10360: Hide the 'From Archetype' field if parent folder with pom.xml is selected (#10718)
Hide the 'From Archetype' input field in the Maven project type wizard if 'Parent' witch contains pom.xml is selected in the import project Wizard due to the maven archetype generation plugin restrictions.
2018-08-22 09:34:11 +03:00
Mykhailo Kuznietsov dcb00c53d0
Fix remaining files with licenses (#10746) 2018-08-21 10:25:45 +03:00
Sergii Leshchenko 43066dcd22
Add an ability to configure whether authentication via cookies is enabled (#10763) 2018-08-15 08:59:23 +03:00
Sergii Leshchenko de1459c52b Add attributes field to workspace config object 2018-08-10 14:06:41 +03:00
Victor V. Rubezhny 57c43ac8cd Update fmt plugin to latest to enable skipping check #10554 (#10667)
The files are reformatted in order to suit the requirements of coveo maven fmt plug-in of v.2.5.1

Signed-off-by: Victor Rubezhny <vrubezhny@redhat.com>
2018-08-08 07:20:05 +00: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
Max Shaposhnik 1471003ae4
Add exclusions mechanism into jwtproxy config builder & exlude liveness probes from auth 2018-07-24 18:18:26 +03:00
Sergii Leshchenko efaef7e0d1 Introduce secure servers and add SecureServerExposer 2018-07-12 14:50:56 +03:00
Roman Iuvshyn 985d368f2d
RELEASE: Set next development version (#10345)
* RELEASE: Set next development version
2018-07-10 15:56:52 +03:00
Eugene Ivantsov c4c4ab2421
Merge pull request #10088 from vrubezhny/che10083
NPEs on workspace start-up #10083
2018-07-02 08:12:13 +03:00
David Festal d4e2d0f3a1
Fix a bug in the Che GWT maven plugin that prevents RhChe to build with upstream `master` (#10177)
It is a bug in the Che GWT maven plugin (in the `ProcessExcludesMojo`) that prevents `rh-che` to build correctly against the Che upstream `master` branch.

The fix consists in using the `baseVersion` (i.e. `6.8.0-SNAPSHOT` for example), instead of the precise version (i.e. `6.8.0-20180625.090508-19` for example) when trying to resolve excluded artifacts, since the precise version available in the Maven repositories can be a different between the main artifact and excluded artifacts.

Signed-off-by: David Festal <dfestal@redhat.com>
2018-06-26 09:36:20 +02:00
Roman Iuvshyn d7e1c73cf8
RELEASE: Set next development version (#10110) 2018-06-19 17:24:50 +03:00
Victor Rubezhny d307c23da9 NPEs on workspace start-up #10083
Fixes #10083

Signed-off-by: Victor Rubezhny <vrubezhny@redhat.com>
2018-06-18 14:29:43 +02:00
Oleksandr Garagatyi 95d2bfb39c Cleanup code of unrecoverable events in k8s/OS infras
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-06-04 14:48:30 +03:00
Roman Iuvshyn 7231585f4b
RELEASE: Set next development version (#9862) 2018-05-30 12:01:54 +03:00
Dmytro Kulieshov 7a52c83f4d
Several improvements to the way remote language servers may be configured through workspace configuration (#9387) 2018-05-18 12:17:30 +03:00
Anton Korneta deae9c25d5 Add JGroups based status cache and lock service 2018-05-17 11:50:00 +03:00
Max Shaposhnik 149f199da6 Add DB termination on application shutdown (#9683) 2018-05-15 09:50:35 +03:00
Roman Iuvshyn 6677e27a6b
RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
Max Shaposhnik 8c3d2ead36
Fixed removal of remote subscriptions in manager (#9560) 2018-05-02 14:30:36 +03:00
Roman Iuvshyn edb0e15e6f
RELEASE: Set next development version (#9473) 2018-04-18 08:31:24 +02:00
Max Shaposhnik 66f9d0bed9
Add replicated storage for remote websocket subscriptions (#9311) 2018-04-11 14:33:52 +03:00
David Festal c19ccdcdee
Use the owner Id only in the workspace `RuntimeIdentity` (#8859) (#9274)
* Use the owner Id only in the workspace `RuntimeIdentity` (#8859)

Signed-off-by: David Festal <dfestal@redhat.com>
2018-03-30 14:28:11 +02:00
Roman Iuvshyn e006334aad
RELEASE: Set next development version (#9268) 2018-03-28 10:58:30 +03:00
Jonah Graham c69cf5135c CHE-8557: No Dto available for FormattingOptions (#8784)
* CHE-8557: No Dto available for FormattingOptions

The Dto isn't needed for FormattingOptions as it is really a specialized
Map and the types that contain a FormattingOptions field handle
the field as a Map during JSON serialize/deserialize

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Test cases for Either deserializing

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Fix Either handling when deserializing on the server

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Use actual type for Map conversions

The is necessary to ensure handling types which are of type Map are
still instantiated in their real type. Consider
DocumentFormattingParams.setOptions() which takes a FormattingOptions
class.

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Register LSP4J's Either adapter factory

This is effectively a follow up CHE-3103 which uses Gson directly
to serialize/deserialize Json. To support LSP4J's Either types,
the either type adapter factory is needed.

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* load EitherTypeAdapterFactory for registration

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
2018-03-16 15:09:01 +02:00
Oleksandr Garagatyi 248dd50dc4 Allow to use NULL in JDBC env vars
Allows to use NULL as a value of JDBC config to simplify usage of
environment variables for JDBC settings in k8s/Openshift
deployment files. NULL is treated as unset variable.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-03-12 10:56:34 +02:00
Sergii Kabashniuk e8750d6084
Allow to configure logback logger with env variables (#8998)
Allow to configure logback logger with env variables (#8998)
2018-03-07 13:31:57 +02:00
Roman Iuvshyn dbdac2a604
RELEASE: Set next development version (#9038) 2018-03-07 17:53:03 +07:00
David Festal 21e00e9b15
Make CHE 6 multi-tenant compatible for OSIO (#8805)
* Copy the boostrapper config file to POD *installer by installer* to avoid executing a huge command, which in turn tries to send a huge GET request (73kb-long URL).
This long GET request was previously not supported by the fabric8 oso proxy.

See https://github.com/openshiftio/openshift.io/issues/2254 for more
details. 

* Make the Kubernetes / Openshift infrastructures multi-tenant-compatible

This includes:

1. Reworking the `KubernetesClientFactory` and `OpenshiftClientFactory`
to:
    - share a single `OkHttpClient` that is the basis of all created
Kubernetes or Openshift clients potentially pointing to
different.cluster URL with different authorization tokens
    - provide the workspaceId in the `create` methods whenever it's
available (workspace start / stop, idling, etc ...
    - have distinct methods for creating the Kubernetes client and the
Openshift client (required since the Openshift client creates connection
leaks on some calls such as exec of POD watch)
This is the implementation of issue
https://github.com/redhat-developer/rh-che/issues/516

2. Adding the `userId` into the SPI `RuntimeIdentity` object. Currently,
only the `userName` is available in this object that gathers information
about the identity attached to a workspace runtime. This change is
required because the `userId` should be accessible from the
`workspaceId` for implementing multi-tenancy and creating workspace
resources in a user-specific location.
This is the implementation of issue
https://github.com/redhat-developer/rh-che/issues/501

* In the Openshift infrastructure, the authentication interceptor should
always convert userName/password-based authentication to
oauth-token-based authentication, even when using the
`KubernetesClient`.

Signed-off-by: David Festal <dfestal@redhat.com>
2018-02-22 18:23:10 +01:00
Max Shaposhnik e40a2902bb
Perform liveness checks of wsagent by dedicated URL 2018-02-21 12:15:12 +02:00
Dmytro Kulieshov 7e128d41f5
Thread-unsafe collections used for subscription contexts 2018-02-15 12:33:25 +02:00
Roman Iuvshyn e2762411b3
RELEASE: Set next development version (#8773) 2018-02-14 15:00:52 +02:00
Sun Tan 33ae1dbf19 Cleaning MDC at the end of the request, avoid keeping MDC from one request to another when a thread is reused
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-02-07 11:11:50 +01:00
Sun Tan ccd6878dd9 Copying MDC context in every async calls that go through ThreadLocalPropagateContext.wrap method
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-02-07 10:47:21 +01:00
Sergii Kabashniuk 71dc4475a9
Property rename: old value to new support (#8636)
During code evolution might be the case then someone will want to rename some property. This brings a couple of problems like support of old property name in external plugins and support old configuration values in code with the new property name. To cover these cases there is a file che_aliases.properties that contains old names of all existed properties. It has such format current_name =old_name, very_old_name. In this case will be such binding.

Always current_name = current_value
if old_name property exist it will be binded to old_value, and current_name = old_value and very_old_name = old_value
if very_old_name property exist it will be binded to very_old_value, and current_name = very_old_value and old_name = very_old_value
NOTE: its prohibited to use a different name for same property on the same level. From the example above - you can use environment property CHE_CURRENT_NAME and CHE_OLD_NAME. But you can use it on a different level, for instance, environment property and system property.
2018-02-07 09:15:52 +02:00
Roman Iuvshyn f50c2ebbf5
RELEASE: Set next development version (#8496) 2018-01-31 17:53:10 +02:00
Max Shaposhnik 2902fc75a4
Refactor remaining everrest websocket endpoints to use Json RPC (#8388) 2018-01-24 16:17:00 +02:00
Oleksandr Garagatyi 9d75f3e219
Rework default memory limit setting (#8422)
Extract default machine memory limit setting from
InternalEnvironmentFactory to recipe specific environment
factories.
Make memory limit attribute optional by respecting it by
resource API subsystem.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-01-24 12:47:06 +02:00
Mykhailo Kuznietsov 2c2bd6637c
Set new year in license headers (#8244) 2018-01-11 16:04:49 +02:00
Sun Tan ec77e22046 Adding identity_id from keycloak to the logs through MDC Context
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-01-05 13:46:28 +01:00
Sun Tan 0aaf476af6 Adding request_id header to the logs through MDC Context
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-01-05 13:46:28 +01: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
Max Shaposhnik 8ff1be36f5
Added support of Idenvity brokering mechanism of Keycloak for Multi-user Che 2017-12-21 17:50:03 +02:00
Ilya Buziuk b4ba12302a Support of headers to 'HttpJsonRequest'. Adding 'Connection: close' header while checking server availability in 'HttpConnectionServerChecker'
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-12-19 16:02:00 +01:00
Oleksandr Garagatyi 10d70ca9cc CHE-7834: add field 'status' into runtime machine object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-12-19 08:51:04 +02:00
Roman Iuvshyn 5a6d3910b2
RELEASE: set next dev version (#7882) 2017-12-14 15:51:34 +02:00
Oleksandr Garagatyi 6b7b1c6468 CHE-7561: add internal server concept into workspace API
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-12-11 11:41:11 +02:00
Artem Zatsarynnyi 4ca92c9bc4
Made it possible to extend Che IDE GWT app in custom assemblies by including additional plugins and/or excluding existing (standard) ones (#7746)
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-12-06 16:46:41 +02:00
Mykhailo Kuznietsov 587c4fdac8
Adapt to new Flyway library version (#7711) 2017-12-05 12:08:49 +00:00
Sergii Leshchenko 760fbea420
Renamed properties to attributes in Machine model object (#7687)
CHE-6803 Rename properties to attributes in Machine model object

It also contain removing outdated WsAgentPingRequestFactoryTest
2017-12-04 11:25:31 +02:00
Sergii Leshchenko cc1520f5a1 CHE-7495 Remove warnings from environment config 2017-12-01 14:41:28 +02:00
Mykhailo Kuznietsov f3648ca460
Set default uncaught exception handler (#7567) 2017-11-30 16:30:29 +00:00
Oleksandr Garagatyi 09a16f8a48 CHE-7560: Add attributes field to Machine Server object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-11-30 10:53:03 +02:00
Oleksandr Garagatyi ce1e6433ab CHE-7560: add attributes field to ServerConfig object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-11-30 10:53:03 +02:00
Sergii Kabashniuk 1e5109a1ba
Remove deprecated classes (#7575)
* Remove deprecated classes
2017-11-27 18:08:10 +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
Dmytro Kulieshov 0f635cf122
Added JSON-RPC back-end to Project API and removed deprecated VFS classes (#7380) 2017-11-20 12:02:46 +02:00
Artem Zatsarynnyi 23c48e972b
Allow to skip the DTOs generation during maven build (#7348)
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-11-14 13:03:18 +02:00
Max Shaposhnik 0b7f4ed3f4
Use single jndi datasource factory; 2017-11-08 15:21:33 +02:00
Florent BENOIT 723363bf7b specify more path of the file to search to also match on filesystem not sorting by default with lexicographical order
Change-Id: Ib2eb1f5b5601542a56a6dede103a699c370a0d69
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-11-06 16:37:54 +01:00
Florent BENOIT 74591f5906 Avoid that copy dependency is copying artifact with timestamp
Change-Id: Ia37e3c141298ef210d71204d8296a0a925bce8de
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-11-06 16:37:54 +01:00
Artem Zatsarynnyi b1f5d0368c
Make compiler:compile less talkative while compiling the generated DTO impls. (#7169)
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-11-03 12:51:59 +02:00
Mykhailo Kuznietsov 5a58402e28
workspace master and agent : avoid scan of classes at runtime in order to find DynaModules (#6922) 2017-11-01 13:06:09 +00:00
Roman Iuvshyn 19f5fd1f5a
RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
Artem Zatsarynnyi f15fbf1cb1
IDE agnostic way to launch GWT Super DevMode (#7084)
Adapted modules to gwt-lib/gwt-app lifecycle;
shared libs have been cleaned up from the GWT related stuff;
enabled launching Super DevMode with a reactor goal gwt:codeserver;
enabled launching Super DevMode inside a dev-machine (for Che in Che development);
separate compiling IDE GWT app from packaging IDE Web app.

Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-10-31 15:27:22 +02:00
Oleksandr Garagatyi 74bbcde05f CHE-6124: Normalize servers in internal machine
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-10-26 12:10:36 +03:00
Oleksandr Garagatyi cd1301d115 CHE-6124: Do not publish exposed ports in Docker machines
Publish port in Docker machines only in case there is a server
in the workspace config that represents the port.
Refactor OpenShift infrastructure code.
Refactor Docker infrastructure code.
Add constant of memory attribute and reuse it everywhere it is
hardcoded.
Add constant for installer environment attribute and reuse it
everywhere it is hardcoded.
Add machine memory attribute validation to workspace validation.
Move provisioning of servers, environment variables from
infrastructure implementations to runtime SPI abstract level.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-10-26 12:10:36 +03:00
Florent BENOIT cfc9751733 Make the test Java8/9 compliant
Change-Id: I0052c6dbb8a667ddd7a32706ee088f728f02cc20
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-25 11:29:53 +02:00
Florent BENOIT c7d34fb46f Remove unused SystemInfo attributes (cpu, freeMemory, totalMemory) (#6946)
* Remove unused "dead" code on cpu/freeMemory/totalMemory

Change-Id: I41bd108ce4b2af15693d57a5fa0c72caab932289
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-25 10:13:04 +02:00
Florent BENOIT f2ee3bf834 Allow to use Java9 method to get pid (avoid internal reflection)
Change-Id: I50b05b86d53d21b6b8006a78c8aca722ce2372f2
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-24 15:49:02 +02:00
Sergii Kabashniuk 487ad8508c Merge with master 2017-10-21 19:30:48 +03:00
Florent BENOIT 3f262e620e Cleanup some Mockito deprecated usage (che6) (#6864)
* Cleanup some Mockito deprecated usage
org.mockito.Matchers —> org.mockito.ArgumentMatchers
org.mockito.runners.MockitoJUnitRunner —> org.mockito.junit.MockitoJUnitRunner

Change-Id: Icf7351cb58e0f42fa95885c2d2cf6b5e98206c35
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-21 09:07:43 +02:00
Florent BENOIT 9bb0aa445f Cleanup some Mockito deprecated usage (#6863)
* Cleanup some Mockito deprecated usage
org.mockito.Matchers —> org.mockito.ArgumentMatchers
org.mockito.runners.MockitoJUnitRunner —> org.mockito.junit.MockitoJUnitRunner

Change-Id: Icc1ee9b4ec16e35cab09842057a275a0133571b4
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-21 08:10:33 +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
Florent BENOIT c2c1c19e42 Apply google format v1.4 https://github.com/google/google-java-format/releases/tag/google-java-format-1.4
Change-Id: I11c453a67608810638f8e8e9cf4705ec93b2320c
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-19 22:07:40 +02:00
David Festal 8871b5b08a Multi-tenant compatibility (#6738)
* Ping the wsagent URL (possibly external), not the *internal URL*.

* Use `getProperties().getInternalUrl()` when `getUrl()` returns `null` 

* Add a new provider for an optional routing suffix for workspaces to be
used in the external URLs of created workspace agents in the
use-cases where a custom server evaluation strategy is used (Openshift,
Traeffik, etc ...).

* Add 2 new macros for the custom server evaluation template which are:
    - `user`: the current environment context user if any,
    - `workspacesRoutingSuffix`: the suffix returned by the available
`WorspacesRoutingSuffixProvider` if any.

Both values can null, in which case they are not added to the ST
variables, so that it is possible to test on their existence in the
template. For example:

```
<if(workspacesRoutingSuffix)><user>-che.<workspacesRoutingSuffix><else><externalAddress><endif>
```

* Add a new provider to get workspace-related Openshift configuration containing:
    - the `io.fabric8.kubernetes.client.Config` object to connect the right
Openshift cluster / namespace in which workspaces will be created
    - The name of the namespace in which workspaces are cteated
    - A boolean that tell if the workspaces will be created in a different
cluster as the che-server.

These data returned by the subclasses of the new provider can of course
depend on the current user (and this will be the case for multi-tenancy)

* Also support the `application/vnd.api+json` content type in responses

* Now use the new providers to connect to the right clutser / namespace

* Allow the Docker connector to return the API endpoint...

The base `DockerConnector` class returns `null` as the endpoint, thus
keeping the previous behavior.

However the `OpenshiftConnector` implementation now returns the API
endpoint without the need for any environment variable:

Indeed in the case of Openshift, the API endpoint is either based on:

    - the internal fully-qualified name of the `che-host` service if
workspaces are to be hosted on the same Openshift cluster,
    - the external URL of the `che` route if workspaces may be hosted on a
distinct Openshift cluster.


* If related properties or env variables are void, use the connector to retrieve
the API endpoint.

* Required changes for multi-tenancy in deployment script

* Allow overriding the agent log directories in a clean way so that we don't need
to replace the `XXXWsMasterModule` class only
to override the `run_command` binding.

* Move some local-docker-related configuration into a separate `dynamodule`.
This avoid the need to override the `WsMasterModule` class and comment
these bindings in derived assemblies that use a distinct implementation
or don't need Traeffik (such as for Openshift deployments). 

* Return `OpenShiftException` when workspaces namespace cannot be reached 

* Add multi-tenancy options to the deploy script

* Add the `CHE_EPHEMERAL` and `CHE_USE_ACME_CERTIFICATE` options

* Fix the name of the used docker image for multi-tenant

Signed-off-by: David Festal <dfestal@redhat.com>
2017-10-19 15:01:56 +02:00
Sergii Kabashniuk f4cc97acce Set next version 6.0.0-M1-SNAPSHOT 2017-10-19 13:53:40 +03:00
Sergii Leshchenko bac6efc5e2 Added environment variables configuration to Machine model (#6802)
* CHE-6702 Add env variables to machine config

* CHE-6702 Add setting of env variables into OpenShift machines

* CHE-6702 Add setting of env variables into Docker machines

* CHE-6702 Make env field known for stack validator
2017-10-18 18:11:54 +03:00
Sergii Kabashniuk e321ab00b1 Merge with master 2017-10-15 14:33:47 +03:00
Florent BENOIT 9581a9bbef Move to mockito 2.10
Some changes are required like
 - anyString() --> nullable(String.class) for many tests as in fact we provide null values
 - add class for VerificationMode as there are more than one method now (can't use lambdas)
 - remove cast on ArgumentMatcher (now we can use lambdas as there is generics)
 - remove unecessary stubbing (mockito is now reporting un-needed stubs)

Change-Id: I69c7ccc86bc85a4401d5e33671229ae0ce560dbb
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-15 10:34:15 +02: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
Artem Zatsarynnyi 5041b59e6e Merge branch 'master' into spi 2017-10-12 11:54:46 +03:00
Dmytro Kulieshov 6d71a32449 Heap on master filled with JSON-RPC message Strings (#6676) 2017-10-11 16:31:25 +03:00
Artem Zatsarynnyi 22c21265aa Merge branch 'master' into spi 2017-10-11 10:16:43 +03:00
Valeriy Svydenko e2439d78d9 Send events from server to client about project's changes (#6628) 2017-10-10 15:46:27 +03:00
Yevhen Vydolob 17f374a104 #6251 handle partial WebSocket messages (#6622)
Signed-off-by: Yevhen Vydolob <evidolob@codenvy.com>
2017-10-10 11:46:44 +02: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
Artem Zatsarynnyi 4bc18519db Merge branch 'che-multiuser' into spi 2017-10-05 16:30:22 +03:00