Commit Graph

730 Commits (da3eefe2378e878de1801ac5912c031ae172dfef)

Author SHA1 Message Date
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 4edd9190bf Make k8s/OS internal runtime return commands 2018-11-27 09:19:28 +02:00
Sergii Leshchenko 0ff2a2ee0e Update Che Plugin Broker to v0.4.0 version
The reason why it is updated: ChePluginBroker:v0.4.0 publishes id
and version of plugins
2018-11-27 09:19:23 +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
Angel Misevski fa2a2dffeb Add property to control ping interval in ServersChecker
Add property `che.workspace.server.ping_interval_milliseconds` to
control ping interval when checking that servers are running during
workspace start.

Default value is 3000 ms (3 seconds) which is the current hardcoded
interval.

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2018-11-22 11:28:34 -05: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
Roman Iuvshyn 99afaef87f
RELEASE: Set next development version (#11930) 2018-11-14 12:29:03 +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
Sergii Kabashniuk 5b4aea8cc3
Added dirigible server to liveness probes list (#11829) 2018-11-06 10:24:08 +02:00
Roman Iuvshyn 365d25f275
RELEASE: Set next development version (#11710) 2018-10-24 16:38:03 +03:00
Oleksandr Garagatyi fde09c684a Change Theia broker image to one hosted in wsskeleton repo 2018-10-18 11:41:32 +03:00
Thomas Mäder 60e9470bf9 Fix stacks ci tests, allow wait for multiple jdltls resolve msg (#11517)
Signed-off-by: Thomas Mäder <tmader@redhat.com>
2018-10-17 15:05:02 +02:00
Thomas Mäder d9870629c6 Removed unused eclipse bundles (#10907)
Signed-off-by: Thomas Mäder <tmader@redhat.com>
2018-10-17 15:05:02 +02:00
Valeriy Svydenko a10f8194e1 use jdt.ls extension in java test-plugin (#7429)
Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
2018-10-17 15:05:02 +02:00
Valeriy Svydenko db11bd3e30 use extension of jdt.ls
Signed-off-by: Valerii Svydenko <vsvydenk@redhat.com>
2018-10-17 15:05:02 +02:00
Thomas Mäder 8b5d67d063 Clean up install script & added launcher plugin
Signed-off-by: Thomas Mäder <tmader@redhat.com>
2018-10-17 15:05:02 +02:00
Vitalii Parfonov 355535dc56
Cleanup code afre removing test LangServer (#11613)
Signed-off-by: Vitalii Parfonov <vparfonov@redhat.com>
2018-10-17 08:48:54 +03:00
Sergii Kabashniuk 8cc8a3e8f2
Add workspace name and namespace as environment variable (#11623)
Add workspace name and namespace as an environment variable (#11623)
2018-10-16 17:19:07 +03:00
Oleksandr Garagatyi 0797d09343 Change dockerimage location to my personal account
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-10-15 13:07:12 +03:00
Oleksandr Garagatyi caa36ae58c Add workspaceEnv to plugin, populate it on sidecar resolving
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-10-11 15:01:58 +03:00
David Festal 534a961e84
Provide better compatibility with alternate OIDC providers (#11090)
Currently in Che there are still a number of requirements in upstream that are not required by the OIDC specification, so that Che still cannot be used with a number of OIDC compliant providers.
For example, in order to have Che working with the [`node-oidc-provider`](https://github.com/panva/node-oidc-provider), the following changes were necessary:

- Remove the requirement to have the email as a claim in the JWT access
token: this is not required the specification and is not supported by a
number of OIDC providers. Normally, the Id token contains such claims.

  So now if the email is not in the JWT token the first time the user connects to Che, ten the email is retrieved from the OIDC provider through its `user-profile` endpoint.

- Explicitely specify the the `openid email profile` scope when requesting the access token. Because OIDC providers, when answering to the `userInfo` endpoint, are expected to return claims that corresponds to the scopes of the access token. So if an access token has the `openid` scope only, the `userinfo` might return no claim at all (according to the specification).

  Until now it was working since keycloak allows adding claims to the returned tokens anyway.

- Allow supporting fixed redirect Uris: most OIDC providers support having a list of redirect URIs to come back to after the authorization step.  But these authorized Uris don't necessarily support wildcards or prefix. Che doesn't support this currently, and these changes introduce 2 fixed callback HTML pages that redirect to the Dashboard / IDE URL of the final page we want to come back to after authentication. This makes Che compatible with more OIDC providers

  We introduced a new boolean property to enable / disable fixed redirect URLs:
  `che.keycloak.use_fixed_redirect_urls` 
  whose default value is `false`

- The previous points required some light changes in the Keycloak Javascript adapter file, that we will submit as a PR to the Keycloak project. I, the meantime the `OIDCKeycloak.js` file is still used, but has been updated to be now based on the `keycloak.js` file of the last `4.5.0-final` Keycloak release. This will make this Keycloak PR easier to get accepted.

  Please keep in mind that this version upgrade only impacts the alternate OIDC provider case: when using a real Keycloak server, Che *always uses the `keycloak.js` file provided by the Keycloak server*. 


Signed-off-by: David Festal <dfestal@redhat.com>
2018-10-10 20:52:35 +02:00
Sergii Kabashniuk 65bd65e23b Upgrade to new dependency mockito-testng (#10647) 2018-10-10 13:58:33 +03:00
Max Shaposhnik 127c433d8a
Define image pulling strategy for sidecars via configuration 2018-10-09 14:20:06 +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
Sergii Leshchenko ef41077252 Adapt GWT IDE to RuntimeLogEvent changes 2018-10-04 21:12:36 +03:00
Sergii Leshchenko a222971865 Replace MachineLogEvent with more abstract RuntimeLogEvent 2018-10-04 21:12:36 +03:00
Roman Iuvshyn 63b389c2fe
RELEASE: Set next development version (#11434)
* RELEASE: Set next development version
2018-10-04 18:25:39 +03:00
Sergii Leshchenko 969f1d4d15 Configure liveness probe for server (PR #11454) 2018-10-04 12:28:39 +03:00
Sergii Leshchenko ff8902da79 Add an ability to configure liveness probes for servers (PR #11454) 2018-10-04 12:28:39 +03:00
Sergii Leshchenko 71ddbc4996 Move provisioning of CHE_MACHINE_NAME in a separate provisioner
Since new machines may be added from Che Plugins description it is needed
to move provision CHE_MACHINE_NAME environment variable to provisioning phase
instead of creating of environment
2018-10-02 17:15:50 +03:00
Sergii Leshchenko 616c700b35
Make Che Server depending on plugin broker image tag instead of latest version (#11422) 2018-10-02 17:06:02 +03:00
Max Shaposhnik 89041db8d1
Provide support for MySQL & add integration tests 2018-10-01 18:08:02 +03:00
Sergii Leshchenko b5b187e182
Merge pull request #11367 from sleshchenko/smallFixes
Add different small improvements
2018-09-27 17:49:15 +03:00
Max Shaposhnik ce31146629
Add possibility to configure timeout for plugin broker 2018-09-27 09:52:24 +03:00
Sergii Leshchenko e77f545d6a Fix mistake in an error message in ApiAccessRejectionFilter 2018-09-26 15:54:59 +03:00
Sergii Kabashniuk e53b34b2b1
Setup default value for CHE_WORKSPACE_PLUGIN__REGISTRY__URL (#11354)
Setup default value for CHE_WORKSPACE_PLUGIN__REGISTRY__URL
2018-09-26 14:01:02 +03:00
Oleksandr Garagatyi a0a722f650 Change default sidecar memory limit to 128MB
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-09-26 13:56:17 +03:00
Oleksandr Garagatyi 42e0993e49 Add an ability to configure Pull policy for broker
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-09-24 13:08:38 +03:00
Sergii Leshchenko 41b14c71b6
Make OpenShift infrastructure to create workspace service account if needed (#11199) 2018-09-21 08:50:25 +03:00
Oleksandr Garagatyi dff4c8a1cd Change default sidecar memory limit to 512MB to let Theia work properly OOTB
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-09-20 11:26:45 +03:00
Oleksandr Garagatyi 036f044155 Add a property for default sidecar mem limit
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-09-17 14:01:34 +03:00
Sergii Leshchenko f22fbe15c5 CHE-10991 Add provisioning of service account into workspaces pods 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
Sergii Leshchenko 6a6c7f7e79
CHE-11080 Add authorization checks for BrokerService's JSON RPC methods (#11092) 2018-09-07 07:06:16 +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
Sergii Kabashniuk e9b2878ce6
Remove duplicated properties (#11066) 2018-09-05 22:38:13 +03:00
Sergii Leshchenko dfb5852da8 CHE-10861 Add permissions check for system related remote subscriptions 2018-09-04 11:07:00 +03:00
Sergii Kabashniuk 77a00179db
Add che.workspace.plugin_registry_url information to workspace/settings Rest method (#11015)
Add che.workspace.plugin_registry_url information to workspace/settings Rest method
2018-09-04 10:09:20 +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
Sergii Leshchenko 2c755f2b1d CHE-10861 Fix mapping of MachineLoginFilter to filter websocket endpoints 2018-08-30 10:16:43 +03:00