Skip to content

Commit f6b5417

Browse files
author
Andrew Farries
committed
Make content-service take bucket name from config
Rather than hardcoding the name of the bucket.
1 parent 05944b5 commit f6b5417

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

components/content-service/cmd/run.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ var runCmd = &cobra.Command{
5757
}
5858
api.RegisterIDEPluginServiceServer(srv.GRPC(), idePluginService)
5959

60-
usageReportService, err := service.NewUsageReportService(cfg.Storage)
60+
usageReportService, err := service.NewUsageReportService(cfg.Storage, cfg.UsageReports.BucketName)
6161
if err != nil {
6262
log.WithError(err).Fatalf("Cannot create usage report service")
6363
}

components/content-service/pkg/service/usage-report-service_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,20 @@ import (
1919
// TestUploadURL tests that usageReportService.UploadURL interacts with PresignedAccess
2020
// correctly to produce an upload URL for the correct bucket and filename.
2121
func TestUploadURL(t *testing.T) {
22+
const (
23+
fileName = "some-report-filename"
24+
bucketName = "gitpod-usage-reports"
25+
)
26+
2227
ctrl := gomock.NewController(t)
2328
s := storagemock.NewMockPresignedAccess(ctrl)
24-
const fileName = "some-report-filename"
2529

26-
s.EXPECT().EnsureExists(gomock.Any(), usageReportBucketName).
30+
s.EXPECT().EnsureExists(gomock.Any(), bucketName).
2731
Return(nil)
28-
s.EXPECT().SignUpload(gomock.Any(), usageReportBucketName, fileName, gomock.Any()).
32+
s.EXPECT().SignUpload(gomock.Any(), bucketName, fileName, gomock.Any()).
2933
Return(&storage.UploadInfo{URL: "http://example.com/some-path"}, nil)
3034

31-
svc := &UsageReportService{cfg: config.StorageConfig{}, s: s}
35+
svc := &UsageReportService{cfg: config.StorageConfig{}, s: s, bucketName: bucketName}
3236
resp, err := svc.UploadURL(context.Background(), &api.UsageReportUploadURLRequest{Name: fileName})
3337

3438
require.NoError(t, err)

components/content-service/pkg/service/usagereport-service.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,22 @@ import (
1818
"github.com/gitpod-io/gitpod/content-service/pkg/storage"
1919
)
2020

21-
const (
22-
usageReportBucketName = "usage-reports"
23-
)
24-
2521
// UsageReportService implements UsageReportServiceServer
2622
type UsageReportService struct {
27-
cfg config.StorageConfig
28-
s storage.PresignedAccess
23+
cfg config.StorageConfig
24+
s storage.PresignedAccess
25+
bucketName string
2926

3027
api.UnimplementedUsageReportServiceServer
3128
}
3229

3330
// NewUsageReportService create a new usagereport service
34-
func NewUsageReportService(cfg config.StorageConfig) (res *UsageReportService, err error) {
31+
func NewUsageReportService(cfg config.StorageConfig, bucketName string) (res *UsageReportService, err error) {
3532
s, err := storage.NewPresignedAccess(&cfg)
3633
if err != nil {
3734
return nil, err
3835
}
39-
return &UsageReportService{cfg: cfg, s: s}, nil
36+
return &UsageReportService{cfg: cfg, s: s, bucketName: bucketName}, nil
4037
}
4138

4239
// UploadURL provides a URL to which clients can upload the content via HTTP PUT.
@@ -45,17 +42,17 @@ func (us *UsageReportService) UploadURL(ctx context.Context, req *api.UsageRepor
4542
span.SetTag("name", req.Name)
4643
defer tracing.FinishSpan(span, &err)
4744

48-
err = us.s.EnsureExists(ctx, usageReportBucketName)
45+
err = us.s.EnsureExists(ctx, us.bucketName)
4946
if err != nil {
5047
return nil, status.Error(codes.NotFound, err.Error())
5148
}
5249

53-
info, err := us.s.SignUpload(ctx, usageReportBucketName, req.Name, &storage.SignedURLOptions{
50+
info, err := us.s.SignUpload(ctx, us.bucketName, req.Name, &storage.SignedURLOptions{
5451
ContentType: "*/*",
5552
})
5653
if err != nil {
5754
log.WithField("name", req.Name).
58-
WithField("bucket", usageReportBucketName).
55+
WithField("bucket", us.bucketName).
5956
WithError(err).
6057
Error("Error getting UsageReport SignUpload URL")
6158
return nil, status.Error(codes.Unknown, err.Error())

0 commit comments

Comments
 (0)