Skip to content

Commit 744a065

Browse files
committed
feat: custom s3 url
Signed-off-by: Lukas Hoehl <[email protected]>
1 parent bebc589 commit 744a065

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

cmd/go-cache-plugin/commands.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ var flags struct {
2626
CacheDir string `flag:"cache-dir,default=$GOCACHE_DIR,Local cache directory (required)"`
2727
S3Bucket string `flag:"bucket,default=$GOCACHE_S3_BUCKET,S3 bucket name (required)"`
2828
S3Region string `flag:"region,default=$GOCACHE_S3_REGION,S3 region"`
29+
S3URL string `flag:"s3-url,default=$GOCACHE_S3_URL,S3 URL"`
2930
S3PathStyle bool `flag:"s3-path-style,default=$GOCACHE_S3_PATH_STYLE,S3 path-style URLs (optional)"`
3031
KeyPrefix string `flag:"prefix,default=$GOCACHE_KEY_PREFIX,S3 key prefix (optional)"`
3132
MinUploadSize int64 `flag:"min-upload-size,default=$GOCACHE_MIN_SIZE,Minimum object size to upload to S3 (in bytes)"`

cmd/go-cache-plugin/setup.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,19 @@ func initCacheServer(env *command.Env) (*gocache.Server, *s3util.Client, error)
6262

6363
vprintf("local cache directory: %s", flags.CacheDir)
6464
vprintf("S3 cache bucket %q (%s)", flags.S3Bucket, region)
65-
client := &s3util.Client{
66-
Client: s3.NewFromConfig(cfg, func(o *s3.Options) {
65+
s3opts := []func(*s3.Options){
66+
func(o *s3.Options) {
6767
o.UsePathStyle = flags.S3PathStyle
68-
}),
68+
},
69+
}
70+
if flags.S3URL != "" {
71+
vprintf("S3 URL: %s", flags.S3URL)
72+
s3opts = append(s3opts, func(o *s3.Options) {
73+
o.BaseEndpoint = &flags.S3URL
74+
})
75+
}
76+
client := &s3util.Client{
77+
Client: s3.NewFromConfig(cfg, s3opts...),
6978
Bucket: flags.S3Bucket,
7079
}
7180
cache := &gobuild.S3Cache{

0 commit comments

Comments
 (0)