353 Commits

Author SHA1 Message Date
Laurie T. Malau
9d3a8b77d1 Manage teams as admin 2022-02-25 18:10:04 +05:30
Gero Posmyk-Leinemann
4e331313ad Revert "Revert "[server, db] AuthProviderEntry: Introduce oauthRevision to avoid repeated materialization of encrypted data""
This reverts commit ddc7aaa72c426648b5c7165567f6970d51db936a.
2022-02-24 14:30:05 +05:30
Gero Posmyk-Leinemann
a81c23ee50 [ts] Update network-facing libs like express (et al.), node-fetch, p-throttle 2022-02-21 22:34:01 +05:30
Anton Kosyakov
e1112966cc [jb] track client project sessions 2022-02-21 17:53:01 +05:30
Tarun Pothulapati
3be4e0b7a5 telmetry: show collected data under the disable option
Currently, The service ping can be disabled by going into the
admin settings. Users are more likely to do that if they have
no clue what is being sent.

This PR tries to improve this experience, by showcasing the
exact data that is being sent below the option. This is possible
by creating a new TelemetryDataProvider and injecting that
both in the `installation-admin-collector` controller
and the `gitpod-service` (`getTelemetryData` func is added here
that can be used).

This PR also adds a gaurd to the `/admin/settings` page which
was missing previously

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

replace cluster with gitpod instance in desc

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

easy nits around design and TelemetryData naming

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

gaurd telemetry method with admin access

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

replace TelemetryData at more places

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

gaurd access to `admin/settings` like other admin settings

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>

call useEffect hook early

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2022-02-21 17:42:01 +05:30
Jan Keromnes
2d443923f2 [server] Restrict snapshot access based on repository access
Also refactor:
- Simplify GuardedSnapshot.workspace
- WorkspaceLogAccessGuard → RepositoryResourceGuard
- RepositoryService.canAccessHeadlessLogs → RepositoryProvider.hasReadAccess
2022-02-21 15:47:01 +05:30
jakobhero
9a4492ef9c include anonymous ID in server-side tracking where possible 2022-02-18 09:51:58 +01:00
Tarun Pothulapati
5f6114c282 telemetry: add more fields to data
Fixes https://github.com/gitpod-io/gitpod/issues/7866

This PR updates the `installation-admin-controller` to also retrieve
more data to send with telemetry. These are not part of the
`installationAdminDb` as we do not want to store this in the database
but lazily retrieve whenever a request is sent to `/data` endpoint
of the `installation-admin` express app unlike the `uuid` and settings
which need to be stored and updated.

The following fields are added:
- `totalUsers` : specifies the total number of users in the instance
- `totalWorkspaces`: specifies the total number of **regular** workspaces in the instance
- `totalInstances`: specifies the total number of **regular** workspace instances in the gitpod instance

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2022-02-17 12:08:57 +01:00
Gero Posmyk-Leinemann
544862b9e0 [protocol] Fix toPermissionSet 2022-02-15 13:49:36 +01:00
akosyakov
43928ae6b9 jb-gw: consolidate welcome and recent screens 2022-02-15 12:30:36 +01:00
Gero Posmyk-Leinemann
caa8a23300 [ws-manager-api, protocol] Slight refactor of cluster selection
1. Generalized cluster selection for "HasPermission" AdmissionConstraints
 Before the "constraintNewWorkspaceCluster" was seen as special case, that also was too general. This way it's straight forward to extend to other permissions

 2. Separated "cluster authorization" into a separate Constraint which is applied to all ClusterSets. Before the authoritzation was more an optimization of the cluster precedence
2022-02-15 10:37:36 +01:00
Gero Posmyk-Leinemann
ec35e4f86b [protocol, server] Move "toPermissionSet" into protocol 2022-02-15 10:37:36 +01:00
Gero Posmyk-Leinemann
ddc7aaa72c Revert "[server, db] AuthProviderEntry: Introduce oauthRevision to avoid repeated materialization of encrypted data"
This reverts commit 07e013ecc2808240b768710886ff52fac0f921bd.
2022-02-14 20:35:35 +01:00
Gero Posmyk-Leinemann
4feee36008 [server] Instead of FOLLOWS_FROM, enhance notifications with clientMetadata directly 2022-02-14 16:17:35 +01:00
Gero Posmyk-Leinemann
24551594b9 [server] tracing: Avoid using FOLLOWS_FROM references due to lots of errors 2022-02-14 16:17:35 +01:00
Gero Posmyk-Leinemann
07e013ecc2 [server, db] AuthProviderEntry: Introduce oauthRevision to avoid repeated materialization of encrypted data 2022-02-11 16:44:33 +01:00
Gero Posmyk-Leinemann
5ff578ed67 [server, dashboard] Never fail when parsing ContextURL
Additionally:
 - always prefer `ws.context.normalizedContextURL` over `ws.contextURL`
 - if `normalizedContextURL` is not set, always try to normalize it
