Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions go/benchmark/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"github.com/stretchr/testify/require"

"github.com/replicate/keepsake/go/pkg/concurrency"
"github.com/replicate/keepsake/go/pkg/global"
"github.com/replicate/keepsake/go/pkg/hash"
"github.com/replicate/keepsake/go/pkg/param"
"github.com/replicate/keepsake/go/pkg/project"
Expand Down Expand Up @@ -162,10 +163,10 @@ func BenchmarkKeepsakeS3(b *testing.B) {

// Create a bucket
bucketName := "keepsake-test-benchmark-" + hash.Random()[0:10]
err = repository.CreateS3Bucket("us-east-1", bucketName)
err = repository.CreateS3Bucket(global.S3Region, bucketName)
require.NoError(b, err)
defer func() {
require.NoError(b, repository.DeleteS3Bucket("us-east-1", bucketName))
require.NoError(b, repository.DeleteS3Bucket(global.S3Region, bucketName))
}()
// Even though CreateS3Bucket is supposed to wait until it exists, sometimes it doesn't
time.Sleep(1 * time.Second)
Expand Down
1 change: 1 addition & 0 deletions go/pkg/cli/daemon.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ func NewDaemonCommand() *cobra.Command {
RunE: runDaemon,
}
setPersistentFlags(cmd)
handleEnvironmentVariables()
addRepositoryURLFlag(cmd)
return cmd
}
Expand Down
9 changes: 9 additions & 0 deletions go/pkg/cli/root.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package cli

import (
"os"

"github.com/spf13/cobra"

"github.com/replicate/keepsake/go/pkg/analytics"
Expand Down Expand Up @@ -34,6 +36,7 @@ To learn how to get started, go to ` + global.WebURL + `/docs/tutorial`,
},
}
setPersistentFlags(&rootCmd)
handleEnvironmentVariables()

rootCmd.AddCommand(
newAnalyticsCommand(),
Expand All @@ -57,3 +60,9 @@ func setPersistentFlags(cmd *cobra.Command) {
cmd.PersistentFlags().BoolVarP(&global.Verbose, "verbose", "v", false, "Verbose output")

}

func handleEnvironmentVariables() {
if s3Region := os.Getenv("AWS_DEFAULT_REGION"); s3Region != "" {
global.S3Region = s3Region
}
}
1 change: 1 addition & 0 deletions go/pkg/global/variables.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ var Color = true
var ProjectDirectory = ""
var BugsEmail = "[email protected]"
var SegmentKey = "MKaYmSZ2hW6P8OegI9g0sufjZeUh28g7"
var S3Region = "us-east-1"

func init() {
if Environment == "development" {
Expand Down
6 changes: 3 additions & 3 deletions go/pkg/repository/s3.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"github.com/replicate/keepsake/go/pkg/console"
"github.com/replicate/keepsake/go/pkg/errors"
"github.com/replicate/keepsake/go/pkg/files"
"github.com/replicate/keepsake/go/pkg/global"
)

type S3Repository struct {
Expand Down Expand Up @@ -449,7 +450,7 @@ func (s *S3Repository) listRecursive(results chan<- ListResult, dir string, filt
func discoverBucketRegion(bucket string) (string, error) {
sess := session.Must(session.NewSession(&aws.Config{}))
ctx := context.Background()
region, err := s3manager.GetBucketRegion(ctx, sess, bucket, "us-east-1")
region, err := s3manager.GetBucketRegion(ctx, sess, bucket, global.S3Region)
if err != nil {
return "", err
}
Expand All @@ -464,8 +465,7 @@ func getBucketRegionOrCreateBucket(bucket string) (string, error) {
// The real check for this is `aerr.Code() == s3.ErrCodeNoSuchBucket` but GetBucketRegion doesnt return right error
if strings.Contains(aerr.Error(), "NotFound") {
// TODO (bfirsh): report to use that this is being created, in a way that is compatible with shared library
region = "us-east-1"
if err := CreateS3Bucket(region, bucket); err != nil {
if err := CreateS3Bucket(global.S3Region, bucket); err != nil {
return "", fmt.Errorf("Error creating bucket: %v", err)
}
return region, nil
Expand Down
7 changes: 4 additions & 3 deletions go/pkg/repository/s3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (

"github.com/replicate/keepsake/go/pkg/errors"
"github.com/replicate/keepsake/go/pkg/files"
"github.com/replicate/keepsake/go/pkg/global"
"github.com/replicate/keepsake/go/pkg/hash"
)

Expand Down Expand Up @@ -116,18 +117,18 @@ func TestS3ListRecursive(t *testing.T) {

func createS3Bucket(t *testing.T) (string, *s3.S3) {
bucketName := "keepsake-test-go-" + hash.Random()[0:10]
err := CreateS3Bucket("us-east-1", bucketName)
err := CreateS3Bucket(global.S3Region, bucketName)
require.NoError(t, err)

sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-east-1"),
Region: aws.String(global.S3Region),
})
require.NoError(t, err)
return bucketName, s3.New(sess)
}

func deleteS3Bucket(t *testing.T, bucketName string) {
require.NoError(t, DeleteS3Bucket("us-east-1", bucketName))
require.NoError(t, DeleteS3Bucket(global.S3Region, bucketName))
}

func readS3Object(t *testing.T, svc *s3.S3, bucketName string, key string) []byte {
Expand Down