181 Commits

Author SHA1 Message Date
Manuel Alejandro de Brito Fontes
5992b0f614
Update go dependencies (#19577)
* Update go dependencies

* Update S3

* Caddy plugins cannot use 1.22

* Update controller runtime signatures

* Update webhook suite test

* Update IPFS signatures

* Update go modules

* Update ipfs-cluster to v1.0.8

* Fix node-labeler build

* Fix IPFS CID parsing

* Update ipfs-cluster version

* Update controller-runtime signature

* Update statefulset signature

* Disable controller-runtime metrics

* Add comments
2024-03-26 20:55:35 +01:00
Jean Pierre
9e6419c3f4
Add pin editor version (#19479)
* Add pin editor version

* Put it behind feature flag

* Fix tests

* 💄

* 💄

* Add pin icon

* 💄

* Put version pinning behind feature flag
2024-03-15 18:35:25 +01:00
Filip Troníček
f6bdcb5a39
Fix handling multiple repos with same context URL (#19518)
* Fix handling multiple repos with same context URL

* Fix projects name in import view

* list items fix

* Exclude projs when excluding projs!

* Make it work™

* update tests real quick

* Figure stuff out

Merge ws projects with project projects and clean up ws projects whose projects no longer exist

* 💄

* Revert ordering to keep things stable
2024-03-14 21:49:24 +02:00
Huiwen
7decb17370
[papi] add proto of restricted editors on org-level and repo-level (#19488)
* [papi] add proto of restricted editors on org-level and repo-level

* address
2024-02-29 15:47:10 +02:00
Huiwen
718353ef90
[papi] add restricted_workspace_classes in repository settings (#19480)
* [papi] add `restricted_workspace_classes` in repository settings

* Update components/public-api/gitpod/v1/configuration.proto

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

* generate

* Fix build

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2024-02-28 13:23:09 +02:00
Huiwen
b1da197018
[dashboard] reduce API call in prebuild pages (#19463)
* [papi] add repository_name a field of prebuild

* Remove unnecessary fetch of configuration in prebuilds
2024-02-23 17:21:04 +02:00
Filip Troníček
6e8cd3ed89
Configuration coachmark (#19413)
* Add repo migrate coachmark

* Public API: `coachmarksDismissals`

* Early exit for new signups

* Try to inject dismissal to link

* Dismiss on path visit

* Align to the left

* Dismiss on trigger

* Simplify show logic

Co-authored-by: Siddhant Khare <siddhant@gitpod.io>

* Consider `showPrebuildsMenuItem` when hiding projects

* update tests

* Adjust date for testing

* fix projects hide condition

* Fix repo link id ref

* Do not dismiss accidentally

* up-date

* move prebuild detail to correct folder

* Make sure errors are displayed properly for prebuilds list

* don't throw

* Report dismiss

---------

Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
2024-02-19 23:47:01 +02:00
Filip Troníček
c89d2de376
Prebuilds List UI (#19354)
* Init prebuilds list

* Text size and color tweaks

* Dropdown filtering UI

* wip changes

* File renames and such

* Filter by state

* fix path

* Add configuration ID filtering

* Prebuild list error state

* Protobuf sorting definition

* API-level sorting

* Simplify pagination

* Fix undefined inference

* Dashboard adopt sort behavior

* make sorting required

* Move ordering 🤷‍♂️

This will most definetely not solve anything, but...

* Hopefully fix sorting 🤷‍♂️

* less `as`

* Simplify state check

* Repeated sorting

* Sort out sorting

Sorry :/

* Configuration dropdown WIP

* Make configuration filter disableable

* Use in in SQL

* Minor styling adjustements

* Nav item

* Rename menu item

* Const 🤷‍♂️

* Always display filter reset opt

* Add prebuild link to prebuild settings

* Simplify

* Don't throw errors

All my homies hate throwing in `server`

* FF hook

* Name failed to load state

* typo

* Better unknown inference

* Add ConfigurationField component to display repository name and link

* Do not retry configuration load

* Move prebuild utils

* Unify sort types

* Refactor PrebuildTable to use arrow function syntax for mapping prebuilds

* fix imports

* Widen triggered column

* Widen even more

* Shorten status labels

* Init ws db tests

* Rename list item comp accordingly

T'was an oopsie doopsie

* Test configuration ids and branches filtering
2024-02-08 10:21:50 +02:00
Huiwen
b7d39c0cd4
[papi] add prebuild log url to prebuild message (#19353)
* [papi] GetPrebuildLogUrl proto implement

* Remove seperated API

* fix incorrect URL module
2024-01-29 19:38:05 +02:00
Filip Troníček
3af824e603
Implement ListOrganizationPrebuilds (#19326)
* Define `ListOrganizationPrebuilds`

* Fix because of name changes

* Add unimplemented `listOrganizationPrebuilds`

* Crazy stuff right here

* Address huiwen's comments

* Fix more types

* sad™

* trrr

* WIP API changes

* Add configuration id and search term filtering

* Filtering

* Offload prebuild listing to prebuild manager

* unused thingy delete

* Add filtering by status

* `listPrebuilds` -> `listOrganizationPrebuilds`

* Configuration filtering could be done with a branch

... what do you say?

* Implement branch filtering

* Update pagination rules

* Fix pagination limit validation error

* Migrate one more

* Fix org id for prebuild listing

* Update components/gitpod-db/src/typeorm/workspace-db-impl.ts

Co-authored-by: Siddhant Khare <siddhant@gitpod.io>

* Apply code suggestions

* Align pagination with config service

* Status filter validation

* Align org id usage

* Revert back to `listPrebuilds`

* Update components/gitpod-db/src/typeorm/workspace-db-impl.ts

Co-authored-by: Siddhant Khare <siddhant@gitpod.io>

* Bring in search

* Fix proj id instead of org id

* Fix search query‽‽‽

* nit 💄

---------

Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
Co-authored-by: Huiwen Huang <huiwen@gitpod.io>
2024-01-24 11:59:01 +02:00
Filip Troníček
723d57a684
Define ListOrganizationPrebuilds (#19316)
* Define `ListOrganizationPrebuilds`

* Fix because of name changes

* Add unimplemented `listOrganizationPrebuilds`

* Crazy stuff right here

* Address huiwen's comments

* Fix more types

* sad™

* Add configuration id and search term filtering
2024-01-22 19:44:59 +02:00
Huiwen
230c190f35
[papi] add api to allow organization owner to create a temporary token (#19324)
* [papi] add token service to gitpod.v1

* Address feedback

* Fix spice test cases

* fix db tests
2024-01-19 10:21:55 +02:00
Huiwen
7094f19ee8
Add collaborator role to organization (#19311)
* Update spicedb schema

* SpiceDB gen code

* [server] add collaborator

* Update papi

* Dashboard

* nit

* Complete TODOs

* server dataops pass teamId

* Add test cases for collaborator's PAT and cookie API fetch

* Add test case description

* remove unnecessary export

* Redirect to dashboard after join an org

* Hide settings for collaborator

* dataops join via oidc should be collaborator

* Fix test

* Goes back to /workspaces
2024-01-12 10:53:49 +02:00
Brad Harris
bd1b55187e
Improving prebuild related auth errors (#19247)
* Setting up saving and error state on prebuild settings

* cherry picking in backend work that updates some of the scm errors when installing webhooks for prebuilds

* updating tests

* adding placeholders for prebuild error cases

* adding isMissingScopes to error

* updating error messaging

* update tests

* adding toasts to projects settings for prebuild errors

* updating generic message styles

* Update components/dashboard/src/projects/ProjectSettings.tsx

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

* Apply suggestions from code review

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

* adjusting enabled state lookup

* updating again

* adding missing deps

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2023-12-19 17:37:26 +02:00
Huiwen
6c0a978eee
Revert "Revert "Add org-level workspace class restrictions"" - Server (#19275)
* Revert "Revert "Add org-level workspace class restrictions (#19191)" (#19272)"

This reverts commit 2c805ad0fcad05aa3c3983c08302ad4f16dc1e69.

* Fix build
2023-12-15 15:24:22 +02:00
Alex Tugarev
2c805ad0fc
Revert "Add org-level workspace class restrictions (#19191)" (#19272)
This reverts commit 653d858fa8d5edef1717a2319bc02cf356a10fc9.
2023-12-15 12:43:22 +02:00
Huiwen
653d858fa8
Add org-level workspace class restrictions (#19191)
* Add org-level maxmium workspace class limit

* [papi] add ListOrganizationWorkspaceClasses method

* Use papi in dashboard

* Validate when updating

* Fix bug

* Make it select default

* Align figma

* Option checking

* fixup

* Use switch button

* Add feature flag

* `invaldiator2` => `invalidateWorkspaceClasses`

* Don't allow to all if selected ones are removed from installation

* Update respond error msg

* dashboard show error msg

* fixup

* update proto doc

* Apply suggestions from code review

Updated error wording.

* update order

* Fix edge case

* Hide delete scope if not owner

* Update error msg

* Not cache org ws cls

* Force update org info

* Rename query file

* Add todos

* Remove refetch

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: Laurie T. Malau <laurie@gitpod.io>
2023-12-15 08:48:22 +02:00
Alex Tugarev
298dbe39da
[papi] Add RPCs for Admin pages (#19243) 2023-12-13 09:19:20 +02:00
Huiwen
6bc27b8d98
Migrate resolve context url (#19222)
* Implement and migrate resolve context url

* Migrate dashboard

* Update golden

* Fix bugs

* Rebase fixup
2023-12-12 10:16:19 +02:00
Huiwen
0b1e5d43cb
Migrate workspaceService updatePort method (#19234)
* Migrate workspaceService updatePort method

* fix build

* fixbuild
2023-12-11 16:28:18 +02:00
Alex Tugarev
eedcf89bbb
[papi] Update UserService proto (#19231)
* [papi] Add UserService.DeleteUser

* [public-api] add missing `UpdateUserRequest.dotfile_repo` attribute

* fix: add unimplemented methods
2023-12-11 13:18:18 +02:00
Brad Harris
85fb744996
Adding prebuild status filter to repo configs list ui (#19205)
* Adding prebuildsEnabled filter to projects search query

* adding prebuilds_enabled param

* stubbing out UI for prebuild status filter

* mark prebuilds_enabled as optional so we have an undefined state

* ui stuff

* whoopsie

* drop animations for now

* comments

* cleanup

* convert to string

* consider prebuild filter in showing table

* add prebuilds query param

* fix issue w/ fragment around routes preventing 404 handler
2023-12-08 20:57:15 +02:00
Anton Kosyakov
bfa7c6e070
[public-api] complete installation service (#19200) 2023-12-08 14:05:15 +02:00
Huiwen
da125ed40b
Migrate InstallationService GetInstallationWorkspaceDefaultImage method (#19221) 2023-12-08 13:15:15 +02:00
Huiwen
bb2473e886
Migrate WorkspaceService snapshot methods (#19204)
* Migrate WorkspaceService snapshot methods

* Add test cases

* Remove list snapshots
2023-12-07 15:51:14 +02:00
Huiwen
0152b84a80
Migrate gRPC workspaceService other workspace related method (#19118)
* Migrate gRPC workspaceService other workspace related method

* Use shim and gRPC everywhere

* fix update
2023-12-06 12:42:13 +02:00
Huiwen
39ebf1d2ca
Revert Refine workspace and fix bugs (#19178)
* Revert "Revert "Refine workspace API (#19138)" (#19172)"

This reverts commit a6f472255601ecd7574d33ae3015ea1c184b47d5.

* Update to workspace cases

* Add new cases and fix

* Add timeout

* fixup

* Remove requirement of editor

* Update cases

* Bump version

* Update dashboard
2023-12-04 12:36:11 +02:00
Huiwen
a6f4722556
Revert "Refine workspace API (#19138)" (#19172)
This reverts commit da0c5901b4af15a3584d5c5d6b80380f0c093855.
2023-11-30 12:14:07 +02:00
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
Christian Weichel
da0c5901b4
Refine workspace API (#19138)
* Refine workspace API

* Fix build

* update proto

* fix rebase

* fix rebase - 2

* 1

* fix editor

* Update doc

---------

Co-authored-by: Huiwen <mhqnwt@gmail.com>
2023-11-29 16:15:07 +02:00
Alex Tugarev
88d65c186f
[papi] Add UserService/UpdateUser to proto (#19163)
* [papi] Add `UserService/UpdateUser` to proto

* extract SetWorkspaceAutoStartOptions
2023-11-29 16:08:06 +02:00
Huiwen
d6dcda8a3e
Migrate parts of gPRC workspaceService (#19129)
* Migrate parts of WorkspaceService

* bump version
2023-11-29 12:28:07 +02:00
Huiwen
0acd42e106
Migrate gRPC VerificationService (#19143)
* Implement

* use on dashboard

* Add test case

* fixup

* fix build

* Update proto

* Update

* 💄

* 💄

* [verificationservice] added mock impl for previews

---------

Co-authored-by: Jean Pierre Huaroto <jeanp413@hotmail.com>
Co-authored-by: Sven Efftinge <sven@gitpod.io>
2023-11-28 17:56:06 +02:00
Alex Tugarev
4c6cc4fb01
[papi] add user.proto and GetAuthenticatedUser – EXP-845 (#19132)
* [papi] add user.proto and GetAuthenticatedUser

* [papi] (generate.sh) Run end-of-file-fixer

* rename to EditoSettings

* clean up proto

* fix import

* update WorkspaceTimeoutSettings

* fix typo

* update WorkspaceTimeoutSettings

* clarify User.name is full name in doc line
2023-11-28 12:42:06 +02:00
Jean Pierre
c201a2d9df
[public-api] migrate ssh service (#19110)
* migrate ssh service

* 💄

* 💄

* fix build

* Fix

---------

Co-authored-by: Huiwen <mhqnwt@gmail.com>
2023-11-23 07:12:00 +02:00
Huiwen
fa3cca46c0
Migrate CreateAndStartWorkspace method in dashboard (#19076)
* Migrate WorkspaceService.CreateAndStartWorkspace

* Add unit tests

* Fix rebase build error
2023-11-22 18:23:59 +02:00
Alex Tugarev
9374be99f7
[papi] Rename SearchSCMTokens RPC (#19104)
* [papi] rename to SearchSCMTokens

* doc RPCs
2023-11-22 12:17:00 +02:00
Brad Harris
73a1c76985
Add sorting to imported repos list and corresponding API (#19097)
* adding sorting support for ListConfigurations

* Getting sortable headers partially setup

* killing the global button styles

* Updating sortable headers

* cleanup

* adding comment about sort field

* Update components/dashboard/src/app/Blocked.tsx

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

* Update components/dashboard/src/components/Button.tsx

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

* Update components/dashboard/src/components/podkit/buttons/Button.tsx

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

* Update components/dashboard/src/components/toasts/Toast.tsx

remove redundant styles

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

* Update components/dashboard/src/components/podkit/tables/SortableTable.tsx

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

* Update components/dashboard/src/usage/UsageDateFilters.tsx

remove redundant style

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

* Update components/dashboard/public/complete-auth/index.html

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

* extracting to a local LoginButton component

* whoopsie

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2023-11-22 00:08:59 +02:00
Jean Pierre
4aef5ceb84
[public-api] Some renaming (#19095)
* 💄

* 💄

* 💄
2023-11-22 00:07:59 +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
Anton Kosyakov
6933bab2b6
[public-api] migrate PrebuildService (#19062) 2023-11-21 17:14:58 +02:00
Anton Kosyakov
0a5d89cecc
[public-api] define error details (#19102)
+ ensure consistent formatting
2023-11-21 16:00:58 +02:00
Alex Tugarev
41a89f34f9
[papi] Add proto for SCMService (#19075)
* [papi] Add proto for SCMService

* fixup: add missing pagination to list method
2023-11-21 13:40:58 +02:00
Brad Harris
a409eb0792
Adding pagination tokens for config service (#19078)
* wip for getting pagination tokens setup

* swapping pagination for token based load more UI

* disable refetch on window focus

* partially working infiniteQuery

* updating proto files for pagination

* updatnig pagination to handle load more approach

* adding bottom margin

* adding tests

* encode search term query param

* validate params

* change button variant

* making sure we don't drop some props

* Update components/dashboard/src/data/configurations/configuration-queries.ts

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

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2023-11-20 17:09:58 +02:00
Jean Pierre
9748ce3c1e
[public-api] Add ssh key proto (#19090)
* add ssh key proto

* Update
2023-11-20 15:09:58 +02:00
Jean Pierre
f7e11f50ef
Add envvar proto file (#19085) 2023-11-17 10:52:55 +02:00
Huiwen
4324fcb0a0
[papi] migrate ListWorkspaces and WatchWorkspaceStatus (#19022)
* [papi] migrate ListWorkspaces and WatchWorkspaceStatus

* bump up cache version
2023-11-16 20:44:54 +02:00
Anton Kosyakov
a290b8b7d3
[public-api] define PrebuildService (#19082) 2023-11-16 15:10:54 +02:00
Anton Kosyakov
0ec003754e
[public-api] align with API guidelines (#19038) 2023-11-14 13:09:51 +02:00
Alex Tugarev
0e00e3daa1
[public-api] Add AuthProviderService service (#19008)
* add Unauthenticated decorator for public-api

* [server] add AuthProviderServiceAPI

* [dashboard] add client facade (JsonRpcAuthProviderClient)

* use uuidValidate

* update UpdateAuthProviderResponse to return provider

* return updated provider in UpdateAuthProviderResponse

* handle pagination for ListAuthProvider(Description)s

* add simple conversion tests for auth providers

* relax param validation on updateAuthProvider

allow to update clientId or clientSecret separately.
2023-11-13 15:38:51 +02:00