Commit Graph

668 Commits (b071721ad3fcd76216e1ca8ae11a9ebdbfd7410c)

Author SHA1 Message Date
Ilya Buziuk f80c1867fc che #9946: Better handling of unrecoverable events for k8s & openshift infra (processing both 'container' and 'pod' events)
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2018-06-25 18:55:33 +02:00
David Festal ae657b4f53
Basic support of the Eclipse Ceylon language (#10096)
Basic support of the Eclipse Ceylon language support, with the following features:
- language description,
- syntax highlighting,
- project creation.

Signed-off-by: David Festal <dfestal@redhat.com>
2018-06-21 17:43:01 +02:00
Roman Iuvshyn d7e1c73cf8
RELEASE: Set next development version (#10110) 2018-06-19 17:24:50 +03:00
Eugene Ivantsov 0a0f24308c
Merge pull request #9960 from eclipse/CHE-9899
Optimize the list of stacks
2018-06-19 11:41:52 +03:00
Eugene Ivantsov ad0ad45143 Cnsolidate stacks and samples 2018-06-19 11:41:13 +03:00
David Festal 7c3d432918
Private registries support (#9962)
* Support private docker registry in Che on Kubernetes / Openshift : related to issue https://github.com/redhat-developer/rh-che/issues/680

* Extract the `AuthConfig` and related classes to a new module

Signed-off-by: David Festal <dfestal@redhat.com>
2018-06-11 13:39:22 +02:00
Sergii Leshchenko e3fb7e3634 CHE-5918 Add an ability to interrupt Kubernetes/OpenShift runtime start
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2018-06-06 15:17:10 +03:00
i300543 34e6ab326f Improve wsmaster OpenIdConnect configurability, and helm deployment scripts (#9826)
* Improve wsmaster OpenIdConnect configurability, and helm deployment scripts
- Make username claim configurable  in cases
  Oidc provider does not support the default claim (default is "preferred_user")
- Introduce fallback for username (issuer+subject) if the username claim is not present
  in the token
- Extend helm scripts to take customOidcProvider and customOidcUsernameClaim
  parameters into account when deploying che master.
- Introduce cheDedicatedKeycloak global param, conditioning if dedicated che
  keycloak server should be deployed, and waited on by the master.
- default value for cheDedicatedKeycloak (if not defined) is true
  if the cheDedicatedKeycloak parameter is defined and is false,
  customOidcProvicer must be supplied, when using multiuser mode.

Signed-off-by: Sergey Kuperman <sergey.kuperman@sap.com>

* Code review fixes

Remove the extra if condition in configmap.yaml
Remove extra line in requirements.yaml
fix typo in deployment.yaml

* Add che.keycloak.username_claim property as NULL into multiuser.properties

* Simplify helm conditions, when deploying che master with or without keycloak

if multiuser = true, and .Values.customOidcProvider was supplied, assumption is that
we work with no keycloak (no waiting in deployment)

global.cheDedicatedKeycloak is still needed as separate variable for requirements.yaml to determine whether keycloak chart should be installed

so for keycloak deployment, no parameters need to be passed beside global.multiuser=true,
for custom OIDC :
.Values.customOidcProvider=http://url, and global.cheDedicatedKeycloak=false
both need to be set
2018-06-06 10:35:04 +03:00
Oleksandr Garagatyi 25e574a0e2 Fix start of Che assembly on non-k8s infras
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-06-06 09:59:34 +03:00
Oleksandr Garagatyi ddb86c4f40
Merge pull request #9774 from garagatyi/wsnext_infra_clean
Add an ability to try Workspace.Next features
2018-06-05 20:40:36 +03:00
Oleksandr Garagatyi ab851527c0 CHE-8265: Add a component to retrieve Workspace.Next objects
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-06-04 15:02:05 +03:00
Eugene Ivantsov 461a306791 Adding golang support 2018-06-01 07:30:33 +03:00
Roman Iuvshyn 7231585f4b
RELEASE: Set next development version (#9862) 2018-05-30 12:01:54 +03:00
David Festal e0890235fa
Allow creating OpenShift objects under the current user account on OCP (#9577)
* Support identity provider token retrieval in both JSON or URL formats.

That's required because some identity providers (such a `openshift-v3`)
correctly return the token information in JSON, as expected. So
switching to the url-based syntax should only used when the returned
json is invalid.

Signed-off-by: David Festal <dfestal@redhat.com>

* Introduce an `OpenShiftClientConfigFactory` to allow customizing the OpenShift config returned according to the current context (workspace ID, current user)

Signed-off-by: David Festal <dfestal@redhat.com>

* Openshift Infra + Multi-user => allow using OpenShift identity provider to connect to openshift with the OS oauth token of the current Che user.

This introduces a new property:

`che.infra.openshift.oauth_identity_provider`

Signed-off-by: David Festal <dfestal@redhat.com>

* Notify the user when a workspace cannot be started from the nav bar.

Signed-off-by: David Festal <dfestal@redhat.com>

* Add the ability to install the Openshift certificate into Keycloak

Signed-off-by: David Festal <dfestal@redhat.com>

* Add a yaml file to provide the openshift certificate as a secret,

in case it has to be installed into the dedicated Keycloak server.

Then the commands to install Che multiuser on Minishift with this
certificate are:

```
oc new-project che

oc process -f multi/openshift-certificate-secret.yaml -p
CERTIFICATE="$(minishift ssh docker exec origin /bin/cat
./openshift.local.config/master/ca.crt)" | oc apply -f -; \
oc new-app -f multi/postgres-template.yaml; \
oc new-app -f multi/keycloak-template.yaml -p ROUTING_SUFFIX=$(minishift
ip).nip.io; \
oc apply -f pvc/che-server-pvc.yaml; \
oc new-app -f che-server-template.yaml -p ROUTING_SUFFIX=$(minishift
ip).nip.io -p CHE_MULTIUSER=true -p
CHE_INFRA_OPENSHIFT_OAUTH__IDENTITY__PROVIDER=openshift-v3; \
oc set volume dc/che --add -m /data --name=che-data-volume
--claim-name=che-data-volume
```

Of course it's still needed to register the `openshift-v3` identity
provider in the Keycloak server, as well as, add the corresponding
`OAuthClient` object in Minihshift.

Signed-off-by: David Festal <dfestal@redhat.com>
2018-05-28 11:39:44 +02:00
Sergii Leshchenko d319bf77b5
CHE-9792 Remove Codenvy analytics components (#9795) 2018-05-24 14:26:52 +03:00
Anton Korneta deae9c25d5 Add JGroups based status cache and lock service 2018-05-17 11:50:00 +03:00
Anton Korneta 95c550d485 Rename che-multiuser-api-remote-subscription module to che-multiuser-api-jgroups 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
Mykhailo Kuznietsov cd99cf4e6c
Add ability to configure OAuth type in Multi User Che (#9640) 2018-05-14 17:37:14 +03:00
Sergii Kabashniuk 503730045e
Adding error from machine startup and installers to slf4j log (#9659)
Adding error from machine startup and installers to slf4j log
2018-05-12 14:41:26 +03:00
Roman Iuvshyn 6677e27a6b
RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
Sergii Leshchenko 192d9e2c9b Add service terminations for CronThreadPull and ProbeScheduller 2018-05-11 10:21:01 +03:00
Sergii Leshchenko 78dda67b2a CHE-9528 Disabled JPA coordination until closing JPA JChannel issue won't be fixed 2018-05-03 11:23:11 +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
Mykhailo Kuznietsov 53231af0f1
Add missing maven-server binaries for Che-in-Che deployment (#9561) 2018-05-02 12:07:25 +03:00
Mykhailo Kuznietsov b14ec230cb
Add internal and external API URL environment variables for workspaces (#9475) 2018-04-27 10:51:25 +03:00
Ilya Buziuk ac3b401649 rh-che #557: Adding property and handler for stopping k8s / openshift runtime if unrecoverable event occurs during workspace startup
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2018-04-19 13:20:14 +02:00
Oleksandr Garagatyi 004d2a07f7
CHE-9428: fix kubernetes infra after a merge of not checked PR (#9446)
Set correct bindings of generics, fix generics;
Add missing properties in che.properties and kubectl deployment.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-04-18 12:48:21 +03:00
Roman Iuvshyn edb0e15e6f
RELEASE: Set next development version (#9473) 2018-04-18 08:31:24 +02:00
Mykhailo Kuznietsov 013d485914
Use workspace limit idle timeout value in WorkspaceActivityManager (#9395) 2018-04-13 14:11:42 +00:00
Sergii Leshchenko 5f3c13574e CHE-5919 Add JPA Implementations for K8s/OpenShift Runtimes/Machines caches 2018-04-12 17:23:47 +03:00
Mykhailo Kuznietsov f6a3e10625
Revert "Use workspace limit idle timeout value in WorkspaceActivityManager (#9342)" (#9377)
This reverts commit f85c0a299b.
2018-04-11 13:22:24 +00:00
Max Shaposhnik 66f9d0bed9
Add replicated storage for remote websocket subscriptions (#9311) 2018-04-11 14:33:52 +03:00
Max Shaposhnik 161ff9416c
Configure JPA L2 cache coordination between instances on Openshift® / Kubernetes (#8982) 2018-04-11 13:44:15 +03:00
Anton Korneta 38ff5c084b Change machine token to JWT and rewrite auth mechanism 2018-04-11 10:30:32 +03:00
Mykhailo Kuznietsov f85c0a299b
Use workspace limit idle timeout value in WorkspaceActivityManager (#9342) 2018-04-11 07:08:53 +00:00
Guy Daich a48d4b42c8 k8s-infra: routing, TLS (rebased) (#9329)
Introduce an External Server Exposer Strategy, 
responsible for exposing service ports associated with external servers,
making them accessible from outside the cluster.
Move server exposure to shared k8s infra level:
- multi-host: unique hostname for each component, like Che Openshift infrastructure.
- single-host: single hostname for all components. Can be used in conjunction with TLS.
- default-host: default ingress hostname. Can be used for local development without dynamic DNS (based on ingress IP).
Add basic TLS support.
Signed-off-by: Guy Daich <guy.daich@sap.com>
2018-04-10 09:53:23 +03:00
Hanno Kolvenbach 3d841d5a2e Enable single-level DNS domains (*.domain.tld) in SINGLE_PORT mode to simplify HTTPS setup (#8983)
Enable single-level DNS domains (*.domain.tld) in SINGLE_PORT mode to simplify HTTPS setup.
Use whole folder for traefik conf to inject SSL certificates and custom configuration.
CHE_SINGLEPORT_WILDCARD__DOMAIN_IPLESS to che.env.
Signed-off-by: Hanno Kolvenbach <kolvenbach@silexica.com>
2018-04-03 13:50:58 +03:00
Anton Korneta fbedb89e58 Add ability to configure docker image build timeout 2018-03-28 17:01:57 +03:00
Max Shaposhnik 02504d2470
Make workspace expiration data persistent & shareable. 2018-03-28 12:11:06 +03:00
Roman Iuvshyn e006334aad
RELEASE: Set next development version (#9268) 2018-03-28 10:58:30 +03:00
David Festal ff3459d2d3
Support alternate OIDC providers, to prepare for the switch from Keycloak to `fabric8_auth` (#8650)
Allow switching to an alternate OIDC provider (provided that it emits access tokens as JWT tokens).

This is the implementation required in upstream Che, for issues
redhat-developer/rh-che#502 and
redhat-developer/rh-che#525

Signed-off-by: David Festal <dfestal@redhat.com>
2018-03-23 14:44:23 +01:00
Florent BENOIT a81444ff98
fix formatting rules (#9172)
Change-Id: Ief8bf286547a92d8f6d20f5fd2dca8ef1a270747
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2018-03-21 16:28:44 +01:00
Florent BENOIT f051b7f5d4
Introduce logger REST API to manage log level at runtime (#9161)
* Introduce logger REST API to manage log level at runtime

It's possible to create new logger with log level, list all loggers defined with log level, change level on a given logger, etc

Change-Id: I1c105aca33cc88f90270ade4d792d3a75191740a
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2018-03-21 15:17:36 +01:00
Oleksandr Garagatyi 879c1b66d6
Do not redirect to UD requests intended to be for the API (#9168)
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-03-21 15:56:13 +02:00
Ilya Buziuk 30391636f6 che #9062: Adding property for setting pod termination grace period for Kubernetes / OpenShift infrastructures
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2018-03-20 18:55:58 +01: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
Vitaliy Guliy 3da13d54b5 Workspace loader (#8838)
Adding workspace loader application.
2018-03-05 14:04:49 +02:00
Sergii Leshchenko 66f21932d6
CHE-9010 Fix binding for MANAGE_USERS system action (#9011) 2018-03-05 10:44:05 +02:00