2022-02-09 15:51:31 +01:00
Jan Keromnes
913d96392c [protocol] Make ContextURL.parseToURL support the newly-accepted 'git@{host}:{user}/{repo}.git' format
Fixes https://github.com/gitpod-io/gitpod/issues/8097
Companion to https://github.com/gitpod-io/gitpod/pull/7951
2022-02-09 10:17:31 +01:00
Jan Keromnes
63f613704e [server][dashboard] Improve 'New Workspace' modal with a search input, keyboard navigation, and a new context URL suggestion API 2022-02-08 14:48:30 +01:00
Pudong Zheng
22f346c17b allow user select eap version of JetBrains IDE 2022-02-08 09:27:29 +01:00
Mads Hartmann
dd8b5b728a Remove OWNERS related files
Fixes https://github.com/gitpod-io/ops/issues/844
2022-02-08 09:15:30 +01:00
Gero Posmyk-Leinemann
d955ce10f0 [server, dashboard] Do basic rate limiting on startWorkspace 2022-02-07 18:54:29 +01:00
Gero Posmyk-Leinemann
fdd353d9c5 [server] lint: "no-floating-promises" 2022-02-04 14:29:26 +01:00
Jan Koehnlein
28e4c1c613 [gitlab] support nested repos in envvar patterns 2022-02-03 12:54:25 +01:00
Christian Weichel
b67e3ecdb7 [workspace-cluster] Introduce has-more-resources constraint 2022-02-02 18:46:24 +01:00
Christian Weichel
dbeeafafd0 [workspace cluster] Remove admission preferences 2022-02-02 18:46:24 +01:00
Gero Posmyk-Leinemann
51568c7497 [server] Stream imagebuild logs from headless workspace directly 2022-02-02 17:35:24 +01:00
Gero Posmyk-Leinemann
ce802b8841 [image-builder, et. al] Return the public workspace URL for all imagebuilds (incl. extra headers to access said URL) and store it in workspace 2022-02-02 17:35:24 +01:00
Laurie T. Malau
4d9d49d81c Allow project search and show project detail 2022-02-01 15:20:24 +01:00
Anton Kosyakov
bc75f05bba increase gradle timeouts to stabilize builds 2022-02-01 10:23:23 +01:00
akosyakov
8ea50688eb [gitpod-protocol] fix broken ws server connection in java
By default max incoming payload is set to 64Kb,
but the server does not really respect it. This commit aligns
limits with ws npm package.
2022-02-01 08:27:23 +01:00
Jan Keromnes
0736b3bbde [dashboard][server] Make Project Overview page faster by pre-fetching and caching Git provider data (branches) 2022-01-31 11:23:22 +01:00
Anton Kosyakov
615e8a0bbc fixing JB backend plugin
- remove dependencies, since JB backend already has Kotling dependencies, and adding other version leads to runtime incompatibilities
- fix memory leak of grpc message channels
- use Kotlin koroutines instead of dedicated thread for heartbeating
- implement web socket reconnection handling for Gitpod server connection
- pin java target to v.11 in all projects
2022-01-27 10:15:19 +01:00
Anton Kosyakov
ead22e609d [gitpod-protocol] exposing APIs required for JB integration 2022-01-27 10:15:19 +01:00
Simon Emms
f9ec0f8cc6 [dashboard]: create a settings tab inside admin 2022-01-26 15:53:19 +01:00
George Tsiolis
31dfc5bd6b Update WebApp team label in component owners 2022-01-26 10:17:18 +01:00
Jan Koehnlein
d30815e685 [owners] rename team meta to webapp 2022-01-26 08:27:17 +01:00
Simon Emms
18259dc5b8 Create installation admin controller 2022-01-25 12:26:17 +01:00
Anton Kosyakov
f3ed7e4a91 [ide] desktop client installation steps 2022-01-24 13:32:16 +01:00
Anton Kosyakov
b571eefeef [server] add referrer prefix to control IDE option 2022-01-24 13:32:16 +01:00
Anton Kosyakov
2f72df6f19 [server] allow to fetch owner token 2022-01-24 13:32:16 +01:00
Jean Pierre
e899a4c30c Fix incorrect type in GithubAppPrebuildConfig 2022-01-21 09:07:13 +01:00
Jean Pierre
4e2c57e672 Use space character instead of u+00a0 2022-01-21 08:13:13 +01:00
Pudong Zheng
b58cb5984b Automatic rollout latest Jetbrains IDE 2022-01-19 22:38:12 +01:00
Jan Keromnes
11c092b8b3 [db][server][dashboard] Allow censoring Project environment variables out of Workspaces 2022-01-17 19:37:10 +01:00
Jan Keromnes
1c0ee09cdc [db][server][dashboard] Implement Project-level environment variables 2022-01-17 19:37:10 +01:00
Gero Posmyk-Leinemann
9cbfc06eb4 [tracing] Filter out spans with missing spanIds 2022-01-17 16:23:10 +01:00
Gero Posmyk-Leinemann
779f8d1c56 [server] Make sure we close websockets on write errors 2022-01-17 14:58:10 +01:00
Gero Posmyk-Leinemann
94f3b38615 [dashboard] Fix broken client.dispose() 2022-01-17 09:10:10 +01:00
Jan Koehnlein
5550be1eb2 [protocol] use owner and repo in lower case in ws IDs 2022-01-14 16:13:07 +01:00