217 Commits

Author SHA1 Message Date
Huiwen
62c573a453
Add default image get to PAPI and improve Dashboard (#18767)
* [server] update getDefaultWorkspaceImage api

* [dashboard] api usage update

* [protocol] add go definition

* [papi] add getDefaultWorkspaceImage method

* fixup

* [dashboard] add org image warning to start workspace page

* fix error wrap

* Update supervisor to use publicApi

* [dashboard] always show default image and remove tag width limit

* fixup

* move new warning to StartPage

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

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

* Address feedback

---------

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2023-09-22 11:58:01 +02:00
Anton Kosyakov
352484b34d
node grpc spike dashboard to server (#18691)
* [public-api] add dummy service for testing

* [public-api] proxy dummy to server

* [public-api] hello service server impl

* [server] fix API contribution bindings

* [dashboard] emulate unary call

* only if actually called

* [dummy] auth

* fix tests

* [server] add interceptor to public api

* add server side observability

* fix port name

* change to unimplemented for unknown methods

* [public-api] client metrics

* fix metrics imports

* align server metrics

* actually fix metrics

* add feature flags

* fix server side streams

* [dashboard] hook error reporting

* rebase and fix imports

* feature flagged metrics from dashboard

* revert GRPC_TYPE

* address feedback
2023-09-15 13:46:54 +02:00
Alex Tugarev
8d4128b132
fix PAPI conversion (#18722) 2023-09-15 13:28:54 +02:00
Alex Tugarev
cb3a7f00c6
Add "Enable Prebuilds" to Project Settings – EXP-573 (#18698)
* cleanup: remove obsolete remainings of /prebuild prefix

* Add Project.settings.enablePrebuilds

* PrebuildManager.shouldPrebuild to consider Project.settings.enablePrebuilds

* Don't install webhooks on project creation

* foreseeable change: don't prefetch project details

* fix: unused imports

* redirect to project settings on project created

* don't trigger prebuilds on project created

* fix: get rid of many ListProjects requests on Settings page

* Project Settings: add checkbox for "enable prebuilds"

* handle "enable prebuilds" in server

* updating PAPI

* fixup

* fixup

* make PrebuildManager require a Project to work on

* also SCM webhook handlers
* move project usage registration to PrebuildManager

* address feedback on useListProjectsQuery and  useCurrentProject

* remove empty class name attributes

* make use of <InputField> as wrapper for <SelectWorkspaceClassComponent>

* fixup <SelectWorkspaceClassComponent> width

* update hint on "Enable Prebuilds" action

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

* fix "enablePrebuild" handling

* add [Enable Prebuilds] button to "Project Created" page

* show detailed prebuild setting only if prebuilds are enabled

* drive-by: fix max width on "Remove Project"

* fix: re-add `loading` state to `useCurrentProject` hook

this caused an issue with loading components as `useListProjectsQuery.isLoading` is false initially.

* add "Enable Prebuilds" to project card

* fixup project-context.tsx

state should only be updated if `useListProjectsQuery` is loaded.

* fixup button type

* add hint to create a .gitpod.yml

* Apply suggestions from code review

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

* remove unnecessary !

* extract Project.isPrebuildsEnabled

* fixup: add missing await

* render "Learn more" if not enabled, too.

* fix getCloneUrl for BBS

* fix getCloneUrl for GitLab

---------

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2023-09-15 09:07:54 +02:00
Sven Efftinge
71912f721b
Allow renaming project (#18630)
remove project#slug
2023-09-04 09:42:01 +02:00
Filip Troníček
694f8eaeaf
[papi] List workspace classes (#18546)
* [papi] List workspace classes

Adds the `ListWorkspaceClasses` method on `WorkspacesService`.

* Add test for class listing

* `Title` -> `DisplayName`

* fix rename in tests

* Update generated
2023-08-24 10:53:50 +02:00
Brad Harris
adf4e66cf6
Add CreateAndStartWorkspace to public-api (#18515)
* setting up CreateAndStartWorkspace handler

* adjust args

* adding createWorkspace scope for desktop app

* add getToken scope to desktop app oauth client

* remove for now

* adding region

* adding getToken while in here
2023-08-23 16:06:49 +02:00
Filip Troníček
112eefcc56
[papi] List editor options (#18530)
* options.init

* Respond with options

* Move to editor service

* Unused imports

* Mount ot the correct service

* Sort by orderkey

* Simplify enum name

* Add tests

* Options -> `result` for consistency

* fix result field
2023-08-18 11:19:44 +02:00
Filip Troníček
614007dde5
[papi]: Add GetSuggestedRepoURLs (#18514)
* [papi]: Add `GetSuggestedRepos`

* Rename method

* req to be consistent

* Move to SCMService

* Remove usr impl

* Add tests

* Revert billing test change

* Revert user changes

* --
2023-08-15 13:55:41 +02:00
Manuel Alejandro de Brito Fontes
513ca768f6
Update buildkit to v0.12.1 (#18505)
* Update buildkit to v0.12.1

* Update DisplaySolveStatus signature

* Switch to github.com/containerd/typeurl/v2
2023-08-15 09:17:40 +02:00
Anton Kosyakov
b3ae12f956
git real time (#18323) 2023-08-03 20:51:28 +08:00
Filip Troníček
c5059f2dc3
Filter by organizationId in ListWorkspaces (#18402)
Remove `IncludeWithoutProject`
2023-08-02 05:20:27 +08:00
Manuel Alejandro de Brito Fontes
61f89f8436
Update go modules (#18372) 2023-07-28 16:20:30 +08:00
Manuel Alejandro de Brito Fontes
8c6d8e28f3
Update dependencies (#18362)
* Update k8s dependencies to v1.27.3

* Update opencontainers/runtime-spec to v1.1.0

* Update controller runtime to v0.15.0

* Update go modules

* Fix build

* Cleanup

* Fix ws-manager e2e tests
2023-07-27 23:34:29 +08:00
Manuel Alejandro de Brito Fontes
54c2040632
Update go modules to 1.20 (#18360) 2023-07-27 22:24:29 +08:00
Filip Troníček
d9f8a099ed
Add Repository to WS info in Public API (#18330)
* Add more Git details to Public API

* Only add `Repository`

* Remove remaining branch references

* Update workspace tests

* Remove additional unneeded metadata

* Swap arg order to match proto
2023-07-26 16:20:42 +08:00
Manuel Alejandro de Brito Fontes
57c605ddc4
Cleanup scrubber go module dependency (#18149) 2023-07-04 16:37:21 +08:00
Anton Kosyakov
f580e6bd00
fix SID-285: hook scrubber as logrus formatter (#17781) 2023-06-29 17:16:47 +08:00
Sven Efftinge
caf26b812d
[server] remove getUserProjects (#18093) 2023-06-29 16:30:47 +08:00
Jean Pierre
2c8852e197
[public-api] Add startWorkspace api (#17682)
* Add startWorkspace api

* Add new scopes to vscode client

* Fix

* Fix

* 💄

Co-authored-by: Milan Pavlik <milan@gitpod.io>

---------

Co-authored-by: Milan Pavlik <milan@gitpod.io>
2023-05-25 03:43:58 +08:00
Anton Kosyakov
8902b61854
[public-api] stats initial (#17718) 2023-05-24 17:27:58 +08:00
Pudong
176393a0c8
Add support to forward https protocol port (#17644)
* add support to forward https protocol port

* Update components/ws-proxy/pkg/proxy/routes.go

Co-authored-by: Kyle Brennan <kyle@gitpod.io>

---------

Co-authored-by: Kyle Brennan <kyle@gitpod.io>
2023-05-19 15:22:53 +08:00
Alex Tugarev
7952153237
Add verify param to OIDC start request – WEB-333 (#17576)
* [papi] Add `verified` flag to config and `ActivateClientConfig` to OIDC service

* [papi] implement `ActivateClientConfig`

* [gitpod-db/go] add `setClientConfigVerifiedFlag`

* [gitpod-db/migration] add `d_b_oidc_client_config.verified` field

* [papi] Don't deactive on UpdateClientConfig

* [gitpod-db/go] add missing `Verified` field

* On "activate" request also mark as verified.

* [gitpod-db/go] fix mapping of `Verified` field

* [papi] ensure only verified OIDC client configs can be activated

* [papi] Skip the sign-in on verify-only requests.

* [papi] fix skipped tests

* [papi] fix mapping of OIDC configs

* rename RPC method

* fix tests after adding validation of claims

* fix: activation of record should deactivate others

* fix: update should unverify the entry

* remove Debug()

* [db-migration] fix: mark active entries as verified
2023-05-16 21:09:02 +08:00
Sven Efftinge
b7d01a7e25
Disallow deletion of teams (#17538) 2023-05-10 22:25:55 +08:00
Alex Tugarev
76c61533a6
[OIDC] Enable mark client config as "active" (#17365)
* [gitpod-db] Add `d_b_oidc_client_config.active` field

* [papi] Add OIDCClientConfig.active to proto def

* [gitpod-db] Add OIDCClientConfig.active

* [papi] Add `activate` param to `/oidc/start` endpoint handler

If provided it should mark the OIDC client config as `active` in the DB.

* Fix propagation of state params and add tests.

* fix import of deprecated ioutil

* refactor GetStartParams

* consider `activate` from create request
2023-04-27 21:35:36 +08:00
Milan Pavlik
1cdb7ab142
[installer] Remove OIDC secret from public-api WEB-206 (#17331)
* Fix

* retest

* [installer] Remove OIDC secret from public-api

* fix

* remove ci secret

* fix
2023-04-24 20:51:45 +08:00
Milan Pavlik
233ec9457a
[installer] Add JWT cookie opts to config WEB-101 (#17332)
* retest

* retest

* [installer] Add cookie name to config

* Fix

* fix
2023-04-24 17:46:45 +08:00
Milan Pavlik
b57424a76f
[jwt] Installer configures expiry & issuer WEB-102 (#17314)
* [jwt] Installer configures expiry & issuer

* Fix

* Fix

* retest

* Fix

* Fix

* Fix
2023-04-24 17:07:45 +08:00
Manuel Alejandro de Brito Fontes
891cd5417d
Update k8s dependencies to v0.26.2 (#17211)
* Update k8s dependencies to v0.26.2

* Update controller-runtime to v0.14.6

* Update cloud storage
 https://github.com/googleapis/google-cloud-go/issues/6857

* Update copy options

* Update wolfi image

* Remove controller-runtime replace directives

* Fix integration tests
2023-04-18 03:59:49 +08:00
Milan Pavlik
0bf91e58fd
[installer] Add key id for each auth keypair - WEB-100 (#17219)
* [installer] Add key id for each auth keypair

* retest

* fix

* fix
2023-04-17 18:41:49 +08:00
Milan Pavlik
ac0dbf8c52
[papi] Mount Auth PKI - WEB-101 (#17218)
* [papi] Mount Auth PKI

* Fix

* Fix test
2023-04-14 15:39:54 +02:00
Manuel Alejandro de Brito Fontes
27979c9395
Update go dependencies (#17101)
* Update go dependencies

Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>

* Update runc to v1.1.5

* Update docker cli to v23.0.2+incompatible

---------

Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>
2023-04-12 10:03:52 +02:00
Milan Pavlik
27083dfab1
Upgrade to connect-go 1.5.2 (#17108)
* Upgrade to connect-go 1.5.2

* fix
2023-03-31 13:09:40 +02:00
Alex Tugarev
275e782341
[Orgs] Persist slug (#16923)
* [orgs] Persist `slug`

* [Orgs] Make `slug` changeable on Settings page

* update to use input/button components and mutation

* [papi] Re-add Team.slug

---------

Co-authored-by: Brad Harris <bmharris@gmail.com>
2023-03-24 10:51:16 +01:00
Milan Pavlik
6fcfe2519e
[public-api] Add BlockUser rpc (#17000) 2023-03-23 16:35:16 +01:00
Milan Pavlik
6774bf3338
[public-api] Auto-generate proxy handler (#16626)
* fix

* fix

* Fix

* fix

* fix

* fix

* fix

* fix

* Fix

* Fix

* Fix
2023-03-06 09:27:03 +01:00
Christian Weichel
da4cafd5e5
Gitpod OIDC Identity Provider (#16482)
* Prototype IDP provider

* [gp cli] Add IDP commands

* [public-api] Remove zitadel based IDP implementation

* [gitpod-cli] Add IDP support for Vault

* [idp] Remove per-org IDP

* [idp] Add key cache and random key IDs

* [idp] Defer GetIDToken authorisation to server

* [idp] Add Redis public key cache

* [gitpod-cli] Hide IDP commands

* [idp] Add key ID to JWT

* [idp] Add unit tests

* [idp] Adress review comments

* [public-api-server] Use logging middleware globally

* [public-api-server] Simplify service registration

* [idp] Add Redis outage resilience
2023-03-03 17:11:01 +01:00
Milan Pavlik
e4e05143e2
[baseserver] Initialize tracer with server (#16586)
* [baseserver] Initialize tracer with server

* fix

* Fix

* fix
2023-03-03 14:57:01 +01:00
Milan Pavlik
1dc48fbc23 [teams] Remove slug usage 2023-02-07 07:51:44 +01:00
Alex Tugarev
3ef29bf278 [papi] Add signing secret for JWTs
Praparation to use with `golang-jwt/jwt`
2023-01-30 11:15:37 +01:00
Milan Pavlik
17e83b9985 [iam] Remove component 2023-01-23 17:33:31 +01:00
Milan Pavlik
0aad145ad4 [public-api] Bind OIDC HTTP service to Public API 2023-01-23 15:24:30 +01:00
Milan Pavlik
b984390bfb [oidc] Move create RPC directly to public-api 2023-01-20 15:20:28 +01:00
Alex Tugarev
487b7edfde [public-api] re-generate and adjust callsites 2023-01-20 12:11:27 +01:00
Milan Pavlik
0d5cb6c3ff [installer] Mount database secret to Public API 2023-01-19 10:03:27 +01:00
Milan Pavlik
1706974cc3 [oidc] Add Organisation ID to OIDC API 2023-01-18 11:37:25 +01:00
Alex Tugarev
d5e8899ce5 [intaller] add OIDCServiceAddress to papi config 2023-01-12 12:50:51 +01:00
Siddhant Khare
245cb43a7d examples: teams & workspaces examples in go 2023-01-11 11:17:50 +01:00
mustard
e82fe80af9 [public-api] add workspaceStatus stream rpc 2023-01-09 10:59:48 +01:00
Milan Pavlik
5570678ef1 examples 2023-01-04 11:13:44 +01:00