Skip to content

Commit 6b11a82

Browse files
easyCZroboquat
authored andcommitted
[content-service] Port to use baseserver
1 parent 155efaa commit 6b11a82

File tree

16 files changed

+84
-153
lines changed

16 files changed

+84
-153
lines changed

components/content-service-api/go/config/config.go

Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,8 @@
55
package config
66

77
import (
8-
"crypto/tls"
8+
"github.com/gitpod-io/gitpod/common-go/baseserver"
99
"os"
10-
11-
"golang.org/x/xerrors"
12-
"google.golang.org/grpc"
13-
"google.golang.org/grpc/credentials"
14-
15-
common_grpc "github.com/gitpod-io/gitpod/common-go/grpc"
1610
)
1711

1812
// StorageConfig configures the remote storage we use
@@ -113,48 +107,11 @@ type MinIOConfig struct {
113107
ParallelUpload uint `json:"parallelUpload,omitempty"`
114108
}
115109

116-
type Service struct {
117-
Addr string `json:"address"`
118-
TLS TLSConfig `json:"tls"`
119-
}
120-
121-
type Prometheus struct {
122-
Addr string `json:"address"`
123-
}
124-
125110
type PProf struct {
126111
Addr string `json:"address"`
127112
}
128113

129114
type ServiceConfig struct {
130-
// Daemon daemon.Config `json:"daemon"`
131-
Service Service `json:"service"`
132-
Prometheus Prometheus `json:"prometheus"`
133-
PProf PProf `json:"pprof"`
134-
Storage StorageConfig `json:"storage"`
135-
}
136-
137-
type TLSConfig struct {
138-
Authority string `json:"ca"`
139-
Certificate string `json:"crt"`
140-
PrivateKey string `json:"key"`
141-
}
142-
143-
// ServerOption produces the GRPC option that configures a server to use this TLS configuration
144-
func (c *TLSConfig) ServerOption() (grpc.ServerOption, error) {
145-
if c.Authority == "" || c.Certificate == "" || c.PrivateKey == "" {
146-
return nil, nil
147-
}
148-
149-
tlsConfig, err := common_grpc.ClientAuthTLSConfig(
150-
c.Authority, c.Certificate, c.PrivateKey,
151-
common_grpc.WithSetClientCAs(true),
152-
common_grpc.WithClientAuth(tls.RequireAndVerifyClientCert),
153-
common_grpc.WithServerName("ws-manager"),
154-
)
155-
if err != nil {
156-
return nil, xerrors.Errorf("cannot load ws-manager certs: %w", err)
157-
}
158-
159-
return grpc.Creds(credentials.NewTLS(tlsConfig)), nil
115+
Service baseserver.ServerConfiguration `json:"service"`
116+
Storage StorageConfig `json:"storage"`
160117
}

components/content-service-api/go/go.mod

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,36 @@ require (
66
github.com/gitpod-io/gitpod/common-go v0.0.0-00010101000000-000000000000
77
github.com/opencontainers/go-digest v1.0.0
88
github.com/opencontainers/image-spec v1.0.2
9-
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
109
google.golang.org/grpc v1.45.0
1110
google.golang.org/protobuf v1.28.0
1211
)
1312

1413
require (
1514
github.com/beorn7/perks v1.0.1 // indirect
1615
github.com/cespare/xxhash/v2 v2.1.2 // indirect
16+
github.com/davecgh/go-spew v1.1.1 // indirect
1717
github.com/golang/protobuf v1.5.2 // indirect
1818
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
1919
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
2020
github.com/hashicorp/golang-lru v0.5.1 // indirect
21+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb // indirect
2122
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
2223
github.com/opentracing/opentracing-go v1.2.0 // indirect
24+
github.com/pmezard/go-difflib v1.0.0 // indirect
2325
github.com/prometheus/client_golang v1.12.1 // indirect
2426
github.com/prometheus/client_model v0.2.0 // indirect
2527
github.com/prometheus/common v0.32.1 // indirect
2628
github.com/prometheus/procfs v0.7.3 // indirect
2729
github.com/sirupsen/logrus v1.8.1 // indirect
30+
github.com/stretchr/testify v1.7.0 // indirect
2831
golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect
32+
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
2933
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect
3034
golang.org/x/text v0.3.7 // indirect
3135
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect
36+
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
3237
google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154 // indirect
38+
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
3339
)
3440

