1971 Commits

Author SHA1 Message Date
Gero Posmyk-Leinemann
198dea471d
[server, bridge] Bind metrics apps to "127.0.0.1" instead of "localhost" (#20719)
Tool: gitpod/catfood.gitpod.cloud
2025-03-31 08:57:59 -04:00
Gero Posmyk-Leinemann
4083e6f252
[server, bridge] Switch base-images to node:18.20.7-alpine to avoid CVEs (#20692)
Tool: gitpod/catfood.gitpod.cloud
2025-03-21 07:16:50 -04:00
Gero Posmyk-Leinemann
10672a1c50
[server] Remove google-cloud-profiler (#20691)
Tool: gitpod/catfood.gitpod.cloud
2025-03-21 06:40:49 -04:00
Gero Posmyk-Leinemann
61795b793a
[server] Some change to trigger a release (#20678)
Tool: gitpod/catfood.gitpod.cloud
2025-03-20 16:15:49 -04:00
Gero Posmyk-Leinemann
aaa27c2821
[server] Add /ready probe to smooth rollout of server pods (#20673)
* [server] Move /ready to /startup, and rename code to StartupController (because it's used by the StartupProbe)

Tool: gitpod/catfood.gitpod.cloud

* [server] Introduce special /ready handler that only returns "false" during the shutdown phase

Tool: gitpod/catfood.gitpod.cloud
2025-03-18 11:28:47 -04:00
Gero Posmyk-Leinemann
fad0801ca8
[server] Fix broken /ready endpoint and chaned the probe to be a StartupProbe (#20672)
Tool: gitpod/catfood.gitpod.cloud
2025-03-18 06:34:47 -04:00
Gero Posmyk-Leinemann
89e09307b9
[server] Introduces ReadinessProbe (#20669)
* [server] Introduce ReadinessController and probe at /ready

Tool: gitpod/catfood.gitpod.cloud

* [server] Move /live and /ready endpoints to a separate express app and port

Tool: gitpod/catfood.gitpod.cloud

* [memory-bank] task-related learnings

Tool: gitpod/catfood.gitpod.cloud

* [server] Introduce `server_readiness_probe` feature flag so we can disable the ReadinessProbe if required

Tool: gitpod/catfood.gitpod.cloud

* docs: formalize Product Requirements Document workflow

- Add PRD workflow to systemPatterns.md as a standardized development process
- Update .clinerules with instructions to follow the PRD workflow
- Update activeContext.md and progress.md to reference the new workflow

This formalizes the process we used for implementing the server readiness probe feature.

Tool: gitpod/catfood.gitpod.cloud

* [server] ReadinessProbe: add redis as dependency

Tool: gitpod/catfood.gitpod.cloud

* review comments

Tool: gitpod/catfood.gitpod.cloud

* [dev] Remove outdated gopls config

Tool: gitpod/catfood.gitpod.cloud

* [server] Fix import

Tool: gitpod/catfood.gitpod.cloud
2025-03-17 11:44:46 -04:00
Gero Posmyk-Leinemann
5d557f73c8
[spicedb] Fix intermittent "Error: 4 DEADLINE_EXCEEDED...Waiting for LB pick" (#20637)
* [dev] Bump grpc/grpc-js 1.10.8 -> 1.12.6 and authzed/authzed-node 0.15.0 -> 1.2.2

Tool: gitpod/catfood.gitpod.cloud

* [server] Streamline spicedb gRPC client usage and creation options

 - instead of doing retries on two levels, rely on the gRPC-level retries
 - to mitigate the loss of insights, introduce createDebugLogInterceptor
  - client options: use sane defaults derived from the documentation instead of the excessive ones we had in place before
  - use "waitForReady" option: it should a) make our calls for responsive on re-connects, while b) - because we keep re-trying on DEADLINE_EXCEEDED - should be as reliable as before

Tool: gitpod/catfood.gitpod.cloud

* [protocol] Centralize grpc.isConnectionAlive

Tool: gitpod/catfood.gitpod.cloud

* [server] SpiceDB client: retry with new client on "Waiting for LB pick" error

Tool: gitpod/catfood.gitpod.cloud
2025-03-17 05:13:46 -04:00
Gero Posmyk-Leinemann
23c3e83013
[server] OrganizationService:Fix unpin for pinnedEditorVersions (don't use deepmerge but overwrite if set) (#20646)
Tool: gitpod/catfood.gitpod.cloud
2025-03-03 04:46:31 -05:00
mustard
f5eda871e6
[server] add feature flags for spicedb client options (#20613)
* add feature flags for spicedb client options

Tool: gitpod/catfood.gitpod.cloud

* Add comments

Tool: gitpod/catfood.gitpod.cloud

* fixup

Tool: gitpod/catfood.gitpod.cloud

* address feedback

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
Tool: gitpod/catfood.gitpod.cloud

* fixup

Tool: gitpod/catfood.gitpod.cloud

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2025-02-26 11:34:11 -05:00
Gero Posmyk-Leinemann
dd50c2aee8
[api, server, dashboard] Cleanup UpdateOrganizationSettings API (#20603)
* [api, server, dashboard] Cleanup UpdateOrganizationSettings API

Tool: gitpod/catfood.gitpod.cloud

* Org settings partial updates improvements (#20626)

Tool: gitpod/catfood.gitpod.cloud

* review comment

Tool: gitpod/catfood.gitpod.cloud
2025-02-25 08:58:11 -05:00
Filip Troníček
331453c892
[dasboard] Avatar selection improvements (#20620)
* feat(dashboard): Enhance team onboarding with member avatar and framework selection

- Add OrgMemberAvatarInput component with improved member selection using Popover and Command
- Implement ComboboxDemo for framework selection
- Update Button variant and add cmdk package
- Improve UI components with more flexible selection and filtering

Tool: gitpod/catfood.gitpod.cloud

* fix(orgs): when updating org welcome msg settings, enforce updating `featuredMemberId`

Tool: gitpod/catfood.gitpod.cloud

* A proper fix with existing prebuild list combobox

Tool: gitpod/catfood.gitpod.cloud

* chore: Remove unused cmdk package and related components

- Remove cmdk package from package.json
- Delete Command.tsx component
- Remove unused featuredMemberId state from TeamOnboarding
- Clean up yarn.lock dependencies related to cmdk and radix-ui packages

Tool: gitpod/catfood.gitpod.cloud

* Clean up

Tool: gitpod/catfood.gitpod.cloud
2025-02-24 04:47:09 -05:00
Filip Troníček
04f590de85
Organization onboarding welcome message (#20577)
* squashed (- oidc/newUser)

Tool: gitpod/catfood.gitpod.cloud

* [server, db] Cleanup UpdateOrgSettings API handling

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] Render WelcomeMessage based on a) user.createdAt and b) localStorage

Tool: gitpod/catfood.gitpod.cloud

* [api, server] Add missing update_allowed_workspace_classes field

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] Fix updateOrgSettings API usage

Tool: gitpod/catfood.gitpod.cloud

* [dashboard, server] Fix duration handling/conversion

Tool: gitpod/catfood.gitpod.cloud

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2025-02-14 08:14:50 -05:00
Gero Posmyk-Leinemann
e9aae6e497
[docker-up] Auto-login dockerd if GITPOD_IMAGE_AUTH is set (#20586)
* [docker-up] Minor fixes and add tests

Tool: gitpod/catfood.gitpod.cloud

* [image-builder-bob] Tests&fixes from an experimental PR

Tool: gitpod/catfood.gitpod.cloud

* [supervisor, ws-manager] Write docker credentials into client config file if passed into workspace

Tool: gitpod/catfood.gitpod.cloud

* [server] Introduce project.settings.enableDockerdAuthentication and expose it on the API

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] Add "Docker registry authentication" toggle under projects/env vars

Tool: gitpod/catfood.gitpod.cloud

* [server] Guard project.settings.enableDockerdAuthentication by org write_settings permission

Tool: gitpod/catfood.gitpod.cloud

* review comments with cleanup + small fixes

Tool: gitpod/catfood.gitpod.cloud
2025-02-12 05:16:48 -05:00
Filip Troníček
754dc9eb38
Organization-recommended repositories (#20559)
* [server] implement `recommendedRepositories` API field

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] implement org-suggested repositories

Tool: gitpod/catfood.gitpod.cloud

* [dashboard] Spacing and pill labels

Tool: gitpod/catfood.gitpod.cloud

* update copy

Tool: gitpod/catfood.gitpod.cloud

* Get rid of debug fluff

Tool: gitpod/catfood.gitpod.cloud

* Fix onboarding page heading

Tool: gitpod/catfood.gitpod.cloud

* minor nitfix

Tool: gitpod/catfood.gitpod.cloud

* Cascade project deletions to repo recommendations

Tool: gitpod/catfood.gitpod.cloud

* Fix db tests

Tool: gitpod/catfood.gitpod.cloud

* Fix docs link

Tool: gitpod/catfood.gitpod.cloud

* add db test

Tool: gitpod/catfood.gitpod.cloud

* Fix showing suggested repos even with no user contributions

Tool: gitpod/catfood.gitpod.cloud

* Add organization suggested repositories to RepositoryFinder

Tool: gitpod/catfood.gitpod.cloud

* Don't add recommended repos to workspace list for now

Tool: gitpod/catfood.gitpod.cloud

* Regular repo icon for org-suggested repos

Tool: gitpod/catfood.gitpod.cloud
2025-02-04 08:31:19 -05:00
Filip Troníček
71e2b01c8e
[server] Don't block soft deletion rewinds in updateDeletionEligibilityTime (#20569)
* [server] Don't block soft deletion rewinds in `updateDeletionEligibilityTime`

Tool: gitpod/catfood.gitpod.cloud

* Use ISO date strings for comparison

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2025-01-31 04:21:20 -05:00
mustard
999ade3fb6
[JetBrains] display workspace name on the navbar (#20544)
* [JetBrains] display workspace name on the remote navbar

* Use workspace name
2025-01-30 13:36:20 -05:00
Filip Troníček
9b574a9022
[server] make gRPC clients viable in non-HTTP/2-compatible environments (#20565)
* [server] make gRPC clients viable in non-HTTP/2-compatible environments

Tool: gitpod/catfood.gitpod.cloud

* Address review comments

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
Tool: gitpod/catfood.gitpod.cloud

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2025-01-30 07:00:19 -05:00
Filip Troníček
77f3fde7a2
[server] Add organization image auth context to workspace image validation (#20560)
* [server] Add organization image auth context to workspace image validation

Tool: gitpod/catfood.gitpod.cloud

* Introduce `listOrgEnvVarsWithValues`

Tool: gitpod/catfood.gitpod.cloud
2025-01-29 04:48:18 -05:00
Filip Troníček
c24b8f4aed
Add optional, org-wide Gitpod commit annotation (#20525)
* [supervisor] Add Gitpod commit annotation

* server and API changes

* [dashboard] add org setting for commit annotation

* Fix things

* Fix label for annotation switch

* Revert accidental rename

* minor docs fixes

* Add a feature flag for the setting: `commit_annotation_setting_enabled`

* Register hook in the cloned repo instead of under /etc/

* don't override existing hooks

* `gp git-commit-message-helper` to use `git interpret-trailers`

* Test it!

* 🧹 indeed

* Update timestamp of DB migration
2025-01-24 08:11:14 -05:00
Gero Posmyk-Leinemann
ad4b7a8f4a
Introduce org-level GITPOD_IMAGE_AUTH (#20538)
* [db, protocol] Introduce DBOrgEnvVar

* [server, spicedb] Introduce and integrate org env vars into internal services

* [server, public-api] Added API for org-level environment variables

* [dashboard] Add UI for setting/removing GITPOD_IMAGE_AUTH to "Organization Settings"

* [db, server] Fix DB queries, mapping to image-build args and fixed tests

* [dashboard] Review comment "icon spacing"

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

* [dashboard] Review comment superfluous key

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

* [dashboard] more spacing

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

* [dashboard] Copyright year

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

* [public-api] Add converter test case

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2025-01-24 03:43:14 -05:00
Filip Troníček
5c8700e427
[dashboard] Add org resources to the top of the workspace list (#20520)
* UI reorg

* generated stuffs

* Make it woooooooork

* Enterprise workspace list overhaul

Todo:
- [ ] only enable on dedicated installs
- [ ] add org setting for org-wide suggestions
- [ ] possibly adopt `Recommended` badges from figma
- [ ] open configurationId instead of cloneUrl if possible

* Conditionally show top sections

* Refactor PillLabel component usage and improve workspace card layout

* Reduce PR scope

* Behave nicely in dedicated emulated preview envs

* Make Getting started dismissible

* Still show old empty ws page for PAYG

* Use ff to display

* accordions are stylish (and clean u user prefs)

* Approach accordions differently (feat. @geropl)

* Revert things for later

* Get rid of debug logs!

* Use pk colors
2025-01-16 06:09:31 -05:00
Filip Troníček
d54bd04999
Enteprise onboarding settings (#20508)
* UI reorg

* generated stuffs

* Make it woooooooork

* Classier placeholder

* Remove unneeded fragment

* Introduce `enterprise_onboarding_enabled` flag

* move things properly

* add ipv6 localhost
2025-01-08 11:05:23 -05:00
Filip Troníček
7ac347a771
[server] log all deletion eligibility time updates (#20497) 2025-01-06 06:08:21 -05:00
Nandaja Varma
4bd992439c
[oidc] Fix the HEAD method call that checks reachability (#20474)
* [oidc] Fix the HEAD method call that checks reachability

* [server] Fix setup flow

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2024-12-20 03:01:05 -05:00
Filip Troníček
b29e06a67e
[server] Fix workspace service's workspace ID validation (#20468) 2024-12-19 10:34:04 -05:00
Filip Troníček
da1d931464
[server] fix private GitHub avatars (#20461)
* [server] fix private GitHub avatars

* Improve comment and don't delete all search params
2024-12-17 04:20:02 -05:00
Filip Troníček
55b486ee5f
Introduce max_parallel_running_workspaces for orgs (#20448)
* Introduce `max_parallel_running_workspaces` for orgs

* Add migration

* Add UI and org settings server changes

* Rough edges

* Number inputs (:trollface:)

* Move LazyOrganizationService to UBP entitlement service to get rid of circ. dep. errs

* Fix tests

* Update components/gitpod-db/src/typeorm/entity/db-team-settings.ts

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>

* Rename `isPaidPlan` to `isPaidOrDedicated` and get rid of `update_max_parallel_running_workspaces`

* Update components/server/src/workspace/workspace-service.ts

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>

* Deduplicate instance counting logic

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2024-12-16 09:06:02 -05:00
Filip Troníček
a303660a5f
Add insights page (#20437)
* Add WS image metrics to workspace instances

* Update tests

* fix ws-manager-api field description

* [dashboard] Org Insights page

* Pagination, date filters and downloads

* Safety limits for pagination and prettier icons

* UI improvements

* Enhance `from` date to capture whole day

* some more props for the CSVs

* Include git context with workspace responses

* Context url segments in CSV

* ide => editor to align with papi convention

* Remove duplicate fc

* revert route deletion

* Update papi converter tests and revert unecessary changes

* fix error rendering

* partly revert ws api svc changes

* Remove debug lines

* fix proto typo

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>

* Remove org member listing from frontend

* Shorter == better 😎

* Move workspace.metadata.context onto a top-level `WorkspaceSession` property

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2024-12-12 08:55:33 -05:00
Gero Posmyk-Leinemann
7f43d48115
[server, dashboard] Introduce multi-org (behind feature flag) (#20431)
* [server config] Introduce isDedicatedInstallation, and use it to replace isSIngleOrgInstallation

incl. further cleanup around getConfiguration and server config

* [server, dashboard] Remove enableDedicatedOnboardingFlow feature flag and replace is with getInstallationConfiguration.IsDedicatedInstallation

* [dashboard, server] Remove "sinlgeOrgMode"

* [server] OrganizationService: block createTeam consistently for org-owned users

* [server, dashboard] Introduce "enable_multi_org" feature flag to allow admin-user to create organizations

* [dashboard] introduce "/?orgSlug=", which allows to pre-select an org in a "create workspace" URL (e.g. "/?orgSlug=org1#github.com/my/repo")

* [db] Auto-delete container "test-mysql" if it's already present

* fix tests

* [dashboard] Check if localStorage is available before using it

* [dashboard] SSOLogin: fix orgSlug source precedence to: path/search/localStorage

* [server] Deny "joinOrganization" for org-owned users

* Gpl/970-multi-org-tests (#20436)

* fix tests for real

* [server] Create OrgService.createOrgOwnedUser, and use that across tests to fix the "can't join org" permission issues

* Update components/server/src/orgs/organization-service.ts

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

---------

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

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2024-12-09 08:00:16 -05:00
Filip Troníček
2db6b3f43a
[server] Fix permission check for logs streaming (#20423) 2024-12-05 04:04:12 -05:00
Filip Troníček
26d2b1cc6f
[server] Add SCM repo search integration tests (#20413)
* [server] Add SCM repo search integration tests

* bbs prefix search test
2024-12-03 08:28:10 -05:00
Filip Troníček
c4d64c06e2
[server] fix more revealing BB error logs (#20402)
* [server] fix more revealing BB error logs

* MOORe

* Introduce `BitbucketHttpError` to redact more effectively

* Make it work?

* comment fix

* 💶
2024-11-30 14:23:07 -05:00
Filip Troníček
050942fe05
Don't be so chatty when hasReadAccess throws (#20400) 2024-11-29 03:39:06 -05:00
Filip Troníček
cc6e7a0e92
Clean up repositoryFinderSearch feature flag (#20399)
* Clean up `repositoryFinderSearch`feature flag

* Fix `test_getUserRepos_ok` test
2024-11-28 08:59:05 -05:00
Filip Troníček
fc65cf1751
[server] increase getToken bucket size (#20398) 2024-11-28 04:51:05 -05:00
iQQBot
490f507422
[server] move getToken api to separate group (#20391) 2024-11-27 06:14:04 -05:00
Filip Troníček
e389b85b4b
Enable collaborators (#20353)
* Enable collaborators

* Fix forgotten debug logs

* Such a dumb typo I wonder who wrote it

* Fix schema

* Fix typo

* Fix prebuild page button a11y

* Update permissions

* Fix prebuild checks

* Change names around
2024-11-22 09:14:00 -05:00
Filip Troníček
ba7dce5445
Fix SCM integration tests and run them on build (#20379)
* Fix SCM integration tests

* fixup bbs test expectation with official testing token

* Add note about GitLab search

* Update GHA

* Add ADO token definition
2024-11-20 09:18:58 -05:00
Filip Troníček
2cd06706f6
Fix prebuild lookup for prebuilds run in reverse-chronological order (#20360)
* Fix prebuild lookup for prebuilds run in reverse-chronological order

* Minor fixes

* 🧹

* Simplify prebuild ordering

* [server] Prefer exact matches plus order incremental matches by commit history

* Do expensive image and prebuild promises in parallel

* [server] Prefer exact matches plus order incremental matches by commit history

* Fix test comment typo

* Do commit index computation once + better logs

---------

Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
2024-11-15 09:53:53 -05:00
Filip Troníček
7d3f447bc9
Fix dockerfile paths with relative decorators (#20365) 2024-11-14 05:18:52 -05:00
Filip Troníček
177367e4d2
Fix GitHub Integration tests (#20363) 2024-11-14 02:23:52 -05:00
Filip Troníček
e5eb61ddc7
Fix Bitbucket Server repository provider tests (#20364) 2024-11-13 10:42:52 -05:00
Gero Posmyk-Leinemann
4a709610ae
[server] Add more tests around "prebuild selection" (#20358)
* [server] Extend and fix context parser tests around prebuild discovery

* [server] Add more "prebuild selection" tests to ContextService

* review comments

* [server] Fix order of commits in MockRepositoryProvider to be aligned with actual implementation

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

---------

Co-authored-by: Filip Troníček <filip@gitpod.io>
2024-11-12 09:28:50 -05:00
Filip Troníček
8e7678a122
Log edge case for updateDeletionEligibilityTime (#20354) 2024-11-08 10:21:04 -05:00
Filip Troníček
65e3f094db
[context parser] Check current ref for Docker image existence (#20345)
* [context parser] Check current ref for Docker image existence

* Better builder bob errors from supervisor

* Gently soft-fail when the Dockerfile isn't found

* Add warning to ws metadata when starting workspace

* Introduce a magic constant instead of empty strings

* Improve supervisor failed reading bob log error

* Fixup cloning our special SHA

* idk what happened

* let workspaces start even on invalid docker refs
2024-11-07 08:13:03 -05:00
Filip Troníček
18b92d89dd
[.gitpod.yml] Introduce top-level env (#20339)
* [.gitpod.yml] Introduce top-level `env`

* Update priority (prioritize User level vars)
2024-11-05 08:37:01 -05:00
Filip Troníček
810f5e9a01
[WS CLI] Make env --scope=user compatible with GitLab groups (#20279)
* [WS CLI] Make `env --scope=user` compatible with GitLab groups

* Allow updating `*/*` scoped vars for backwards compat

* Fix test races
2024-10-22 13:39:52 -04:00
Filip Troníček
33942e7179
[ws-gc] WS soft deletion improvements (#20271)
* [ws-gc] Additional logging

* typo fix

* test update

* Workspace is active now if it just stopped, started or just got created

* Don't ever GC currently running workspaces

* Fix tests

* Fix tests

* No more async filter predicates

* More prevention logging

* Log all timestamps and don't update `lastActive` when `activeNow === true`

* even cooler timestamps

* Add instance id to log context

* Remove filtering for only non-running workspaces
2024-10-15 08:25:12 -04:00
Filip Troníček
b1b2214bef
Provide a nicer image build failed message (#20281)
* Provide a nicer image build failed message

* an error message that actually shows up

* Tweak error message

* Make env retrieval consistent in supervisor config

* Fix broken docs link in dashboard
2024-10-15 05:53:11 -04:00