Commit Graph

884 Commits (a92c8bfe72cf50662f685c8fec12ca48c65d7cee)

Author SHA1 Message Date
Sergii Kabashniuk 31f562144d
Sync Dockerfiles format with che-plugin-broker repository see https://github.com/eclipse/che-jwtproxy/pull/20 (#16419)
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2020-03-23 09:53:29 +01:00
Sergii Kabashniuk 214ab33a7d
Move dashboard to individual repository (#16411)
* Move dashboard to individual repository https://github.com/eclipse/che-dashboard

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2020-03-20 14:31:47 +01:00
Max Shaposhnik 8d44149e68
Update jwtproxy tag to include loopback fix 2020-03-19 11:59:53 +02:00
Vitalii Parfonov 55ac5964dd
Set next development version (#16309)
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
2020-03-13 21:34:45 +02:00
Michal Vala 14cea1b912
Logwatchers metrics (#16285)
* count workspace starts in debug mode

Signed-off-by: Michal Vala <mvala@redhat.com>

fix maven dependencies

Signed-off-by: Michal Vala <mvala@redhat.com>

observe debug mode metrics with events

Signed-off-by: Michal Vala <mvala@redhat.com>

change start attemts in debug mode metrics name, fix pom deps

Signed-off-by: Michal Vala <mvala@redhat.com>

rename start workspace in debug metrics with tags

Signed-off-by: Michal Vala <mvala@redhat.com>

* add options to workspace start event to be able to count debug starts

* remove no longer used logwatch meter binder, write hopefully proper metrics tags

Signed-off-by: Michal Vala <mvala@redhat.com>

* cleanup

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix tags again

Signed-off-by: Michal Vala <mvala@redhat.com>

* grafana graph with workspace start attempts total and in debug

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* runtime log messages and bytes metrics

Signed-off-by: Michal Vala <mvala@redhat.com>

* add missing license header

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix grafana datasources

Signed-off-by: Michal Vala <mvala@redhat.com>

* set grafana graphs mins for runtime logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* watch current logwatch instances

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix module version in pom.xml, fix log message grammar, format

* runtime log messages and bytes metrics

Signed-off-by: Michal Vala <mvala@redhat.com>

add missing license header

Signed-off-by: Michal Vala <mvala@redhat.com>

fix grafana datasources

Signed-off-by: Michal Vala <mvala@redhat.com>

set grafana graphs mins for runtime logs

Signed-off-by: Michal Vala <mvala@redhat.com>

explicitly set charset when counting runtime log bytes

Signed-off-by: Michal Vala <mvala@redhat.com>

* javadoc and fix pom module dependency

Signed-off-by: Michal Vala <mvala@redhat.com>

* tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* add grafana dashboard graph with current watchers

Signed-off-by: Michal Vala <mvala@redhat.com>

* removed infrastructure-metrics module

Signed-off-by: Michal Vala <mvala@redhat.com>

* Revert "removed infrastructure-metrics module"

This reverts commit 16392f5936378204031330971e0a874aacf0723a.

* moved CurrentLogwatchersMeterBinder into own maven and guice module and events into kubernetes module

Signed-off-by: Michal Vala <mvala@redhat.com>
2020-03-11 13:12:08 +01:00
Lukas Krejci 333bfcd23a
Make single user work with secure components exposed through localhost only (#16227)
Additionally, the following fixes are included:

* Honor the sidecar image pull policy while deploying jwt proxy sidecar into
the workspace pod.

* Configure the JWT proxy completely in the pod. Don't leave anything
to the hardcoded values in the che-jwtproxy image.


Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2020-03-06 16:58:24 +01:00
Igor Vinokur cbaf94e69c
Apply OpenShift OAuth provider (#15963) 2020-03-04 10:49:25 +02:00
Lukas Krejci 5d80e1cd4e
Change the default jwtproxy image to the latest one. (#16128)
Change the default jwtproxy image to the latest one.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2020-03-02 13:17:06 +01:00
Max Shaposhnik 9732139ab1
Add ability to set CPU limits/requests on the plugin containers
Co-authored-by: Sergii Leshchenko <sleshche@redhat.com>
2020-03-02 12:35:29 +02:00
Michal Vala bffe11e227
Watch and provide startup logs (workspace + broker pods) (#16126)
* collect logs first

* very very rough log watching implementation, does not even work

Signed-off-by: Michal Vala <mvala@redhat.com>

* ok this should work

Signed-off-by: Michal Vala <mvala@redhat.com>

* cleanup

Signed-off-by: Michal Vala <mvala@redhat.com>

* format

Signed-off-by: Michal Vala <mvala@redhat.com>

* simplify, get rid of custom input stream

Signed-off-by: Michal Vala <mvala@redhat.com>

* format

Signed-off-by: Michal Vala <mvala@redhat.com>

* start watching for logs later, when we know the machines we're interested in

Signed-off-by: Michal Vala <mvala@redhat.com>

* make waiting for containers to get the logs rather time based

Signed-off-by: Michal Vala <mvala@redhat.com>

* block closing only when workspace failure, reusing kubernetes threadpool... can this thing get any better?

Signed-off-by: Michal Vala <mvala@redhat.com>

* just some refactoring and cleanup

Signed-off-by: Michal Vala <mvala@redhat.com>

* and format

Signed-off-by: Michal Vala <mvala@redhat.com>

* reading log input stream moved to LogWatcher and PodLongHandler is now responsible for handling just single log messages

Signed-off-by: Michal Vala <mvala@redhat.com>

* more precise checking for log error

Signed-off-by: Michal Vala <mvala@redhat.com>

* format

Signed-off-by: Michal Vala <mvala@redhat.com>

* make it possible to start the workspace in debug mode

Signed-off-by: Michal Vala <mvala@redhat.com>

* debug mode in devfile attributes

Signed-off-by: Michal Vala <mvala@redhat.com>

* get rid of inconsistent executor in KubernetesDeployments#watchLogs method

Signed-off-by: Michal Vala <mvala@redhat.com>

* log and javadoc fixes

Signed-off-by: Michal Vala <mvala@redhat.com>

* nullcheckcs for the devfile and fix tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* better logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* add few tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* LogWatcher tests first batch

Signed-off-by: Michal Vala <mvala@redhat.com>

* remove unused imports

Signed-off-by: Michal Vala <mvala@redhat.com>

* bit reworked container logwatch

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix missing license headers

Signed-off-by: Michal Vala <mvala@redhat.com>

* equals, hashCode and toString

Signed-off-by: Michal Vala <mvala@redhat.com>

* that's not probably needed

Signed-off-by: Michal Vala <mvala@redhat.com>

* review fixes, simplify code, better variable names

Signed-off-by: Michal Vala <mvala@redhat.com>

* we don't need distinct on Set

Signed-off-by: Michal Vala <mvala@redhat.com>

* add rest param to watch the workspace pod logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix and add tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* return when finish with watching logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* test successful ended container log watch

Signed-off-by: Michal Vala <mvala@redhat.com>

* simplify

Signed-off-by: Michal Vala <mvala@redhat.com>

* comment up

Signed-off-by: Michal Vala <mvala@redhat.com>

* tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* PodLogHandlerToEventPublisherTest

Signed-off-by: Michal Vala <mvala@redhat.com>

* make debug workspace start query param lowercase

Signed-off-by: Michal Vala <mvala@redhat.com>

* hold sharedpool object in namespace/project factories

Signed-off-by: Michal Vala <mvala@redhat.com>

* watch plugin broker logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* synchroinze closing and adding container log watchers, wait before close on error

Signed-off-by: Michal Vala <mvala@redhat.com>

* synchronize new logwatch with closing

Signed-off-by: Michal Vala <mvala@redhat.com>

* add missing license header

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix logwatch close test

Signed-off-by: Michal Vala <mvala@redhat.com>

* get startOptions down to broker deploy to tell wether we want to watch the logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* Update infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/namespace/KubernetesDeployments.java

Co-Authored-By: Angel Misevski <amisevsk@redhat.com>

* Update infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/namespace/log/LogWatcher.java

Co-Authored-By: Angel Misevski <amisevsk@redhat.com>

* review fixes

Signed-off-by: Michal Vala <mvala@redhat.com>

* aaand format

Signed-off-by: Michal Vala <mvala@redhat.com>

* timeoutes to constants

Signed-off-by: Michal Vala <mvala@redhat.com>

* remove unnecessary AtomiBoolean, synchronize creating LogWatch, and few more review fixes

Signed-off-by: Michal Vala <mvala@redhat.com>

* limit log inputstream size to be safe

Signed-off-by: Michal Vala <mvala@redhat.com>

* remove logwatch TODO, which is fixed now

Signed-off-by: Michal Vala <mvala@redhat.com>

* don't need AtomicBoolean, extra options isEmpty check, some javadoc

Signed-off-by: Michal Vala <mvala@redhat.com>

Co-authored-by: Angel Misevski <amisevsk@redhat.com>
2020-02-27 15:16:37 +01:00
Sergii Kabashniuk c88df786e1
Make embedded OAuth authentication model default for both singe and multiuser che && allow to get OAuth token with machine token (#15705)
* Make embedded OAuth authentication model default for both singe and multiuser che
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>

* Allow to get oauth tokens with machine tokens

Co-authored-by: Oleksii Kurinnyi <okurinny@redhat.com>
2020-02-25 08:13:03 +01:00
Mykhailo Kuznietsov c3f09baac0
[release] Bump to 7.10.0-SNAPSHOT in master branch (#16081)
Signed-off-by: Mykhailo Kuznietsov <mkuznets@redhat.com>
2020-02-20 12:28:58 +02:00
Angel Misevski 444378684f Update plugin brokers to v3.1.1
Brokers update includes fix to warn user when multiple plugins embed the
same plugin (which can cause plugins to fail).

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2020-02-18 07:45:28 -05:00
Vitalii Parfonov 987e484c06
Set new development version in master branch (#15880) 2020-01-30 15:38:59 +02:00
Tom George 06792af008
Given a URL plugin reference in CHE_WORKSPACE_DEFAULT__EDITOR_PLUGINS, resolve and install it (#15757)
che #15709 Ability to add a plugin via URL, that is not in a plugin registry via CHE_WORKSPACE_DEFAULT__EDITOR_PLUGINS env var and dedicated property

Signed-off-by: Tom George <tg82490@gmail.com>
2020-01-29 11:40:06 +01:00
Angel Misevski 8082b91ce0 Update plugin brokers to version 3.1.0
Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2020-01-27 17:01:53 -05:00
Sergii Leshchenko a281bc5575
Propagate default value for persistVolumes for clients (#15775)
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2020-01-24 10:43:10 +02:00
Oleksandr Andriienko d13f9d3ecb
Add ability to set up Che workspace and postgress pvc class names using helm. (#15677)
*  Add ability to set up Che workspace and postgress pvc names using helm.

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

* improve helm value chePostgresPVCStorageClassName location

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

* Fix indent in the yaml.

Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2020-01-16 12:30:21 +02:00
Max Shaposhnik 481ca8863f
Remove outdated class 2020-01-13 19:09:04 +02:00
Max Shaposhnik 5ced53ef23
Align configuration files format to simplify automated docs generating 2020-01-13 15:27:10 +02:00
Angel Misevski 21c7288bad Refactor plugin brokering process
Refactor the plugin brokering process to accomodate changes in plugin
brokers (splitting brokers into a metadata and artifacts broker)

Co-authored-by: Sergii Leshchenko <sleshche@redhat.com>

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2020-01-09 13:26:34 -05:00
Vitalii Parfonov dcf2e1ee5f
RELEASE: Set next development version (#15632) 2020-01-09 13:51:20 +02:00
Vitalii Parfonov fce1fe9e2c
RELEASE: Set next development version (#15528) 2019-12-19 11:07:35 +02:00
Max Shaposhnik 16891c058e
Fix authentication error when non-root path requested 2019-12-19 10:53:25 +02:00
Oleksandr Andriienko f0272fbcfb
Add cloud-shell to list servers with liveness probes (#15499)
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2019-12-17 18:13:13 +02:00
Max Shaposhnik ce64b1966e
Restructurize auth modules and remove reduntant one 2019-12-11 11:19:54 +02:00
Max Shaposhnik bc3c931356
Remove outdated configuration properties 2019-12-03 18:58:54 +02:00
Lukas Krejci b99cd0e06e
Remove the beta status from the che.infra.kubernetes.namespace.allow_user_defined (#15365)
Slightly reword its description, too.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-12-02 11:19:58 +01:00
Sergii Kabashniuk deae8a8f70
Drop che_workspace_expiration table (#15357)
* Drop che_workspace_expiration table
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-11-29 11:14:14 +01:00
Vitalii Parfonov 6cabdeff4d
RELEASE: Set next development version (#15360) 2019-11-29 10:27:33 +02:00
Sergii Kabashniuk 6b4d751a2d
JvmService. Service that allows getting jvm heap and thread dump (#15201)
* JvmService. Service that allows getting jvm heap and thread dum
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-11-23 13:18:28 +01:00
Max Shaposhnik 499d6c0873
Align JGroups labels property name and add one preventing to connect to unready pods 2019-11-22 12:52:24 +02:00
Sergii Kabashniuk 29aa04cb2f
Provide metrics of k8s API execution (#15207)
* Provide metrics of k8s API execution
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-11-20 08:17:04 +01:00
Oleksandr Andriienko e3bc0a0bda
Use nightly che-machine-exec tag instead of deprecated next. (#15144)
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2019-11-12 11:42:21 +02:00
Max Shaposhnik 11bbcf0c10
Use cached sessions behind any of the login filters 2019-11-09 09:50:54 +02:00
Vitalii Parfonov e5d31ff913
RELEASE: Set next development version (#15141) 2019-11-07 17:14:27 +02:00
Sergii Kabashniuk 3de4e7ffac
Monitoring & Tracing capability for multiple Thread pools of Che Server (#14727)
* Monitoring & Tracing capability for multiple Thread pools of Che Server
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-10-30 14:11:02 +01:00
Sergii Kabashniuk 947f4d259b
Remove deprecated docker infrastructure (#14951)
* Remove deprecated docker infrastructure
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-10-29 08:08:02 +01:00
Oleksandr Andriienko d604bb4392
Don't override entrypoint for remote binary. (#14969)
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2019-10-24 10:04:27 +03:00
Lukas Krejci 7d56354a5e
Use che.infrastructure.kubernetes.namespace.default during workspace namespace resolution (#14828)
Load the workspace during then namespace resolution so that we can check
for the attribute stored in the workspace attributes.

Switch the default namespace to `<username>-che`.

Update the property descriptions in che.properties and use the new
CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT in the helm chart.

Move the delete to the KubernetesNamespace/OpenShiftProject to
concentrate the handling in one place.

Split the isNamespaceStatic() (previously called isPredefined()) into
isCreatingNamespaces() and isManagingNamespaces() to separately capture
the two usecases in which that single method was previously incorrectly
called. Also make these methods workspace-specific to be able to
consistently work with the legacy logic across all methods.

Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
2019-10-23 13:22:51 +02:00
Oleksandr Andriienko 221e7efe23
Add support endpoints for VSCode extensions and Theia plugins. (#14937)
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2019-10-23 13:08:38 +03:00
Max Shaposhnik 02a9fe9ca4
Use newer version of Jgroups and EclipseLink to prevent PKIX errors on OCP 4.x 2019-10-21 11:49:42 +03:00
Sergii Kabashniuk 0134cb488b
Disable cors on master. Cleanup cors configuration on ws-agent (#14921)
* Disable cors on master. Cleanup cors configuration on ws-agent
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-10-18 15:43:56 +02:00
Vitalii Parfonov 41d48bf2de
RELEASE: Set next development version (#14904) 2019-10-17 15:45:06 +03:00
Sergii Kabashniuk daae1cf5fe
Extend the size of the pool that is handling workspace related operations (#14884)
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-10-15 13:32:34 +02:00
Oleksandr Andriienko 36fe587e28
Use newer che-plugin-broker with che-theia remote runtime injection (#14832)
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2019-10-10 10:08:05 +03:00
Max Shaposhnik a969f69946
Validation of devfiles on workspace update 2019-10-09 20:01:32 +03:00
Sergii Leshchenko cf76ba84d0
Merge pull request #14541 from sleshchenko/k8sNamespaces
Add an ability to list available k8s namespaces
2019-10-09 16:12:36 +03:00
Sergii Kabashniuk 5afe137875
Added missing setnev.sh after moving from che-lib (#14818)
* Added missing setnev.sh after moving from che-lib

Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2019-10-09 11:23:59 +02:00
Sergii Leshchenko feb18ac7fc Added an ability to list namespace available to ws creation
Signed-off-by: Sergii Leshchenko <sleshche@redhat.com>
2019-10-09 11:47:03 +03:00