Skip to content

Commit 2adaa06

Browse files
committed
[gitpod-cli/protocol] remove dependency to common-go
1 parent ff8f91e commit 2adaa06

File tree

16 files changed

+66
-127
lines changed

16 files changed

+66
-127
lines changed

components/gitpod-cli/BUILD.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ packages:
99
- CGO_ENABLED=0
1010
- GOOS=linux
1111
deps:
12-
- components/common-go:lib
1312
- components/supervisor-api/go:lib
1413
- components/gitpod-protocol/go:lib
1514
config:

components/gitpod-cli/cmd/env.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ package cmd
77
import (
88
"context"
99
"fmt"
10+
"io"
1011
"os"
1112
"strings"
1213
"sync"
1314
"time"
1415

16+
log "github.com/sirupsen/logrus"
1517
"github.com/spf13/cobra"
1618
"golang.org/x/xerrors"
1719
"google.golang.org/grpc"
@@ -49,6 +51,13 @@ delete environment variables with a repository pattern of */foo, foo/* or */*.
4951
`,
5052
Args: cobra.ArbitraryArgs,
5153
Run: func(cmd *cobra.Command, args []string) {
54+
log.SetOutput(io.Discard)
55+
f, err := os.OpenFile(os.TempDir()+"/gp-env.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
56+
if err == nil {
57+
defer f.Close()
58+
log.SetOutput(f)
59+
}
60+
5261
if len(args) > 0 {
5362
if unsetEnvs {
5463
deleteEnvs(args)
@@ -103,7 +112,11 @@ func connectToServer(ctx context.Context) (*connectToServerResult, error) {
103112
if err != nil {
104113
return nil, xerrors.Errorf("failed getting token from supervisor: %w", err)
105114
}
106-
client, err := serverapi.ConnectToServer(wsinfo.GitpodApi.Endpoint, serverapi.ConnectToServerOpts{Token: clientToken.Token, Context: ctx})
115+
client, err := serverapi.ConnectToServer(wsinfo.GitpodApi.Endpoint, serverapi.ConnectToServerOpts{
116+
Token: clientToken.Token,
117+
Context: ctx,
118+
Log: log.NewEntry(log.StandardLogger()),
119+
})
107120
if err != nil {
108121
return nil, xerrors.Errorf("failed connecting to server: %w", err)
109122
}

components/gitpod-cli/cmd/git-token-validator.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package cmd
77
import (
88
"context"
99
"fmt"
10+
"io"
1011
"os"
1112
"strings"
1213
"time"
@@ -35,6 +36,13 @@ var gitTokenValidator = &cobra.Command{
3536
Args: cobra.ExactArgs(0),
3637
Hidden: true,
3738
Run: func(cmd *cobra.Command, args []string) {
39+
log.SetOutput(io.Discard)
40+
f, err := os.OpenFile(os.TempDir()+"/gitpod-git-credential-helper.log", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
41+
if err == nil {
42+
defer f.Close()
43+
log.SetOutput(f)
44+
}
45+
3846
log.Infof("gp git-token-validator")
3947

4048
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Minute)
@@ -61,7 +69,11 @@ var gitTokenValidator = &cobra.Command{
6169
if err != nil {
6270
log.WithError(err).Fatal("error getting token from supervisor")
6371
}
64-
client, err := serverapi.ConnectToServer(wsinfo.GitpodApi.Endpoint, serverapi.ConnectToServerOpts{Token: clientToken.Token, Context: ctx})
72+
client, err := serverapi.ConnectToServer(wsinfo.GitpodApi.Endpoint, serverapi.ConnectToServerOpts{
73+
Token: clientToken.Token,
74+
Context: ctx,
75+
Log: log.NewEntry(log.StandardLogger()),
76+
})
6577
if err != nil {
6678
log.WithError(err).Fatal("error connecting to server")
6779
}

components/gitpod-cli/go.mod

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -22,56 +22,6 @@ require (
2222
gopkg.in/yaml.v2 v2.4.0
2323
)
2424

25-
replace github.com/gitpod-io/gitpod/common-go => ../common-go // leeway
26-
2725
replace github.com/gitpod-io/gitpod/gitpod-protocol => ../gitpod-protocol/go // leeway
2826

2927
replace github.com/gitpod-io/gitpod/supervisor/api => ../supervisor-api/go // leeway
30-
31-
replace k8s.io/api => k8s.io/api v0.20.4 // leeway indirect from components/common-go:lib
32-
33-
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.20.4 // leeway indirect from components/common-go:lib
34-
35-
replace k8s.io/apimachinery => k8s.io/apimachinery v0.20.4 // leeway indirect from components/common-go:lib
36-
37-
replace k8s.io/apiserver => k8s.io/apiserver v0.20.4 // leeway indirect from components/common-go:lib
38-
39-
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.20.4 // leeway indirect from components/common-go:lib
40-
41-
replace k8s.io/client-go => k8s.io/client-go v0.20.4 // leeway indirect from components/common-go:lib
42-
43-
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.20.4 // leeway indirect from components/common-go:lib
44-
45-
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.20.4 // leeway indirect from components/common-go:lib
46-
47-
replace k8s.io/code-generator => k8s.io/code-generator v0.20.4 // leeway indirect from components/common-go:lib
48-
49-
replace k8s.io/component-base => k8s.io/component-base v0.20.4 // leeway indirect from components/common-go:lib
50-
51-
replace k8s.io/cri-api => k8s.io/cri-api v0.20.4 // leeway indirect from components/common-go:lib
52-
53-
replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.20.4 // leeway indirect from components/common-go:lib
54-
55-
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.20.4 // leeway indirect from components/common-go:lib
56-
57-
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.20.4 // leeway indirect from components/common-go:lib
58-
59-
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.20.4 // leeway indirect from components/common-go:lib
60-
61-
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.20.4 // leeway indirect from components/common-go:lib
62-
63-
replace k8s.io/kubelet => k8s.io/kubelet v0.20.4 // leeway indirect from components/common-go:lib
64-
65-
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.20.4 // leeway indirect from components/common-go:lib
66-
67-
replace k8s.io/metrics => k8s.io/metrics v0.20.4 // leeway indirect from components/common-go:lib
68-
69-
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.20.4 // leeway indirect from components/common-go:lib
70-
71-
replace k8s.io/component-helpers => k8s.io/component-helpers v0.20.4 // leeway indirect from components/common-go:lib
72-
73-
replace k8s.io/controller-manager => k8s.io/controller-manager v0.20.4 // leeway indirect from components/common-go:lib
74-
75-
replace k8s.io/kubectl => k8s.io/kubectl v0.20.4 // leeway indirect from components/common-go:lib
76-
77-
replace k8s.io/mount-utils => k8s.io/mount-utils v0.20.4 // leeway indirect from components/common-go:lib

components/gitpod-cli/go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/
378378
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
379379
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
380380
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
381+
golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA=
381382
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
382383
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
383384
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
@@ -437,6 +438,7 @@ golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fq
437438
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
438439
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
439440
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
441+
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
440442
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
441443
golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
442444
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=

components/gitpod-protocol/go/BUILD.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ packages:
55
- "**/*.go"
66
- "go.mod"
77
- "go.sum"
8-
deps:
9-
- components/common-go:lib
108
env:
119
- CGO_ENABLED=0
1210
- GOOS=linux

components/gitpod-protocol/go/gitpod-config.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import (
1111
"time"
1212

1313
"github.com/fsnotify/fsnotify"
14+
"github.com/sirupsen/logrus"
1415
"gopkg.in/yaml.v2"
15-
16-
"github.com/gitpod-io/gitpod/common-go/log"
1716
)
1817

1918
// ConfigInterface provides access to the gitpod config file.
@@ -32,6 +31,8 @@ type ConfigService struct {
3231
stop context.CancelFunc
3332
mu sync.Mutex
3433
pollTimer *time.Timer
34+
35+
log *logrus.Entry
3536
}
3637

3738
type configListener struct {
@@ -40,11 +41,12 @@ type configListener struct {
4041
}
4142

4243
// NewConfigService creates a new instance of ConfigService
43-
func NewConfigService(configLocation string, locationReady <-chan struct{}) *ConfigService {
44+
func NewConfigService(configLocation string, locationReady <-chan struct{}, log *logrus.Entry) *ConfigService {
4445
return &ConfigService{
4546
location: configLocation,
4647
locationReady: locationReady,
4748
listeners: make(map[configListener]struct{}),
49+
log: log,
4850
}
4951
}
5052

@@ -98,7 +100,7 @@ func (service *ConfigService) start() error {
98100
return nil
99101
}
100102

101-
log.WithField("location", service.location).Info("Starting watching...")
103+
service.log.WithField("location", service.location).Info("Starting watching...")
102104
context, stop := context.WithCancel(context.Background())
103105
service.stop = stop
104106
service.mu.Unlock()
@@ -119,11 +121,11 @@ func (service *ConfigService) watch(ctx context.Context) (err error) {
119121
watcher, err := fsnotify.NewWatcher()
120122
defer func() {
121123
if err != nil {
122-
log.WithField("location", service.location).WithError(err).Error("Failed to start watching...")
124+
service.log.WithField("location", service.location).WithError(err).Error("Failed to start watching...")
123125
return
124126
}
125127

126-
log.WithField("location", service.location).Info("Started watching")
128+
service.log.WithField("location", service.location).Info("Started watching")
127129
}()
128130
if err != nil {
129131
return err
@@ -136,7 +138,7 @@ func (service *ConfigService) watch(ctx context.Context) (err error) {
136138
}
137139

138140
go func() {
139-
defer log.WithField("location", service.location).Info("Stopped watching")
141+
defer service.log.WithField("location", service.location).Info("Stopped watching")
140142
defer watcher.Close()
141143

142144
polling := make(chan struct{}, 1)

components/gitpod-protocol/go/gitpod-config_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@ import (
1010
"testing"
1111

1212
"github.com/google/go-cmp/cmp"
13+
"github.com/sirupsen/logrus"
1314
)
1415

16+
var log = logrus.NewEntry(logrus.StandardLogger())
17+
1518
func TestGitpodConfig(t *testing.T) {
1619
tests := []struct {
1720
Desc string
@@ -81,7 +84,7 @@ vscode:
8184
defer os.RemoveAll(tempDir)
8285

8386
locationReady := make(chan struct{})
84-
configService := NewConfigService(tempDir+"/.gitpod.yml", locationReady)
87+
configService := NewConfigService(tempDir+"/.gitpod.yml", locationReady, log)
8588
context, cancel := context.WithCancel(context.Background())
8689
defer cancel()
8790
close(locationReady)

components/gitpod-protocol/go/gitpod-service.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
"github.com/sourcegraph/jsonrpc2"
2020
"golang.org/x/xerrors"
2121

22-
"github.com/gitpod-io/gitpod/common-go/log"
22+
"github.com/sirupsen/logrus"
2323
)
2424

2525
// APIInterface wraps the
@@ -220,6 +220,7 @@ var errNotConnected = errors.New("not connected to Gitpod server")
220220
type ConnectToServerOpts struct {
221221
Context context.Context
222222
Token string
223+
Log *logrus.Entry
223224
}
224225

225226
// ConnectToServer establishes a new websocket connection to the server
@@ -246,17 +247,19 @@ func ConnectToServer(endpoint string, opts ConnectToServerOpts) (*APIoverJSONRPC
246247
if opts.Token != "" {
247248
reqHeader.Set("Authorization", "Bearer "+opts.Token)
248249
}
249-
ws := NewReconnectingWebsocket(endpoint, reqHeader)
250+
ws := NewReconnectingWebsocket(endpoint, reqHeader, opts.Log)
250251
go ws.Dial()
251252

252253
var res APIoverJSONRPC
254+
res.log = opts.Log
253255
res.C = jsonrpc2.NewConn(opts.Context, ws, jsonrpc2.HandlerWithError(res.handler))
254256
return &res, nil
255257
}
256258

257259
// APIoverJSONRPC makes JSON RPC calls to the Gitpod server is the APIoverJSONRPC message type
258260
type APIoverJSONRPC struct {
259-
C jsonrpc2.JSONRPC2
261+
C jsonrpc2.JSONRPC2
262+
log *logrus.Entry
260263

261264
mu sync.RWMutex
262265
subs map[string]map[chan *WorkspaceInstance]struct{}
@@ -318,7 +321,7 @@ func (gp *APIoverJSONRPC) handler(ctx context.Context, conn *jsonrpc2.Conn, req
318321
var instance WorkspaceInstance
319322
err = json.Unmarshal(*req.Params, &instance)
320323
if err != nil {
321-
log.WithError(err).WithField("raw", string(*req.Params)).Error("cannot unmarshal instance update")
324+
gp.log.WithError(err).WithField("raw", string(*req.Params)).Error("cannot unmarshal instance update")
322325
return
323326
}
324327

components/gitpod-protocol/go/go.mod

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -4,61 +4,11 @@ go 1.16
44

55
require (
66
github.com/fsnotify/fsnotify v1.4.9
7-
github.com/gitpod-io/gitpod/common-go v0.0.0-00010101000000-000000000000
87
github.com/golang/mock v1.4.4
98
github.com/google/go-cmp v0.5.2
109
github.com/gorilla/websocket v1.4.2
10+
github.com/sirupsen/logrus v1.7.0
1111
github.com/sourcegraph/jsonrpc2 v0.0.0-20200429184054-15c2290dcb37
1212
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
1313
gopkg.in/yaml.v2 v2.4.0
1414
)
15-
16-
replace github.com/gitpod-io/gitpod/common-go => ../../common-go // leeway
17-
18-
replace k8s.io/api => k8s.io/api v0.20.4 // leeway indirect from components/common-go:lib
19-
20-
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.20.4 // leeway indirect from components/common-go:lib
21-
22-
replace k8s.io/apimachinery => k8s.io/apimachinery v0.20.4 // leeway indirect from components/common-go:lib
23-
24-
replace k8s.io/apiserver => k8s.io/apiserver v0.20.4 // leeway indirect from components/common-go:lib
25-
26-
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.20.4 // leeway indirect from components/common-go:lib
27-
28-
replace k8s.io/client-go => k8s.io/client-go v0.20.4 // leeway indirect from components/common-go:lib
29-
30-
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.20.4 // leeway indirect from components/common-go:lib
31-
32-
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.20.4 // leeway indirect from components/common-go:lib
33-
34-
replace k8s.io/code-generator => k8s.io/code-generator v0.20.4 // leeway indirect from components/common-go:lib
35-
36-
replace k8s.io/component-base => k8s.io/component-base v0.20.4 // leeway indirect from components/common-go:lib
37-
38-
replace k8s.io/cri-api => k8s.io/cri-api v0.20.4 // leeway indirect from components/common-go:lib
39-
40-
replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.20.4 // leeway indirect from components/common-go:lib
41-
42-
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.20.4 // leeway indirect from components/common-go:lib
43-
44-
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.20.4 // leeway indirect from components/common-go:lib
45-
46-
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.20.4 // leeway indirect from components/common-go:lib
47-
48-
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.20.4 // leeway indirect from components/common-go:lib
49-
50-
replace k8s.io/kubelet => k8s.io/kubelet v0.20.4 // leeway indirect from components/common-go:lib
51-
52-
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.20.4 // leeway indirect from components/common-go:lib
53-
54-
replace k8s.io/metrics => k8s.io/metrics v0.20.4 // leeway indirect from components/common-go:lib
55-
56-
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.20.4 // leeway indirect from components/common-go:lib
57-
58-
replace k8s.io/component-helpers => k8s.io/component-helpers v0.20.4 // leeway indirect from components/common-go:lib
59-
60-
replace k8s.io/controller-manager => k8s.io/controller-manager v0.20.4 // leeway indirect from components/common-go:lib
61-
62-
replace k8s.io/kubectl => k8s.io/kubectl v0.20.4 // leeway indirect from components/common-go:lib
63-
64-
replace k8s.io/mount-utils => k8s.io/mount-utils v0.20.4 // leeway indirect from components/common-go:lib

components/gitpod-protocol/go/go.sum

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
178178
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
179179
golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
180180
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
181+
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4=
181182
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
182183
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
183184
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

0 commit comments

Comments
 (0)