Commit Graph

634 Commits (7ebc634d1b09b9d71dec3f80cfa47ee117360e8f)

Author SHA1 Message Date
Florent BENOIT a10bcea25a
[ Theia Docker image] Updates (#10552)
* - move all Dockerfile logic to separate setup file
- allow to apply patches on top of existing theia instance
- recompile all extensions to ensure its compatible with current theia version
- Then we publish internally a new version on a local registry, and change dependency version on all extensions to make compliant with this version
- install globally typescript so typescript lsp is working

remaining 4 extensions not installed:
 - https://github.com/eclipse/che-theia-github-plugin
-  https://github.com/eclipse/che-theia-task-plugin
- https://github.com/eclipse/che-theia-java-plugin
 - https://github.com/eclipse/che-theia-terminal-plugin (but terminal is not compliant for openshift)

Change-Id: Ic6ba219e35b0e83783dc37b28f05dd54f2864cf2
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2018-07-31 11:24:54 +02:00
Oleksandr Garagatyi 7d3d1cc5f3 Parse THEIA_PORT environment variable
Parse THEIA_PORT environment variable in Theia start.sh script
to prevent failure of Theia start on k8s when there is a k8s
service "theia" and k8s injects THEIA_PORT environment variable
with a value such as tcp://19.19.191.19:3000
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>

Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-07-24 10:08:39 +02:00
Oleksandr Andriienko 88add6e333
Generate yarn cache with THEIA_VERSION. Generate resolutions to use strict Theia dependencies (#10164)
* Generate cache with THEIA_VERSION, Generate resolutions to use Theia dependency with strict version.
 * Optimize docker images size.
 * Reuse Theia node_modules on default extensions build.
 * Use extensions json to get list default extensions from github or file system.

Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2018-07-23 11:31:15 +03:00
Florent BENOIT 4b376e9dfc Install the theia plug-in generator
Change-Id: I4cc95cf3851e805389f184df4ab42e401465f1ef
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2018-07-19 15:03:16 +02:00
Florent BENOIT 3f4196375f allow to not define GITHUB_TOKEN to build.sh if api rate limit on github is enough
also, if it is not provided but that the rate limit is reached, it will exit asking user to provide GITHUB_TOKEN

Change-Id: I29c575124f73afce39fda5a3fe92e57de387223c
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2018-07-19 12:40:25 +02:00
Roman Iuvshyn 985d368f2d
RELEASE: Set next development version (#10345)
* RELEASE: Set next development version
2018-07-10 15:56:52 +03:00
Sun Seng David TAN c8abb885a3
Optimizing che-theia-factory loading sequence by adding it to the def… (#10233)
Optimizing che-theia-factory loading sequence by adding it to the default che-theia docker image (#10062)

Signed-off-by: Sun Seng David TAN <sutan@redhat.com>
2018-07-05 17:05:46 +02:00
Sergii Leshchenko 43277283de
Add doc for CHE_LOGGER_CONFIG in che.env file (#10245) 2018-07-03 10:50:41 +03:00
Mykhailo Kuznietsov 80f857bbc6
Update Keycloak to 3.4.3.Final version (#10165) 2018-07-02 09:49:54 +03:00
Mykola Morhun 44681e8d44
Merge wiptheia dockerfile with Che Theia IDE dockerfile (#10148)
* CHE-10124: Merge wiptheia dockerfile with Che Theia IDE dockerfile

Signed-off-by: Mykola Morhun <mmorhun@redhat.com>
2018-06-26 18:58:23 +03:00
Mykola Morhun 93f495f5ed
Make theia Docker image be able to use yarn cache on Openshift (#10116)
Signed-off-by: Mykola Morhun <mmorhun@redhat.com>
2018-06-21 09:41:27 +03:00
Roman Iuvshyn d7e1c73cf8
RELEASE: Set next development version (#10110) 2018-06-19 17:24:50 +03:00
Florent BENOIT 7cb3779169 Use fixed version 2018-06-14 17:43:10 +02:00
Roman Iuvshyn 65fb93623c
add cli bugfix versions (#10025) 2018-06-13 12:05:00 +03:00
Mykola Morhun 79ab9c3c84
CHE-7371: Add support for custom identity providers in Che keycloak theme (#9911)
Signed-off-by: Mykola Morhun <mmorhun@redhat.com>
2018-06-04 10:33:00 +03:00
Eugene Ivantsov 3ead963cf8
Merge pull request #9869 from eclipse/self_signed_cert
Automate adding self signed cert to Java trust store in Che server pod
2018-05-31 11:43:33 +03:00
Eugene Ivantsov 13afe1f0d9 Do not save cert in a persistent location 2018-05-30 14:39:00 +03:00
Eugene Ivantsov 97ea44f064 Format 2018-05-30 14:16:27 +03:00
Eugene Ivantsov 29cb708773 Adding self signed cert to Java trust store 2018-05-30 12:27:41 +03:00
Roman Iuvshyn 7231585f4b
RELEASE: Set next development version (#9862) 2018-05-30 12:01:54 +03:00
Roman Iuvshyn 9fa80210c6
fix build.sh for theia image (#9850)
* fix build.sh for theia image
2018-05-29 15:28:19 +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
Roman Iuvshyn 81b0454c4b
add bugfix versions to cli (#9799) 2018-05-24 16:16:58 +03:00
Oleksandr Andriienko a3a208fd2f
CHE-9716: Use the fixed version of Theia in eclipse/che-theia image (#9751)
* CHE-9716: Use the fixed version of Theia in eclipse/che-theia image

Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>

* Improve code.

Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2018-05-23 16:35:08 +03:00
Roman Iuvshyn 6677e27a6b
RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
Mykola Morhun e8d3910e4b
Allow adding Theia extension on image build from within container (#9608)
* Allow adding Theia extension on image build from within container

Signed-off-by: Mykola Morhun <mmorhun@redhat.com>

* Rename environment variable

Signed-off-by: Anna Shumilova <ashumilo@redhat.com>
2018-05-05 13:26:20 +03:00
Mykola Morhun 1316a01698
Add supervisor to reap zombie processes (#9583) 2018-05-04 16:51:41 +03:00
Mykola Morhun 5de5bc52a2
Build any Theia extensions which are downloaded from a git provider (#9598) 2018-05-03 13:18:50 +03:00
Mykhailo Kuznietsov e8b471ee45
Remove cleaning up of CHE_DATA/lib folder in entrypoint.sh (#9553) 2018-05-03 09:51:58 +03:00
Mykhailo Kuznietsov b14ec230cb
Add internal and external API URL environment variables for workspaces (#9475) 2018-04-27 10:51:25 +03:00
Eugene Ivantsov b4c9fa91ea
Make Keycloak Admin configurable (#9490)
* Make Keycloak Admin configurable

* Make Keycloak Admin configurable

* Fix typos
2018-04-19 14:09:39 +03:00
Roman Iuvshyn edb0e15e6f
RELEASE: Set next development version (#9473) 2018-04-18 08:31:24 +02:00
Eugene Ivantsov fa046bd6e3
Use templates only to deploy Che to OpenShift (#9190)
* Use templates only to deploy Che to OpenShift

* Avoid breaking existing scripts

* Avoid breaking existing scripts

* Fixes

* Cleanup

* Cleanup

* Fixup

* New line and typos

* New line and typos

* Update dc/che. Env variables

* Remove creationtimestamp

* Template cleanup. Update README

* Fix DB URL env

* Add missing keycloak param

* Changes to ocp.sh to use new templates. Fix Keycloak template

* Env support

* Update server yaml. Update ocp.sh

* Configure CHE_IMAGE and CHE_TAG

* Add recycler

* Revern recycler sa

* Using credentials and creating ws in separate namespaces

* Use custom Keycloak image

* Use custom Keycloak image

* Remove use of credentials
2018-04-17 14:29:59 +03:00
Mykhailo Kuznietsov 013d485914
Use workspace limit idle timeout value in WorkspaceActivityManager (#9395) 2018-04-13 14:11:42 +00: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
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
Oleksandr Garagatyi 131ae27612 CHE-9275: Add setting of an env var to configure master logs encoding
Add setting of env var CHE_LOGS_APPENDERS_IMPL that sets Che master
logs producing configuration to deployments for:
- docker (che.env)
- kubernetes (kubectl)
- kubernetes (helm)
- openshift (scripts)
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>

Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-04-06 09:16:49 +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
Mykola Morhun ff9af64d6e
Add ability to configure Theia port (#9264) 2018-03-28 15:32:20 +03:00
Anton Korneta e1df4ead64 Remove backup of 'CHE_HOME/lib' folder 2018-03-28 11:17:20 +03:00
Roman Iuvshyn e006334aad
RELEASE: Set next development version (#9268) 2018-03-28 10:58:30 +03:00
Mykola Morhun 794f520b0c
CHE-9095: fix run of Theia default assembly first time (#9250) 2018-03-26 17:54:12 +03:00
Mykola Morhun cee370342e
Add and use script for adding git hosted plugins into Theia image (#9216) 2018-03-26 17:36:44 +03:00
Roman Iuvshyn 48ccf8ac83
Fix deployment che-multi on docker (#9222) 2018-03-24 10:55:47 +02:00
Mykola Morhun 6034d6e1c5
CHE-9095: Improve Theia build stability on plugin list changes (#9163) 2018-03-23 15:51:26 +02: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
Tatsuyuki Ishi f4fb9465e8 Expose postgres for development 2018-03-21 14:50:32 +02:00
Tatsuyuki Ishi 1591aa2839 docker-compose: stop exposing postgres to external 2018-03-21 14:50:32 +02:00