Go to file
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
.github apply codeowners for deploy module (#9160) 2018-03-21 12:17:15 +02:00
.mvn Set up maven build of core, plugins, dashboard, assembly 2016-02-12 09:47:39 +02:00
agents RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
assembly Allow creating OpenShift objects under the current user account on OCP (#9577) 2018-05-28 11:39:44 +02:00
core Several improvements to the way remote language servers may be configured through workspace configuration (#9387) 2018-05-18 12:17:30 +03:00
dashboard Allow creating OpenShift objects under the current user account on OCP (#9577) 2018-05-28 11:39:44 +02:00
deploy Allow creating OpenShift objects under the current user account on OCP (#9577) 2018-05-28 11:39:44 +02:00
dockerfiles Allow creating OpenShift objects under the current user account on OCP (#9577) 2018-05-28 11:39:44 +02:00
docs [cli] Fix cli tests by reworking how integration tests are launched (#3991) 2017-02-02 09:43:48 +01:00
ide If node is already visible in project tree, then select it instead of reload 2018-05-21 16:13:45 +03:00
infrastructures Allow creating OpenShift objects under the current user account on OCP (#9577) 2018-05-28 11:39:44 +02:00
multiuser Allow creating OpenShift objects under the current user account on OCP (#9577) 2018-05-28 11:39:44 +02:00
plugins Fixed possible places of failure due to not closing InputStreams(#9780) 2018-05-25 15:23:01 +03:00
selenium Implement selenium test for covering LS server for PHP language (#9805) 2018-05-25 15:57:13 +03:00
workspace-loader RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
wsagent Fixed possible places of failure due to not closing InputStreams(#9780) 2018-05-25 15:23:01 +03:00
wsmaster Move building of postgresql-tck module to integration build profile (#9737) 2018-05-22 09:46:39 +03:00
.gitattributes Add typescript 2016-08-09 06:29:32 -07:00
.gitignore Workspace loader (#8838) 2018-03-05 14:04:49 +02:00
CHANGELOG.md RELEASE: Update CHANGELOG (#9678) 2018-05-11 11:51:41 +03:00
CODE_OF_CONDUCT.md Set up maven build of core, plugins, dashboard, assembly 2016-02-12 09:47:39 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-01-29 08:26:21 -08:00
CUSTOMIZING.md Update customizing.md (#5328) 2017-06-12 14:15:06 +02:00
Chefile Follow up fixes after configuration property renaming (#2955) 2016-11-02 10:12:58 +02:00
LICENSE Eclipse Che Initial Contribution 4.0.0-RC2 https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9458 2016-02-12 09:47:36 +02:00
NUMBERING.md Set up maven build of core, plugins, dashboard, assembly 2016-02-12 09:47:39 +02:00
README.md reference to roadmap and meetings (#9575) 2018-04-30 10:38:36 -04:00
pom.xml Rename che-multiuser-api-remote-subscription module to che-multiuser-api-jgroups 2018-05-17 11:50:00 +03:00

README.md

Eclipse Che - Eclipse Next-Generation IDE

Eclipse License Build Status

https://www.eclipse.org/che/. Next-generation Eclipse platform, developer workspace server and cloud IDE. Che is focused on container-native development. It defines workspaces that include their dependencies including embedded containerized runtimes, a web IDE, and project code. This makes workspaces distributed, collaborative, and portable to run anywhere on a desktop or a server ... Read More

Eclipse Che

Getting Started

You can run Che in the public cloud, a private cloud, or install it on any OS. Che has been tested on Ubuntu, Linux, MacOS and Windows. The step by step guide will get you going along with our docs.

The che repository is where we do development and there are many ways you can participate, for example:

Customizing

There are many ways to customize Che out-of-the-box including stacks, templates, commands, IDE extensions, server-side extensions plugins, assemblies, RESTful APIs, and editors.

Contributing

If you are interested in fixing issues and contributing directly to the code base, please see How to Contribute. It covers:

Feedback

  • Support: You can ask questions, report bugs, and request features using GitHub issues.
  • Public Chat: Join the public eclipse-che Mattermost channel to discuss with community and contributors.
  • Roadmap: We maintain the roadmap on the wiki.
  • Weekly Meetings: Join us in our Che community meeting every second monday.

License

Che is open sourced under the Eclipse Public License 1.0.

Roadmap and Community Meetings

We publish the Che roadmap in the open and welcome anyone to join our community meetings. We love to hear from users and developers!