@@ -18,6 +18,7 @@ import (
18
18
"golang.org/x/xerrors"
19
19
20
20
"github.com/gitpod-io/gitpod/common-go/log"
21
+ "github.com/gitpod-io/gitpod/supervisor/pkg/dropwriter"
21
22
"github.com/sirupsen/logrus"
22
23
)
23
24
@@ -103,25 +104,23 @@ func (s *sshServer) handleConn(ctx context.Context, conn net.Conn) {
103
104
"-oSubsystem sftp internal-sftp" ,
104
105
"-oStrictModes no" , // don't care for home directory and file permissions
105
106
)
106
- // TODO enabled DEBUG mode by default - reconsider it
107
- sshdLogLevel := "DEBUG"
108
- if s .cfg .isDebugWorkspace () {
109
- switch log .Log .Logger .GetLevel () {
110
- case logrus .PanicLevel :
111
- sshdLogLevel = "FATAL"
112
- case logrus .FatalLevel :
113
- sshdLogLevel = "FATAL"
114
- case logrus .ErrorLevel :
115
- sshdLogLevel = "ERROR"
116
- case logrus .WarnLevel :
117
- sshdLogLevel = "INFO"
118
- case logrus .InfoLevel :
119
- sshdLogLevel = "INFO"
120
- case logrus .DebugLevel :
121
- sshdLogLevel = "VERBOSE"
122
- case logrus .TraceLevel :
123
- sshdLogLevel = "DEBUG"
124
- }
107
+ // can be configured with gp env LOG_LEVEL=DEBUG to see SSH sessions/channels
108
+ sshdLogLevel := "ERROR"
109
+ switch log .Log .Logger .GetLevel () {
110
+ case logrus .PanicLevel :
111
+ sshdLogLevel = "FATAL"
112
+ case logrus .FatalLevel :
113
+ sshdLogLevel = "FATAL"
114
+ case logrus .ErrorLevel :
115
+ sshdLogLevel = "ERROR"
116
+ case logrus .WarnLevel :
117
+ sshdLogLevel = "INFO"
118
+ case logrus .InfoLevel :
119
+ sshdLogLevel = "INFO"
120
+ case logrus .DebugLevel :
121
+ sshdLogLevel = "VERBOSE"
122
+ case logrus .TraceLevel :
123
+ sshdLogLevel = "DEBUG"
125
124
}
126
125
args = append (args , "-oLogLevel " + sshdLogLevel )
127
126
@@ -150,6 +149,11 @@ func (s *sshServer) handleConn(ctx context.Context, conn net.Conn) {
150
149
cmd .Env = s .envvars
151
150
cmd .ExtraFiles = []* os.File {socketFD }
152
151
cmd .Stderr = os .Stderr
152
+ if s .cfg .WorkspaceLogRateLimit > 0 {
153
+ limit := int64 (s .cfg .WorkspaceLogRateLimit )
154
+ cmd .Stderr = dropwriter .Writer (cmd .Stderr , dropwriter .NewBucket (limit * 1024 * 3 , limit * 1024 ))
155
+ log .WithField ("limit_kb_per_sec" , limit ).Info ("rate limiting SSH log output" )
156
+ }
153
157
cmd .Stdin = bufio .NewReader (socketFD )
154
158
cmd .Stdout = bufio .NewWriter (socketFD )
155
159
0 commit comments