585 Commits

Author SHA1 Message Date
Jean Pierre
a997229da8
[public-api] Add installation service (#19150)
* Add installation service

* Fix dashboard

* Fix

* Fix

---------

Co-authored-by: Huiwen <mhqnwt@gmail.com>
2023-11-30 01:12:07 +02:00
Filip Troníček
6f7ff4f7f4
updateConfiguration (#19080)
* `updateConfiguration`

* typdate

* Try with no deeply nested property

* JKADFkosaNcISADFuisabnfhjl hjkafb ashjdbjbhj

* Constrain even further

* Return the configuration

* Fix update mutation

* Only update necessary properties

* Implement name changes

* typastuff

* 🙄

* Mutation update

* 🤷‍♂️

* Type fixes

* Conditionally pass in name

* Partials

* Fix type mishap

* Update mutation name

* Tweak types

* Reduce abstractions

* Only supply name if applicable

* Better partial assignment

* Deepmerge with originals

* Only update fully when necessary

* Fix name conversion in papi converter

Co-authored-by: Gero Posmyk-Leinemann <32448529+geropl@users.noreply.github.com>

* Assert some converted properties to not exist

* Disallow empty configuration names

* Add cache update todo

* fix type vs class

* Error toasts

* Be less strict about value of name

* Toast the actual updated name

* Fix tests :-)

---------

Co-authored-by: Gero Posmyk-Leinemann <32448529+geropl@users.noreply.github.com>
2023-11-21 22:42:00 +02:00
Alex Tugarev
3b85bf13e1
[server] remove unused getFeaturedRepositories (#19100) 2023-11-21 16:42:59 +02:00
Jean Pierre
4ac04ee19e
[public-api] Migrate envvarService (#19067)
* Migrate envvarService

* update

* fix tests

* nit

* Fix

* Fix

* 💄

---------

Co-authored-by: Huiwen <mhqnwt@gmail.com>
2023-11-20 17:27:57 +02:00
Brad Harris
eaae6cc6f4
Repository Config list page (#19039)
* fixing pagination logic

* wip

* flushing out rows

* adding missing creationTime

* adjusting result count copy

* fix offset... again

* Flushing out table UI a bit more

* Flushing out table UI a bit more

* comment for remembering to use search params

* more comments

* fix pages count

* copy/responsive adjustments

* updating search project query & service

* pass org id along and check permission in service

* Extracting table components

* cleanup

* fix menu copy
2023-11-14 18:49:52 +02:00
Anton Kosyakov
0ec003754e
[public-api] align with API guidelines (#19038) 2023-11-14 13:09:51 +02:00
Christian Weichel
bb51f07988
Collect workspace classes from workspace cluster (#19003)
* Extend ws-manager API to support workspace class descriptions

fixes ENG-1065

* Extend  DescribeCluster in ws-manager-mk2

to acurately report the available workspace classes

fixes ENG-1066

* Add workspace classes to cluster in DB

* Intergrate workspace cluster collection in ws-manager-bridge

* Feature flag off discovered workspace class usage

* Fix build

* Add unittest for getSupportedWorkspaceClasses

* Fix workspace class storage

* Adress review feedback
2023-11-10 13:13:48 +02:00
Alex Tugarev
b2d501842f
[server] move FGA calls into AuthProviderService (#19017)
* [server] move FGA calls into AuthProviderService

* split internal upsert method `updateAuthProvider` into create and update
* refactor: move `getAuthProviders` logic from gitpod-server-impl to auth-provider-service
* adding db tests for auth provider server
* use redacted results in service

* Fix typos

* extract helper functions for scopes

* add more tests

* as regular member, should find org-level providers if no built-in providers present
* as regular member, should find only built-in providers if present

---------

Co-authored-by: Huiwen <mhqnwt@gmail.com>
2023-11-10 10:25:47 +02:00
Brad Harris
df7929ce8a
Adding ConfigurationServiceAPI (#19020)
* adding ConfigurationServiceAPI

* binding config service api to server

* use getConfiguration in dashboard

* adding missing binding

* use ApplicationError's

* add protobuf classes to query client hydration

* fixing pagination param & query

* changing to import statements for consistency and clarity on what the imports are for

* cleanup

* dropping config settings for create for now

* use protobuf field names in error messages

* removing optional on fields

* fixing converters to account for non-optional (undefined) fields

* update test

* adding more tests for findProjectsBySearchTerm

* fixing test to use offset correctly

* convert pagination args correctly
2023-11-08 22:42:46 +02:00
Sven Efftinge
ae38d86476
[linting] Enable eslint/no-unsafe-argument (#18965) 2023-10-23 12:20:31 +03:00
Sven Efftinge
8ac11b1b36
[db] userById fails on undefined (#18962) 2023-10-20 15:48:28 +03:00
Gero Posmyk-Leinemann
5bf82cd20d
Move towards sync deletion (away from PeriodicDeleter) - step II/II (#18866)
* [db] DBTeam: drop deleted column (unused)

* [db] DBProject: drop deleted column (unused)

* [db] Drop table d_b_user_storage_resource

* [db] DBTokenEntry: drop deleted column (unused)

* [db] DBAuthProviderEntry: drop deleted column (unused)

* [db] DBGitpodToken: drop deleted column (unused)

* [db] DBTeamMembership: drop deleted column (unused)

* [db] DBProjectUsage: drop deleted column (unused)

* [db] DBUserSshPublicKey: drop deleted column (unused)

* [server] Fix flaky test

* [db] Make backwards-compatible to mysql 5.7
2023-10-06 09:59:14 +03:00
Alex Tugarev
b2260d021e
Migrate Prebuild settings – EXP-672 (#18842)
* [protocol] Add PrebuildSettings to ProjectSettings

* add migration function

* add migration function and test

* update protocol helper functions

* update prebuild manager

* use new prebuild setting in frontend

* update papi

* fix papi test

* rename var

* fix papi mapping

* deprecation note

* update migration function

* fix prebuild-manager

* fixup server

* fix Enable Prebuilds on Project Settings

* Use Project.getPrebuildSettings
and

* fix countUnabortedPrebuildsSince

* improve usage of default settings

* fix Build Branches select

* fix papi conversion 🤯

* don't save empty pattern strings

* fix papi-server conversion and align naming of prebuild settings

* fix getPrebuildSettings

* [prebuilds] changed prebuild semantics

- no more incremental prebuilds
- always incremental workspace
- never wait for running prebuilds

---------

Co-authored-by: svenefftinge <sven@gitpod.io>
2023-10-05 17:37:13 +03:00
Gero Posmyk-Leinemann
8d94dd8d01
Use User.fgaRelationshipsVersion instead of User.additionalAttributes.fgaRelationshipsVersion (#18838)
* [db] Add User.fgaRelationshipsVersion

* [server] Use User.fgaRelationshipsVersion
2023-09-29 09:34:07 +03:00
Gero Posmyk-Leinemann
d00f9c0df2
[db] Move towards sync deletion (away from PeriodicDeleter) - step I/II (#18833)
* [db] Tables: remove entries without deletionColumn (not used anymore)

* [db] DBAuthProviderEntry: Switch to sync deletion

* [db] DBTokenEntry: Switch to sync deletion

* [db] DBTeamMembership: Switch to sync deletion

* [db] DBUserStorageResource: remove from periodic deleter

* [db] DBGitpodToken: Switch to sync deletion

* [db] DBProjectUsage: Switch to sync deletion

* [db] DBUserSSHPublicKey: Switch to sync deletion
2023-09-29 09:15:07 +03:00
Gero Posmyk-Leinemann
83493bdb86
[db] Add index for user.verificationPhoneNumber (#18836) 2023-09-28 15:17:08 +03:00
Gero Posmyk-Leinemann
11fa2f3d84
[db] DBWorkspace: add ind_basedOnPrebuildId (#18832) 2023-09-28 15:13:07 +03:00
Pudong
d18ee26dd1
Fix compatibility issues with db-migration (#18831) 2023-09-28 08:39:06 +03:00
Gero Posmyk-Leinemann
91f76d0b76
[db] UserEnvVar: add index ind_userID (#18821) 2023-09-27 14:31:06 +03:00
Gero Posmyk-Leinemann
b21828b7eb
[usage] Add index for usage.draft (#18820) 2023-09-27 13:28:06 +03:00
Gero Posmyk-Leinemann
f617ea2a0c
[db] DBPrebuiltWorkspace: Add index ind_creationTime (#18818) 2023-09-27 13:26:06 +03:00
Gero Posmyk-Leinemann
6fce846355
[db] Optimize WorkspaceDB.findWorkspacesForGarbageCollection to avoid full table scan (#18817) 2023-09-27 10:31:06 +03:00
Gero Posmyk-Leinemann
3e552a3752
[db] DBCodeSyncResource/-Collection: Drop deleted column (#18808) 2023-09-27 10:06:05 +03:00
Gero Posmyk-Leinemann
2c7c770061
[server, usage, db] Drop CostCenter.deleted (not used) (#18809) 2023-09-27 10:05:06 +03:00
Sven Efftinge
14a21a7657
[projects] lookup projects by id not cloneURL (#18774) 2023-09-25 11:13:04 +02:00
Huiwen
a2b5b00db1
[server,dashboard] improve org default image input placeholder (#18746)
* [server,dashboard] improve org default image input placeholder

* fix build failed

* Use null instead of `NULL_TO_UNDEFINED`

* fixup

* fixup toast not shown
2023-09-20 10:03:59 +02:00
Huiwen
04e576fbe0
Add default workspace image to org setting (#18723)
* Add default workspace image to org setting

* [db] add migration

* fixup

* [dashboard] add org default image settings

* fixup

* dashboard fixup

* Add server image test TODO

* [server] assign global workspace default image

* [dashboard] allow to submit empty string (will fallback to global default)

* [gp-cli] support gp validate with default image

* [dashboard] save default image

* fixup

* fixup

* [gp-cli] improve output

* [gp-cli] improve gp init

* [gp-cli] gp validate compatibility

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: Filip Troníček <filip@gitpod.io>

* Remove org id / get org settings in supervisor

* Remove `WorkspaceConfigContext`

* Add unit tests

* Rename to `DefaultWorkspaceImage`

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Add empty image fallback to supervisor

* Fix default workspace image setup

* Update org settings fields

* fixup

* Allow empty image to set to default one

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2023-09-19 14:51:58 +02:00
Gero Posmyk-Leinemann
5cb145e57f
Reconcile startWorkspace (#18673)
* [server] Reconcile workspace starts using redlock

* [server] Check abortSignal before updating the DB state

* [server] Add feature flag workspace_start_controller

review comments
2023-09-14 08:40:53 +02:00
Sven Efftinge
71912f721b
Allow renaming project (#18630)
remove project#slug
2023-09-04 09:42:01 +02:00
Gero Posmyk-Leinemann
86fa3ba709
[server] Separate instance creation from instance starting (again) (#18642)
* [server] Separate instance creation from instance starting (again)

* [server] Set instance.configuration.fromBackup
2023-09-04 09:33:01 +02:00
Sven Efftinge
af35dbfe9b
Fix gitstatus updates (#18613) 2023-08-30 10:26:56 +02:00
Thomas Schubart
55c9165c0d
Support managed redis (#18581)
* [installer] Specify redis configuration for server

* [server] Configure Redis authentication

* [wsman-bridge] Configure Redis authentication

* [wsman-bridge] Add redis credentials to environment
2023-08-24 10:30:50 +02:00
Sven Efftinge
246d8eda48
[fga] check some admin functions (#18562) 2023-08-21 18:22:47 +02:00
Jean Pierre
b95a4687bf
[fga] Introduce EnvVarService (#18503) 2023-08-16 22:12:42 +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
7e2b0efda3
[typeorm] increase/monitor connection pool (#18457) 2023-08-08 15:22:34 +02: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
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
Sven Efftinge
3d790a8cf6
[server] enhanced mocha setups (#18390) 2023-08-02 17:05:27 +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
Sven Efftinge
cae2dcc723
[server] make user a resource (#18312) 2023-07-26 16:25:43 +08:00
Milan Pavlik
66df7ffb04
[db] Move redis publisher to gitpod-db WEB-621 (#18275)
* [db] Move redis publisher to gitpod-db

* Fix

* fix
2023-07-25 19:24:41 +08:00
Milan Pavlik
bd9c0de53f
[gitpod-db] Include redis client to share WEB-621 (#18264)
* [gitpod-db] Include redis client to share

* fix

* fix

* fix
2023-07-25 15:47:41 +08:00
Sven Efftinge
98aff7f782
[server] clean up DB tests (#18333) 2023-07-25 02:38:40 +08:00
Sven Efftinge
4a55b1ecbb
[server] improved testing infrastructure (#18183) 2023-07-07 16:29:23 +08:00
Sven Efftinge
075e14c47f
[build] enabled some eslint rules (#18165) 2023-07-04 22:32:21 +08:00
Sven Efftinge
97c3272764
[server] Org service does member handling (#18125)
* [server] Org service does member handling

* [db] allow cross-dao transactions
2023-07-04 00:13:20 +08:00
Sven Efftinge
0aff5b1c77
[server] perm-check and test project service (#18111) 2023-07-03 23:34:20 +08:00