3541
replace github.com/gitpod-io/gitpod/common-go => ../../common-go // leeway

components/content-service-api/go/go.sum

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
142142
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
143143
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
144144
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
145+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb h1:tsEKRC3PU9rMw18w/uAptoijhgG4EvlA5kfJPtwrMDk=
146+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb/go.mod h1:NtmN9h8vrTveVQRLHcX2HQ5wIPBDCsZ351TGbZWgg38=
145147
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
146148
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
147149
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -157,8 +159,10 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
157159
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
158160
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
159161
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
162+
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
160163
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
161164
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
165+
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
162166
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
163167
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
164168
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
@@ -315,6 +319,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
315319
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
316320
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
317321
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
322+
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
323+
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
318324
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
319325
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
320326
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -500,9 +506,11 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
500506
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
501507
google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
502508
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
509+
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 h1:FVCohIoYO7IJoDDVpV2pdq7SgrMH6wHnuTyrdrxJNoY=
503510
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
504511
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
505512
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
513+
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
506514
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
507515
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
508516
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -514,6 +522,7 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
514522
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
515523
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
516524
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
525+
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
517526
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
518527
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
519528
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

components/content-service/cmd/root.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,10 @@ import (
99
"fmt"
1010
"os"
1111

12-
"github.com/spf13/cobra"
13-
"golang.org/x/xerrors"
14-
1512
"github.com/gitpod-io/gitpod/common-go/log"
1613
"github.com/gitpod-io/gitpod/common-go/tracing"
1714
"github.com/gitpod-io/gitpod/content-service/api/config"
15+
"github.com/spf13/cobra"
1816
)
1917

