512 Commits

Author SHA1 Message Date
Jan Keromnes
b26e2716c3 [analytics] Fix default notification settings in analytics call
Co-authored-by: jakobhero <jakob.herold.jh@gmail.com>
2022-04-11 12:32:24 +05:30
Alex Tugarev
d7f1255dcd [bitbucket-server] add token validator 2022-04-08 18:21:22 +05:30
Christian Weichel
0303453c07 Remove checkoutLocation from StartWorkspaceReq 2022-04-08 00:29:21 +05:30
Cornelius A. Ludmann
5166afd3d9 [installer] Allow to set default workspace timeout 2022-04-06 14:35:19 +05:30
Pavel Tumik
5a62315e27 add PVC feature flag 2022-04-06 01:59:19 +05:30
Alex Tugarev
760c1d59e0 [server] log client region on bad bearer auth requests
related to https://github.com/gitpod-io/gitpod/issues/8703
2022-04-05 18:34:18 +05:30
Alex Tugarev
76b51bc224 [bitbucket-server] support for projects and prebuilds 2022-04-04 14:07:17 +05:30
Alex Tugarev
bf3bddf141 [auth] fix missing updates to dynamic login providers
this primarily affects self-hosted installation where the `ownerId` is about to change during the initial setup of the login/git provider.
2022-03-31 20:08:14 +05:30
Tarun Pothulapati
2f8616369f telemetry: Enable data fields that were disabled
https://github.com/gitpod-io/gitpod/pull/8617 disabled the telemetry
fields as those database queries were causing heavy CPU performance.

https://github.com/gitpod-io/gitpod/pull/8858 fixed that issue by
adding indexes for those queries.

This PR also adds tracing for the telemetry data provider so that we
can also count how long they take usually, and how frequently these
are called.

Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
2022-03-29 17:20:12 +05:30
jakobhero
dd2f9d56f5 [Analytics] Include Invite Url in Team created Call 2022-03-28 17:44:11 +05:30
jakobhero
a99af87478 Enrich 'workspace_started' call with projectId and type 2022-03-28 17:43:11 +05:30
Gero Posmyk-Leinemann
6043cc00bb [server] Finish spans 2022-03-21 14:44:27 +05:30
Gero Posmyk-Leinemann
9eb5fcebfb [server] Fix checkoutLocation for imagebuilds 2022-03-17 14:59:23 +05:30
Jan Keromnes
5578e23cfa [server] Fix automated prebuilds for GitHub Enterprise repositories 2022-03-14 22:03:21 +05:30
Milan Pavlik
45f13cf8e9 Format components/server with prettier 2022-03-14 21:30:24 +05:30
Gero Posmyk-Leinemann
057947d6c5 [server] Fix caching of GitHub requests by using proper key 2022-03-14 18:38:21 +05:30
Gero Posmyk-Leinemann
4dd9d0a167 [server] formatting commit 2022-03-14 18:38:21 +05:30
mustard
4f1c3922b4 [server] remove setting sync record with limit 2022-03-12 02:26:18 +05:30
mustard
f6080897a7 Remove Theia extension related code 2022-03-12 00:17:18 +05:30
Jan Keromnes
b10bdc67d9 [server][hotfix] Disable webhooks for github.com and GitHub Enterprise 2022-03-10 23:34:17 +05:30
Sven Efftinge
cc2f3b30fe [multi-repo] Support prebuilds on multi-repo setup 2022-03-10 15:46:17 +05:30
Sven Efftinge
2e1774eaf7 [multi-repos] Allow specifying subrepositories 2022-03-10 15:46:17 +05:30
Jan Keromnes
85dfa458c4 [server] Support Projects and Prebuilds with GitHub Enterprise repositories 2022-03-09 22:47:16 +05:30
Jan Keromnes
0e9ce697e2 [server] In dev-staging, don't remove the domain prefix of callback URLs for new auth providers 🤦 2022-03-09 22:47:16 +05:30
Jan Keromnes
9d4c6f26b7 [server] Fix raw file URL for GitHub Enterprise 2022-03-09 22:47:16 +05:30
Christian Weichel
42215c9302 Support private registries 2022-03-08 22:49:15 +05:30
Andrew Farries
54a765d321 Add rate limits for prebuilds
Prebuilds are rate-limited to N in the last S seconds on a rolling
window basis.
By default, 50 prebuilds are allowed in a 1 minute window.
A configuration property `prebuildLimiter` is added which controls
default rate limit but allows for explicit overrides by cloneURL.
2022-03-08 19:40:15 +05:30
Gero Posmyk-Leinemann
d03075048e [server] FailedInstanceStart metrics: add case "startOnClusterFailed" 2022-03-07 22:30:14 +05:30
Gero Posmyk-Leinemann
7c6879326c [server] Introduce metrics around clusterSelection in startWorkspaceInstance
-   'gitpod_server_instance_starts_success_total'
  - 'gitpod_server_instance_starts_failed_total'
2022-03-07 22:30:14 +05:30
Gero Posmyk-Leinemann
261201dc62 [server] Retry to start a WorkspaceInstance 2 times, with 2s break 2022-03-07 22:30:14 +05:30
Gero Posmyk-Leinemann
7e3c92e99e [server] Temp. disable expensive telemetry queries 2022-03-07 22:14:14 +05:30
Sven Efftinge
de84f281c8 [prebuilds] Introduce 'failed' state for prebuilds
Distinguish between failed tasks but finished prebuilds
and fully failed prebuilds (no snapshot)

fixes https://github.com/gitpod-io/gitpod/issues/8592
2022-03-07 20:06:14 +05:30
jakobhero
03fcf80d7b Track qualification of Signup 2022-03-02 16:17:09 +05:30
Filip Troníček
0d05dcf813 Update VS Code Settings sync schema and VS Code repo refs
Remove Theia assignments

Co-authored-by: Jean Pierre <jeanp413@hotmail.com>
2022-03-01 19:22:08 +05:30
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
Alex Tugarev
8e00078d77 [server/bitbucket] don't log notice message 2022-02-24 14:14:04 +05:30
jakobhero
1faa7f5456 include region, switch to reading ip from xff header 2022-02-24 13:01:04 +05:30
Jan Keromnes
ddc80c1867 [server] Sort suggested context URLs most-recently-used first, alphasort otherwise 2022-02-22 18:05:02 +05:30
Jan Keromnes
ec19a3f17e [server] Track snapshot access requests, and whether they are granted or denied 2022-02-22 13:24:02 +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
Gero Posmyk-Leinemann
92e8a6d767 [server] Explicitly set timeouts for all fetch() requests 2022-02-21 22:34:01 +05:30
Gero Posmyk-Leinemann
9a8964f29c [server] catch cpuprofile write error 2022-02-21 22:34:01 +05:30
Alex Tugarev
268e67c6dd [server] make ping pong async 2022-02-21 22:06: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
Alex Tugarev
64973296a4 [server] add cpu profiler
use: kill -s SIGUSR1 <pid>
2022-02-17 17:40:57 +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
ddaea0e1c2 [messagebus] Remove shovel config, and all non-local (or outdated) exchanges 2022-02-17 11:43:57 +01:00