160 Commits

Author SHA1 Message Date
Pudong
1b106c39ba
[ssh gateway] improve logs for errors (#19252) 2023-12-13 21:38:20 +02:00
Pudong
754495378d
[ws-proxy] use root as default username in non-mk2 (#19241) 2023-12-12 15:57:19 +02:00
Pudong
9759f0081c
[ws-proxy] use ecdsa private key for createKey fake api (#19211) 2023-12-11 16:59:18 +02:00
Pudong
1b7498059c
[ws-proxy] add missing permission for generated ssh key (#19201) 2023-12-06 21:00:13 +02:00
Pudong
7f83e2f592
[ws-proxy] only get username if workspace not managed by mk2 (#19180)
* [ws-proxy] only get username if workspace not managed by mk2

* remove ssh key from infoprovider

* improve logs

* Update components/ws-proxy/pkg/sshproxy/server.go
2023-12-01 21:41:09 +02:00
Pudong
555c738cd0
hook create key route in ws-proxy (#19174) 2023-11-30 19:28:07 +02:00
Pudong
10fe5b9699
[sshgateway] use ssh CA to auth (#19147)
* [sshgateway] use ssh CA to auth

* change name

* add error log

* fix

* mark volume optional

* [installer] validate ssh-ca secret

* Revert "[installer] validate ssh-ca secret"

This reverts commit ca6ede78a7b5a720fd315eca32eb277cb5063069.

We must support the scenario where the installer has the secret, but, it is not in the cluster yet.

---------

Co-authored-by: Kyle Brennan <kyle@gitpod.io>
2023-11-30 19:17:08 +02:00
Manuel Alejandro de Brito Fontes
e9cfedd0c9
Get SSH username from workspacekit (#19146)
* Get SSH username from workspacekit

* Disable false positive

* Check status code
2023-11-27 19:52:05 +02:00
Manuel Alejandro de Brito Fontes
453bf6ea4a
Refactor configuration of workspace SSH key (#19059)
* Refactor configuration of workspace SSH key

* Update go modules

* Update CRD

* only add SSH Key to workspace CR (#19130)

---------

Co-authored-by: Pudong <tianshi8650@gmail.com>
2023-11-24 15:55:01 +02:00
Pudong
34674c7fdb
Migrate the ssh tunnel from supervisor to ws-proxy (#19119)
* Migrate the ssh tunnel from supervisor to ws-proxy

* Add metrics for tunnel open and close
2023-11-24 14:21:02 +02:00
Manuel Alejandro de Brito Fontes
e4a118c410
We only have CRDs now (#19053) 2023-11-10 13:46:48 +02:00
Milan Pavlik
f500e391dc
[ws-proxy] Add /health route (#18915)
* [ws-proxy] Add /health route

* retest
2023-10-12 17:29:21 +03:00
Anton Kosyakov
cbc308305c
[ssh] flexible auth user (#18880) 2023-10-06 14:52:15 +03:00
Kyle Brennan
8bdbdd55f2
[ws-proxy] additional logging to better errors causing OTHER error_type (#18799)
* [ws-proxy] additional logging to better understand OTHER failures

* Fix
2023-09-26 15:55:05 +03:00
Manuel Alejandro de Brito Fontes
882ac56e7f
Reduce log verbosity (#18664) 2023-09-05 23:49:02 +02:00
Manuel Alejandro de Brito Fontes
5791909dc4
[ws-proxy] Implement graceful shutdown (#18583)
* [ws-proxy] Implement graceful shutdown

* Align termination grace period with http shutdown timeout

* Address feedback

* Configure http server timeouts
2023-08-28 18:25:54 +02:00
Pudong
3b6621c77f
Fix compatibility with golang crypto ssh (#18406) 2023-08-02 19:25:27 +08:00
Pudong
2e2833a8b5
[ssh-gateway] fix missing output when running simple command (#18366)
* [ssh-gateway] fix missing output when running simple command

* upgrade golang-crypto library

* only close when all of stdout stderr request stream finish

* upgrade golang-crypto
2023-08-01 03:21:26 +08:00
Thomas Schubart
df861c3929
[ws-proxy] Return last instance if multiple instances are found (#17985) 2023-06-21 16:06:11 +08:00
Wouter Verlaek
5ec09a8218
[ws-proxy] Remove pod info provider (#17992)
* [ws-proxy] Remove pod info provider

* Remove unused methods
2023-06-20 23:07:10 +08:00
Pudong
fcaf1b3ffa
Check workspace phase in ssh-gateway before connect to workspace (#17876) 2023-06-13 13:53:03 +08:00
Anton Kosyakov
9a6cd07534
[ws-proxy] don't hit blobserve with web sockets (#17558)
instead fallback directly to workspace
2023-06-05 14:08:55 +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
Manuel Alejandro de Brito Fontes
aa61917989
Remove TLS EOF errors from logs (#16930)
Signed-off-by: Manuel de Brito Fontes <aledbf@gmail.com>
2023-03-21 10:23:13 +01:00
Thomas Schubart
2c259c4dc8
[ws-manager-mk2] Support public SSH keys (#16413) 2023-03-13 14:50:49 +01:00
Pudong
7d7fcbb366
[ssh-gateway] support stderr forward in shell session (#16546) 2023-02-28 10:01:58 +01:00
Huiwen
12ed1367f4 Reuse the same workspace patterns 2023-02-07 09:43:45 +01:00
Thomas Schubart
a184846a3d [ws-proxy] Configure workspace CRD info provider 2023-01-24 19:22:32 +01:00
Christian Weichel
9992d4fa32 [ws-proxy] Support workspace CRD 2023-01-23 14:14:30 +01:00
Anton Kosyakov
959e584b55 [ws-proxy] support ports location for debug workspace
It is a prerequisite to https://github.com/gitpod-io/gitpod/pull/15795. Based on Pudong's work from https://github.com/gitpod-io/gitpod/pull/15687.

Co-authored-by: Pudong Zheng <tianshi8650@gmail.com>
2023-01-20 09:44:27 +01:00
Anton Kosyakov
697696029b [gp-run] experimental workspace config debug mode
Co-authored-by: Anton Kosyakov <anton@gitpod.io>
Co-authored-by: Victor Nogueira <victor@gitpod.io>
Co-authored-by: Andrea Falzetti <andrea@gitpod.io>
2023-01-09 06:32:48 +01:00
Christian Weichel
478a75e744 Switch license to AGPL 2022-12-08 13:05:19 -03:00
Anton Kosyakov
6533581a0e [ssh-proxy] only mark first active when user establish ssh connection
VS Code Remote SSH will reestablish a ssh connection even if window is not uesd.
It will retrigger heartbeat over and over in SSH Gateway.
SSH Gateway should only triggert heartbeat if pty sessions is present.

Co-authored-by: Pudong <tianshi8650@gmail.com>
2022-11-09 21:46:39 +02:00
Jean Pierre
9adc2e0458 Minor cleanup 2022-10-03 22:20:19 +02:00
Jean Pierre
350404f82d Add vscode callback route 2022-09-12 20:25:13 +02:00
Pudong Zheng
23fe8d686c [ssh-gateway] cleanup code 2022-07-19 15:55:15 +02:00
Pudong Zheng
d3ca4b6002 [ssh-gateway] Reject ssh connection when workspace not found 2022-07-19 15:55:15 +02:00
Pudong Zheng
ef5c8646c3 [ws-proxy] improve no-client-auth analytics 2022-07-12 00:37:58 +05:30
Victor Nogueira
fe690d2782 Remove the port number from "X-Forwarded-Host" header as it's is already defined in "X-Forwarded-Port" 2022-07-09 18:16:56 +05:30
Pudong Zheng
dc33a0b1ca [ws-proxy] use target host for foreign resource 2022-07-06 13:40:53 +05:30
Pudong Zheng
394eda070c [ws-proxy] remove blobserve readonly mode 2022-07-06 13:40:53 +05:30
Pudong Zheng
2f5e402524 [ws-proxy] Add test case for blobserve and workspace port 2022-07-05 14:17:52 +05:30
Victor Nogueira
a5e828ffa2 Add X-Forwarded-Port header
It's required by some software, like [FusionAuth](https://fusionauth.io/).
2022-07-04 17:20:51 +05:30
Pudong Zheng
cf6a34ae6b [ws-proxy] not use target host when serve workspace port route 2022-07-01 15:34:39 +05:30
Pudong Zheng
1361d22be5 [ssh-gateway] add track for send closed heartbeat 2022-06-28 19:09:38 +05:30
Pudong Zheng
3522b7b3cd [ssh-gateway] only send heartbeat when it explicitly request pty 2022-06-28 19:09:38 +05:30
Pudong Zheng
9dc436aa92 [SSH Gateway] remove priavte key requirement when ownerToken is provide 2022-06-17 12:13:26 +05:30
Pudong Zheng
fe6e39e3a3 [workspace] support user upload ssh keys
Co-authored-by: Huiwen <huiwen@gitpod.io>
Co-authored-by: Christian Weichel <chris@gitpod.io>
Co-authored-by: Pavel Tumik <18602811+sagor999@users.noreply.github.com>
2022-06-15 22:58:25 +05:30
JenTing Hsiao
9631a0b57b Remove deprecated function
The function grpc.WithInsecure() is deprecated, use
grpc.WithTransportCredentials(insecure.NewCredentials()) instead.

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
2022-06-15 13:07:24 +05:30
Pudong Zheng
c8794637a3 [ws-proxy] use ide-proxy to serve blobserv 2022-06-10 02:47:19 +05:30