1582 Commits

Author SHA1 Message Date
Huiwen
f2cb6566c6
[bbs] check webhooks permission in scm itself (#18575) 2023-08-22 17:45:48 +02:00
Huiwen
6d7f32d841
[bbs] fix incorrect revision fetch EXP-496 (#18572)
* [bbs] fix incorrect revision fetch

* Fixup

* fixup

* 1

* Revert tests and address feedback

* fixup
2023-08-22 14:18:48 +02:00
Sven Efftinge
246d8eda48
[fga] check some admin functions (#18562) 2023-08-21 18:22:47 +02:00
Sven Efftinge
e234839ba8
[fga] prebuild access (#18560) 2023-08-21 16:55:47 +02:00
Sven Efftinge
f7432450b6
[spicedb] rolling update when schema changes (#18561) 2023-08-21 16:54:47 +02:00
Gero Posmyk-Leinemann
5daf36e83f
[fga] WorkspaceService.controlAdmission (#18549)
* [server] Move controlAdmission into WorkspaceService + tests

* [server] Implement Workspace sharing in FGA

* rebase adjustments
2023-08-21 08:42:47 +02:00
Sven Efftinge
820ca180ff
[fga] project visibility and prebuild perms (#18540) 2023-08-18 14:41:44 +02:00
Gero Posmyk-Leinemann
5304d7ac2d
[WIP][fga] WorkspaceService: watchWorkspaceImageBuildLogsm getHeadlessLog, WorkspaceService.sendHeartBeat (#18538)
* watchWorkspaceImageBuildLogs + getHeadlessLog

* [server] WorkspaceService.sendHeartBeat
2023-08-18 09:30:44 +02:00
Alex Tugarev
95d14d3f66
[server] createProject should not query all repositories – EXP-459 (#18532)
* [server] createProject should not query all repositories

except for github.com when using the GitHub App.

* fixup: circular dependency problem

* extract webhook related functions to scm-service.ts

* ensure canCreateProject is case-insensitive
2023-08-17 16:16:43 +02:00
Gero Posmyk-Leinemann
ebc0d20d72
[fga] WorkspaceService: workspace timeout + classes + git status (misc I) (#18535)
* WorkspaceService.getSupportedWorkspaceClasses + updateGitStatus

* setWorkspaceTimeout + getWorkspaceTimeout
2023-08-17 15:27:43 +02:00
Alex Tugarev
3ba583c710
[server] add searchString to getRepositoriesForAutomatedPrebuilds – EXP-461 (#18533)
* [server] add `searchString` to `getRepositoriesForAutomatedPrebuilds`

* reintroduce and fix paginated requests

* using a default cap at 10 requests per paginated request

* make getProviderRepositoriesForUser cancellable
2023-08-17 15:04:43 +02:00
Gero Posmyk-Leinemann
553f9b28f8
[server] Migrate all ports-related API calls to WorkspaceService (#18527) 2023-08-17 09:32:43 +02:00
Jean Pierre
b95a4687bf
[fga] Introduce EnvVarService (#18503) 2023-08-16 22:12:42 +02:00
Gero Posmyk-Leinemann
7d27150712
[fga] Skip old permission system if centralizedPermissions is enabled (#18519)
* [server] Disable old permission checks if centraliedPermissions is enabled

* review comments
2023-08-16 17:30:42 +02:00
Jean Pierre
6cf3aa2e26
[fga] Introduce GitpodTokenService (#18502) 2023-08-16 16:00:42 +02:00
Anton Kosyakov
e69acdf556
remove definetly-gp support (#18492)
compare to previous attempts it does not remove anything related to ExternalImageConfigFile
2023-08-15 17:40:42 +02:00
Sven Efftinge
735bf0ec1f
[fga] more FGA checks and service use (#18517) 2023-08-15 16:50:41 +02:00
Anton Kosyakov
93ec6ab1f2
[fga] extract WorkspaceService.start (#18467)
* [server] WorkspaceService.startWorkspace

* [server] Start redis if not running

* [server] Move regionCode handling into WorkspaceService.startWorkspace

* [server] move "not-deleted" check into WorkspaceService.startWorkspace

* fix sshkey tests

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2023-08-15 12:02:44 +02:00
Sven Efftinge
4e87092f17
[server] delete unused guard (#18509) 2023-08-14 14:55:40 +02:00
Alex Tugarev
4df0250739
[bbs] add pagination to getRepos – EXP-417 EXP-416 (#18498)
* [bbs] add pagination to getRepos

* fixup: a fuse to prevent infinite loop

* fixup remove .only
2023-08-14 12:12:40 +02:00
Alex Tugarev
9e5a2be333
[new-workspace] Fix recent repositories for BBS – EXP-411 (#18497)
* [new-workspace] Fix recent repositories for BBS

* fixup remove log

* fixup test
2023-08-14 11:34:40 +02:00
Jean Pierre
ec7f6d614e
[fga] Introduce sshkeyservice (#18479)
* Introduce sshkeyservice

* Add read_ssh and write_ssh permissions

* add requestorId to sshkeyservice

---------

Co-authored-by: svenefftinge <sven@gitpod.io>
2023-08-11 09:48:36 +02:00
Sven Efftinge
8e88e6466d
[server] fix typeorm metrics (#18484) 2023-08-10 20:19:36 +02:00
Sven Efftinge
645a2efa5d
[server] added metric for db pool queueing (#18477) (#18481) 2023-08-10 11:24:37 +02:00
Alex Tugarev
e971a66ac4
Improve GithubRepositoryProvider.getUserRepos – EXP-407 (#18468)
* Improve GithubRepositoryProvider.getUserRepos

The graphql query is extend to mimic what you would see in Top Repositories box visiting github.com.

* fixup consider private repos as well

* fixup missing spread
2023-08-10 10:40:37 +02:00
Anton Kosyakov
f44e55976e
[fga] migrate workspace relationships (#18459)
Co-authored-by: geropl <gero@gitpod.io>
2023-08-09 16:50:36 +02:00
Sven Efftinge
9b06d2e1ee
[fga] migrated user service methods (#18461) 2023-08-09 09:38:35 +02:00
Sven Efftinge
73533e4302
[server] fix org-owned users without membership (#18463) 2023-08-08 22:15:34 +02:00
Brad Harris
ba39001cbb
adding getTeamProjects scope (#18452) 2023-08-08 16:04:34 +02:00
Sven Efftinge
7e2b0efda3
[typeorm] increase/monitor connection pool (#18457) 2023-08-08 15:22:34 +02:00
Sven Efftinge
252db30122
[server] sequentially gc workspaces (#18456) 2023-08-08 11:55:33 +02:00
Alex Tugarev
e99800d804
[server] fix Suggested Context URLs for BBS (#18451)
* add repositories of all accessible projects
* remove user repositories from Apps (wrong permission query)
* implement `getUserRepos` for BBS
2023-08-08 08:54:33 +02:00
Sven Efftinge
667bd2f005
[usage] add optional UserID to filter usage (#18449) 2023-08-08 07:46:33 +02:00
Sven Efftinge
b2324bd303
[fga] allow toggling centralizedPermissions on/off (#18444) 2023-08-08 07:36:33 +02:00
Alex Tugarev
2ad311a92d
[server] FIx missing User.fullName attribute for SSO users – EXP-365 (#18445)
* [server] FIx missing User.fullName attribute for SSO users

Git config prefers `User.fullName` for `git config user.name`, see 24f7b609bf/components/server/src/workspace/workspace-starter.ts (L550)

This PR should re-add this values.

Users would have to re-login to get this updated.

* fixup test
2023-08-07 20:13:33 +08:00
Gero Posmyk-Leinemann
9acc185fe5
[server] Merge WorkspaceDeletionService into WorkspaceGC (#18410)
* [server] Merge WorkspaceDeletionService into WorkspaceGC

* [server] WorkspaceService.getOwnerToken + .getIDECredentials

* review comments

* [server] Cleanup around EntitlementService and BillingMode
2023-08-07 13:38:32 +08:00
Gero Posmyk-Leinemann
0d36c68390
[fga] Workspace: create, get, stop and delete (#18403)
* [server] Cleanup to make tests pass

* [server] Introduce WorkspaceService with:
 - createWorkspace
 - getWorkspace
- stopWorkspace
- deleteWorkspace
- hardDeleteWorkspace

* add log info

* fix after rebase

* review comments

* address review comment: system user
2023-08-04 21:48:29 +08:00
Sven Efftinge
9b4cc8507d
[server] handle uncaught exception from grpc-js (#18437) 2023-08-04 19:25:29 +08:00
Sven Efftinge
22c2a5506e
[server] feature flag all spicedb calls (#18428) 2023-08-03 23:55:28 +08:00
Sven Efftinge
73a98e791d
[server] run relationship updater on findUserById (#18394) 2023-08-03 23:47:28 +08:00
Anton Kosyakov
b3ae12f956
git real time (#18323) 2023-08-03 20:51:28 +08:00
Sven Efftinge
8a8b148321
[server] make first user owner (#18417) 2023-08-03 16:31:28 +08:00
Brad Harris
a65bf95005
adding getTeams scope for desktop oauth client (#18342)
* adding getTeams for desktop client

* adding getTeamMember

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2023-08-03 05:34:28 +08:00
Sven Efftinge
14b697221a
[server] fix tsc complaining about complex type (#18413) 2023-08-02 22:43:28 +08:00
Alex Tugarev
436130bf26
Fix listeners leaks – EXP-206 (#18321)
* [server] fix leaking prebuild update listeners

- check for client be defined in gitpod-server-impl
- add prebuild subscribers only if the thing is not disposed yet
   - this might have happened frequently on very short living workspacePageClose events

* [server] fix metric registration

don't override default registry, which breaks other metrics.

* fixup for getMetricsAsArray

* [server] bump prom-client
2023-08-02 18:28:27 +08:00
Sven Efftinge
3d790a8cf6
[server] enhanced mocha setups (#18390) 2023-08-02 17:05:27 +08:00
Alex Tugarev
0d22d834b1
[server] try to fix org membership on login (#18399)
* [server] try to fix org membership on login

in case it didn't succeed on first attempt this might help during the following ones.

* [server] allow call addOrUpdateMember w/o user

---------

Co-authored-by: svenefftinge <sven@gitpod.io>
2023-08-01 22:17:26 +08:00
Sven Efftinge
ded77f3a44
[server] don't error on project not_found (#18400) 2023-08-01 21:51:26 +08:00
Alex Tugarev
29ace4982b
[server] Remove obsolete (Theia) User Storage Resource (#18377)
* [server] Remove obsolete (Theia) User Storage Resource

* more cleanup
2023-08-01 15:48:26 +08:00
Sven Efftinge
d2b220f11c
[server] remove Project.userId (#18391)
We no longer support user-owned projects.
This removes related leftovers.
2023-07-31 21:27:26 +08:00