2018
var (
@@ -52,7 +50,7 @@ func Execute() {
5250
func getConfig() *config.ServiceConfig {
5351
ctnt, err := os.ReadFile(configFile)
5452
if err != nil {
55-
log.WithError(xerrors.Errorf("cannot read config: %w", err)).Error("cannot read configuration. Maybe missing --config?")
53+
log.WithError(fmt.Errorf("cannot read config: %w", err)).Error("cannot read configuration. Maybe missing --config?")
5654
os.Exit(1)
5755
}
5856

components/content-service/cmd/run.go

Lines changed: 17 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,11 @@
55
package cmd
66

77
import (
8-
"net"
9-
"net/http"
10-
"os"
11-
"os/signal"
12-
"syscall"
13-
14-
grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
15-
"github.com/prometheus/client_golang/prometheus"
16-
"github.com/prometheus/client_golang/prometheus/collectors"
17-
"github.com/prometheus/client_golang/prometheus/promhttp"
18-
"github.com/spf13/cobra"
19-
"google.golang.org/grpc"
20-
21-
common_grpc "github.com/gitpod-io/gitpod/common-go/grpc"
8+
"github.com/gitpod-io/gitpod/common-go/baseserver"
229
"github.com/gitpod-io/gitpod/common-go/log"
23-
"github.com/gitpod-io/gitpod/common-go/pprof"
2410
"github.com/gitpod-io/gitpod/content-service/api"
2511
"github.com/gitpod-io/gitpod/content-service/pkg/service"
12+
"github.com/spf13/cobra"
2613
)
2714

2815
// runCmd starts the content service
@@ -32,106 +19,48 @@ var runCmd = &cobra.Command{
3219

3320
Run: func(cmd *cobra.Command, args []string) {
3421
cfg := getConfig()
35-
reg := prometheus.NewRegistry()
36-
37-
common_grpc.SetupLogging()
3822

39-
grpcMetrics := grpc_prometheus.NewServerMetrics()
40-
grpcMetrics.EnableHandlingTimeHistogram()
41-
reg.MustRegister(grpcMetrics)
42-
43-
grpcOpts := common_grpc.ServerOptionsWithInterceptors(
44-
[]grpc.StreamServerInterceptor{grpcMetrics.StreamServerInterceptor()},
45-
[]grpc.UnaryServerInterceptor{grpcMetrics.UnaryServerInterceptor()},
23+
srv, err := baseserver.New("content-service",
24+
baseserver.WithGRPC(&cfg.Service),
4625
)
47-
tlsOpt, err := cfg.Service.TLS.ServerOption()
4826
if err != nil {
49-
log.WithError(err).Fatal("cannot use TLS config")
50-
}
51-
if tlsOpt != nil {
52-
log.WithField("crt", cfg.Service.TLS.Certificate).WithField("key", cfg.Service.TLS.PrivateKey).Debug("securing gRPC server with TLS")
53-
grpcOpts = append(grpcOpts, tlsOpt)
54-
} else {
55-
log.Warn("no TLS configured - gRPC server will be unsecured")
27+
log.WithError(err).Fatal("Failed to create server.")
5628
}
5729

58-
server := grpc.NewServer(grpcOpts...)
59-
6030
contentService, err := service.NewContentService(cfg.Storage)
6131
if err != nil {
62-
log.WithError(err).Fatalf("cannot create content service")
32+
log.WithError(err).Fatalf("Cannot create content service")
6333
}
64-
api.RegisterContentServiceServer(server, contentService)
34+
api.RegisterContentServiceServer(srv.GRPC(), contentService)
6535

6636
blobService, err := service.NewBlobService(cfg.Storage)
6737
if err != nil {
68-
log.WithError(err).Fatalf("cannot create blobs service")
38+
log.WithError(err).Fatalf("Cannot create blobs service")
6939
}
70-
api.RegisterBlobServiceServer(server, blobService)
40+
api.RegisterBlobServiceServer(srv.GRPC(), blobService)
7141

7242
workspaceService, err := service.NewWorkspaceService(cfg.Storage)
7343
if err != nil {
74-
log.WithError(err).Fatalf("cannot create workspace service")
44+
log.WithError(err).Fatalf("Cannot create workspace service")
7545
}
76-
api.RegisterWorkspaceServiceServer(server, workspaceService)
46+
api.RegisterWorkspaceServiceServer(srv.GRPC(), workspaceService)
7747

7848
headlessLogService, err := service.NewHeadlessLogService(cfg.Storage)
7949
if err != nil {
80-
log.WithError(err).Fatalf("cannot create log service")
50+
log.WithError(err).Fatalf("Cannot create log service")
8151
}
82-
api.RegisterHeadlessLogServiceServer(server, headlessLogService)
52+
api.RegisterHeadlessLogServiceServer(srv.GRPC(), headlessLogService)
8353

8454
idePluginService, err := service.NewIDEPluginService(cfg.Storage)
8555
if err != nil {
86-
log.WithError(err).Fatalf("cannot create IDE Plugin service")
87-
}
88-
api.RegisterIDEPluginServiceServer(server, idePluginService)
89-
90-
lis, err := net.Listen("tcp", cfg.Service.Addr)
91-
if err != nil {
92-
log.WithError(err).Fatalf("cannot listen on %s", cfg.Service.Addr)
93-
}
94-
go func() {
95-
err := server.Serve(lis)
96-
if err != nil {
97-
log.WithError(err).Fatal("cannot start server")
98-
}
99-
}()
100-
log.WithField("addr", cfg.Service.Addr).Info("started gRPC server")
101-
102-
if cfg.Prometheus.Addr != "" {
103-
reg.MustRegister(
104-
collectors.NewGoCollector(),
105-
collectors.NewProcessCollector(collectors.ProcessCollectorOpts{}),
106-
)
107-
108-
handler := http.NewServeMux()
109-
handler.Handle("/metrics", promhttp.HandlerFor(reg, promhttp.HandlerOpts{}))
110-
111-
go func() {
112-
err := http.ListenAndServe(cfg.Prometheus.Addr, handler)
113-
if err != nil {
114-
log.WithError(err).Error("Prometheus metrics server failed")
115-
}
116-
}()
117-
log.WithField("addr", cfg.Prometheus.Addr).Info("started Prometheus metrics server")
118-
}
119-
120-
if cfg.PProf.Addr != "" {
121-
go pprof.Serve(cfg.PProf.Addr)
56+
log.WithError(err).Fatalf("Cannot create IDE Plugin service")
12257
}
58+
api.RegisterIDEPluginServiceServer(srv.GRPC(), idePluginService)
12359

60+
err = srv.ListenAndServe()
12461
if err != nil {
125-
log.WithError(err).Fatal("cannot start daemon")
62+
log.WithError(err).Fatal("Cannot start server")
12663
}
127-
128-
// run until we're told to stop
129-
sigChan := make(chan os.Signal, 1)
130-
signal.Notify(sigChan, os.Interrupt, syscall.SIGTERM)
131-
log.Info("🧫 content-service is up and running. Stop with SIGINT or CTRL+C")
132-
<-sigChan
133-
server.Stop()
134-
log.Info("Received SIGINT - shutting down")
13564
},
13665
}
13766

components/content-service/go.mod

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ require (
1010
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible
1111
github.com/golang/mock v1.6.0
1212
github.com/google/go-cmp v0.5.8
13-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
13+
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
1414
github.com/minio/minio-go/v7 v7.0.11
1515
github.com/opencontainers/go-digest v1.0.0
1616
github.com/opencontainers/image-spec v1.0.2
1717
github.com/opentracing/opentracing-go v1.2.0
18-
github.com/prometheus/client_golang v1.12.1
18+
github.com/prometheus/client_golang v1.12.1 // indirect
1919
github.com/spf13/cobra v1.2.1
2020
golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5
2121
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
@@ -45,6 +45,7 @@ require (
4545
github.com/cespare/xxhash/v2 v2.1.2 // indirect
4646
github.com/containerd/cgroups v1.0.1 // indirect
4747
github.com/containerd/containerd v1.5.9 // indirect
48+
github.com/davecgh/go-spew v1.1.1 // indirect
4849
github.com/docker/distribution v2.7.1+incompatible // indirect
4950
github.com/docker/docker v20.10.11+incompatible // indirect
5051
github.com/docker/go-connections v0.4.0 // indirect
@@ -61,6 +62,7 @@ require (
6162
github.com/gorilla/mux v1.8.0 // indirect
6263
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
6364
github.com/hashicorp/golang-lru v0.5.1 // indirect
65+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb // indirect
6466
github.com/inconshreveable/mousetrap v1.0.0 // indirect
6567
github.com/json-iterator/go v1.1.12 // indirect
6668
github.com/klauspost/cpuid v1.3.1 // indirect
@@ -78,12 +80,14 @@ require (
7880
github.com/opencontainers/runc v1.0.2 // indirect
7981
github.com/pkg/errors v0.9.1 // indirect
8082
github.com/pkg/xattr v0.4.7 // indirect
83+
github.com/pmezard/go-difflib v1.0.0 // indirect
8184
github.com/prometheus/client_model v0.2.0 // indirect
8285
github.com/prometheus/common v0.32.1 // indirect
8386
github.com/prometheus/procfs v0.7.3 // indirect
8487
github.com/rs/xid v1.2.1 // indirect
8588
github.com/sirupsen/logrus v1.8.1 // indirect
8689
github.com/spf13/pflag v1.0.5 // indirect
90+
github.com/stretchr/testify v1.7.1 // indirect
8791
github.com/uber/jaeger-client-go v2.29.1+incompatible // indirect
8892
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
8993
go.opencensus.io v0.23.0 // indirect

components/content-service/go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,8 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO
517517
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
518518
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
519519
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
520+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb h1:tsEKRC3PU9rMw18w/uAptoijhgG4EvlA5kfJPtwrMDk=
521+
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb/go.mod h1:NtmN9h8vrTveVQRLHcX2HQ5wIPBDCsZ351TGbZWgg38=
520522
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
521523
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
522524
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@@ -796,6 +798,7 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
796798
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
797799
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
798800
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
801+
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
799802
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
800803
github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
801804
github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
@@ -1387,6 +1390,7 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
13871390
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
13881391
google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
13891392
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
1393+
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 h1:FVCohIoYO7IJoDDVpV2pdq7SgrMH6wHnuTyrdrxJNoY=
13901394
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
13911395
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
13921396
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

0 commit comments

Comments
 (0)