92 Commits

Author SHA1 Message Date
Anton Kosyakov
521e6a5aab
[dashboard] use HTTP endpoint for telemetry (#19223)
* [dashboard] use HTTP endpoint for telemetry

* 💄

---------

Co-authored-by: Jean Pierre <jeanpierre@gitpod.io>
2023-12-12 14:56:19 +02:00
Gero Posmyk-Leinemann
1113e3cd8c
[authorization] Align HTTP handlers before RequestContext rollout (#19214)
* [middleware] RequestContext: don't error on nested contexts + ctxOnAbort

* [auth] HTTP handlers: Add FGA guards and runWithSubjectId where missing

* [code-sync] Guard with FGA
2023-12-08 13:31:15 +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
Gero Posmyk-Leinemann
c279fc46bc
[gRPC] Enable PATs to be used for authorizing with the gRPC API (#19081)
* [server] Make gRPC accept PAT tokens (incl. tests)

* [gpctl] Switch "gpctl api ws ls/get" to use v1/v1connect
2023-11-20 09:04:57 +02:00
Gero Posmyk-Leinemann
453392bd14
[server] Introduce RequestContext (#19023)
* [server] Introduce RequestContext

* [server] Improve (repeated) Docker build times

* fix AuthProviderService.createAuthProvider
2023-11-16 14:54:54 +02:00
Sven Efftinge
ae38d86476
[linting] Enable eslint/no-unsafe-argument (#18965) 2023-10-23 12:20:31 +03:00
Gero Posmyk-Leinemann
9bde303c1e
ZedTokens: SpiceDBAuthorizer cleanup (#18898)
* [server] Extract RequextContext from EnhancedLogContext

* [spicedb] Cleanup SpiceDBAuthorizer

* [server] SpiceDB: Pass ZedToken to read requests as well
2023-10-11 10:20:19 +03:00
Anton Kosyakov
522dbfb050
[public-api] add request context (#18853)
* [public-api] add request context

* fix metrics and trace public api calls

* fix context

* simplify

* fix server side streams
2023-10-04 15:48:12 +03:00
Sven Efftinge
e393546f52
[server] also log the actual request name (#18812) 2023-09-27 09:30:05 +03: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
Sven Efftinge
e2ae3e3267
[server] improved logging (#18697) 2023-09-12 10:33:51 +02:00
Jean Pierre
b24ae9495d
Upgrade jsonwebtoken lib (#18634) 2023-09-06 19:16:03 +02:00
Alex Tugarev
9f63620adc
log errors with parsing (#18667) 2023-09-06 10:12:03 +02:00
Sven Efftinge
b043f38494
[server] terminate ws on shutdown (#18550) 2023-08-24 15:07:50 +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
Milan Pavlik
a5b4a66e0f
[server, ws-man-bridge] Remove messagebus WEB-618 (#18238)
* [server] Publish events during workspace starter

* retest

* fix

* fix

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* [server] Broadcast prebuild updates from redis

* [server] Broadcast headless updates to subscribers

* Fix

* retest

* [server] Publish events during workspace starter

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* retest

* [server] Remove messagebus

* remove ws-man-bridge messagebus

* fix

* fix
2023-07-24 18:04:40 +08:00
Milan Pavlik
f87ab032f9
[server] Subscribe to redis updates WEB-597 (#18164)
* [server] Subscribe to redis updates

* fix

* fix

* fix

* fix

* fix

* Fix

* fix

* fix

* Fix

* fix

* Fix
2023-07-07 20:40:24 +08:00
Sven Efftinge
075e14c47f
[build] enabled some eslint rules (#18165) 2023-07-04 22:32:21 +08:00
Milan Pavlik
314159065a
[server] Remove old session cookies - WEB-103 (#17846)
* [server] Remove Session ID from logs, ahead of session removal

* [server] Remove sessions - take 2

* fix up

* fix

* fix

* fix

* fix

* Fix

* retest

* add ws handler

* fix

* fix

* retest

* fix

* clean up

* fix
2023-06-07 20:01:57 +08:00
Milan Pavlik
7556765b02
[server] Make JWT Session rolling through refresh endpoint WEB-418 (#17798)
* retest

* [server] Re-issue session as JWT

* retest

* retest

* Fix

* Fix

* retest

* retest

* [server] Re-issue session as JWT

* retest

* retest

* [server] Rolling JWT cookies, through refresh endpoint

* fix

* fix
2023-06-05 15:39:55 +08:00
Milan Pavlik
a05ea2c9eb
[server] Remove self-hosted installation admin telemetry endpoint (#17787)
* [server] Remove self-hosted installation admin telemetry endpoint

* Fix

* fix

* fix

* fix

* Fix

* fix
2023-06-02 16:15:07 +08:00
Milan Pavlik
056ba722f7
[server] Issue JWT cookie in IAM Sessions for OIDC sign-in (#17762) 2023-05-30 22:54:04 +08:00
Milan Pavlik
3b3df96371
[server] Remove Rabbit MQ concensus (#17708)
* [server] Migrate snapshots jobs

* fix

* Fix

* [server] Remove Rabbit MQ concensus
2023-05-24 20:39:58 +08:00
Anton Kosyakov
8902b61854
[public-api] stats initial (#17718) 2023-05-24 17:27:58 +08:00
Milan Pavlik
1b7529cbc1
[server] Migrate snapshots jobs WEB-225 (#17494)
* [server] Migrate snapshots jobs

* fix

* Fix

* Fix
2023-05-23 19:01:57 +08:00
Sven Efftinge
dc7fa38db4
remove long-running migrations (#17638) 2023-05-17 21:23:51 +08:00
Milan Pavlik
9402277686
[server] Unify periodic jobs (#17433)
* [server] Unify periodic jobs

* retest

* migrate token gc

* migrate webhook gc

* fix

* fix

* fix

* fix

* remove multi-bind

* fix

* fix

* fix

* fix

* fix
2023-05-03 14:17:41 +08:00
Milan Pavlik
809b5a5316
[server] Use redlock for periodic db deleter (#17381)
* [server] Use redlock for periodic db deleter

* Fix

* fix
2023-04-28 16:34:36 +08:00
Milan Pavlik
bcca71039c
[server] Remove enforcement endpoint WEB-219 (#17367)
* [server] Remove enforcement endpoint

* fix

* fix

* Fix
2023-04-25 22:05:46 +08:00
Milan Pavlik
e77764216c
[server] Move prebuilds out of EE (#17354)
* [server] Move prebuilds out of EE

* fix
2023-04-25 15:22:46 +08:00
Milan Pavlik
7108698667
[server] Move snapshot service out of EE (#17340)
* [server] Move snapshot service out of EE

* Fix

* retest

* Fix

* fix
2023-04-24 20:57:45 +08:00
Alex Tugarev
94340c7307
[server/db] resume periodic deleter on quorum re-election (#17092) 2023-03-30 13:40:39 +02:00
Milan Pavlik
1bbcd3bd4e
[server] Log when instance is quorum leader and starts db deleter, or not (#17090) 2023-03-30 12:26:39 +02:00
Milan Pavlik
9fef280622
[server] Implement grpc/connect getTeam RPC (#17068)
* [server] Implement grpc/connect getTeam RPC

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* Fix

* Fix

* fix

* cleanup logs

* Fix
2023-03-30 11:08:40 +02:00
Milan Pavlik
212f565280
[server] Register gRPC/Connect team service (#17062)
* [server] Register gRPC/Connect team service

* fix
2023-03-29 14:58:38 +02:00
Milan Pavlik
d6629f3f92
[server] Unimplemented user service on internal port (#16999) 2023-03-27 09:26:24 +02:00
Gero Posmyk-Leinemann
8744ad02fc
[server] verifyClient: Remove dead code to parse workspace URLs (#16845) 2023-03-15 11:49:07 +01:00
Gero Posmyk-Leinemann
5aaba62642
[server] Tone down unnecessary logging around websocket verifyClient (#16844) 2023-03-15 09:43:07 +01:00
Milan Pavlik
fb62d6ba31
[server] Log empty origin header in debug, attach origin to other log (#16632) 2023-03-06 08:59:03 +01:00
Milan Pavlik
448fe8bd6e
[server] Remove feature flag controller - unused (#16656)
* [server] Remove feature flag controller - unused

* Fix
2023-03-06 08:58:03 +01:00
Gero Posmyk-Leinemann
2c4390ac26 [server] strict same site origin for /api/gitpod endpoint 2023-02-14 15:00:19 +01:00
Sven Efftinge
181076af92 [server] disable long migrations via config 2023-02-13 16:14:18 +01:00
Sven Efftinge
df16e84434 [db/long migration] organizationId on workspace 2023-02-10 09:35:15 +01:00
Alex Tugarev
1ed4b3c4d5 [server] expose internal IAM session service
Add fake login handler
2023-01-03 12:10:42 +01:00
Christian Weichel
478a75e744 Switch license to AGPL 2022-12-08 13:05:19 -03:00
Andrew Farries
d037ee8837 Add api/feature-flags/slow-database endpoint
Add a server endpoint to test the value of the `slow_database` feature
flag for the currently authenticated user.

The endpoint sets the `X-Gitpod-Slow-Database` header in the response to
either `true` or `false` according to the value of the feature flag.

The intention is that this endpoint can be used by the Caddy proxy to
'pre-flight' requests to server, sending the actual request to either
`server` or `slow-server` as needed.
2022-11-23 09:52:52 -03:00
Milan Pavlik
f8663fcaed Revert "[server] Remove download workspace APIs"
This reverts commit 6af15886aec8388c7191e5c838f38bef8d954dbb.
2022-11-11 11:25:40 +02:00
Milan Pavlik
6af15886ae [server] Remove download workspace APIs 2022-11-09 08:52:38 +01:00
Andrew Farries
ef218db676 Add liveness probe endpoint to server
The probe fails iff the nodejs event loop lag (as reported by a
prometheus metric) exceeds the value set in server config.
2022-09-22 16:10:23 +02:00
Alex Tugarev
a2fa9dcfa3 Clean up webhook events
by running a periodic garbage collector. This is a pattern we use for other resources.

fixes #12430
2022-08-31 15:08:16 +02:00