mirror of
https://github.com/thegeeklab/drone-s3-sync.git
synced 2024-11-21 14:50:39 +00:00
refactor: rename parameter access to acl (#18)
BREAKING CHANGE: The parameter `access` was renamed to `acl` and the environment variable `PLUGIN_ACCESS` was removed.
This commit is contained in:
parent
9e053ce454
commit
df7cc521d1
@ -48,8 +48,8 @@ properties:
|
||||
type: bool
|
||||
required: false
|
||||
|
||||
access:
|
||||
description: Access control settings.
|
||||
acl:
|
||||
description: Access control list.
|
||||
type: map
|
||||
required: false
|
||||
|
||||
|
@ -78,9 +78,9 @@ func settingsFlags(settings *plugin.Settings, category string) []cli.Flag {
|
||||
Category: category,
|
||||
},
|
||||
&cli.GenericFlag{
|
||||
Name: "access",
|
||||
Usage: "access control settings",
|
||||
EnvVars: []string{"PLUGIN_ACCESS", "PLUGIN_ACL"},
|
||||
Name: "acl",
|
||||
Usage: "access control list",
|
||||
EnvVars: []string{"PLUGIN_ACL"},
|
||||
Value: &StringMapFlag{},
|
||||
Category: category,
|
||||
},
|
||||
|
@ -44,7 +44,7 @@ func run(settings *plugin.Settings) cli.ActionFunc {
|
||||
return func(ctx *cli.Context) error {
|
||||
urfave.LoggingFromContext(ctx)
|
||||
|
||||
settings.Access = ctx.Generic("access").(*StringMapFlag).Get()
|
||||
settings.ACL = ctx.Generic("acl").(*StringMapFlag).Get()
|
||||
settings.CacheControl = ctx.Generic("cache-control").(*StringMapFlag).Get()
|
||||
settings.ContentType = ctx.Generic("content-type").(*StringMapFlag).Get()
|
||||
settings.ContentEncoding = ctx.Generic("content-encoding").(*StringMapFlag).Get()
|
||||
|
@ -67,16 +67,16 @@ func (a *AWS) Upload(local, remote string) error {
|
||||
|
||||
defer file.Close()
|
||||
|
||||
var access string
|
||||
for pattern := range p.settings.Access {
|
||||
var acl string
|
||||
for pattern := range p.settings.ACL {
|
||||
if match := glob.Glob(pattern, local); match {
|
||||
access = p.settings.Access[pattern]
|
||||
acl = p.settings.ACL[pattern]
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if access == "" {
|
||||
access = "private"
|
||||
if acl == "" {
|
||||
acl = "private"
|
||||
}
|
||||
|
||||
fileExt := filepath.Ext(local)
|
||||
@ -128,13 +128,13 @@ func (a *AWS) Upload(local, remote string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
logrus.Debugf("'%s' not found in bucket, uploading with content-type '%s' and permissions '%s'", local, contentType, access)
|
||||
logrus.Debugf("'%s' not found in bucket, uploading with content-type '%s' and permissions '%s'", local, contentType, acl)
|
||||
putObject := &s3.PutObjectInput{
|
||||
Bucket: aws.String(p.settings.Bucket),
|
||||
Key: aws.String(remote),
|
||||
Body: file,
|
||||
ContentType: aws.String(contentType),
|
||||
ACL: aws.String(access),
|
||||
ACL: aws.String(acl),
|
||||
Metadata: metadata,
|
||||
}
|
||||
|
||||
@ -218,27 +218,27 @@ func (a *AWS) Upload(local, remote string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
previousAccess := "private"
|
||||
previousACL := "private"
|
||||
for _, g := range grant.Grants {
|
||||
gt := *g.Grantee
|
||||
if gt.URI != nil {
|
||||
if *gt.URI == "http://acs.amazonaws.com/groups/global/AllUsers" {
|
||||
if *g.Permission == "READ" {
|
||||
previousAccess = "public-read"
|
||||
previousACL = "public-read"
|
||||
} else if *g.Permission == "WRITE" {
|
||||
previousAccess = "public-read-write"
|
||||
previousACL = "public-read-write"
|
||||
}
|
||||
}
|
||||
if *gt.URI == "http://acs.amazonaws.com/groups/global/AuthenticatedUsers" {
|
||||
if *g.Permission == "READ" {
|
||||
previousAccess = "authenticated-read"
|
||||
previousACL = "authenticated-read"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if previousAccess != access {
|
||||
logrus.Debugf("permissions for '%s' have changed from '%s' to '%s'", remote, previousAccess, access)
|
||||
if previousACL != acl {
|
||||
logrus.Debugf("permissions for '%s' have changed from '%s' to '%s'", remote, previousACL, acl)
|
||||
shouldCopy = true
|
||||
}
|
||||
}
|
||||
@ -248,12 +248,12 @@ func (a *AWS) Upload(local, remote string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
logrus.Debugf("updating metadata for '%s' content-type: '%s', ACL: '%s'", local, contentType, access)
|
||||
logrus.Debugf("updating metadata for '%s' content-type: '%s', ACL: '%s'", local, contentType, acl)
|
||||
copyObject := &s3.CopyObjectInput{
|
||||
Bucket: aws.String(p.settings.Bucket),
|
||||
Key: aws.String(remote),
|
||||
CopySource: aws.String(fmt.Sprintf("%s/%s", p.settings.Bucket, remote)),
|
||||
ACL: aws.String(access),
|
||||
ACL: aws.String(acl),
|
||||
ContentType: aws.String(contentType),
|
||||
Metadata: metadata,
|
||||
MetadataDirective: aws.String("REPLACE"),
|
||||
@ -281,13 +281,13 @@ func (a *AWS) Upload(local, remote string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
logrus.Debugf("uploading '%s' with content-type '%s' and permissions '%s'", local, contentType, access)
|
||||
logrus.Debugf("uploading '%s' with content-type '%s' and permissions '%s'", local, contentType, acl)
|
||||
putObject := &s3.PutObjectInput{
|
||||
Bucket: aws.String(p.settings.Bucket),
|
||||
Key: aws.String(remote),
|
||||
Body: file,
|
||||
ContentType: aws.String(contentType),
|
||||
ACL: aws.String(access),
|
||||
ACL: aws.String(acl),
|
||||
Metadata: metadata,
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ type Settings struct {
|
||||
Source string
|
||||
Target string
|
||||
Delete bool
|
||||
Access map[string]string
|
||||
ACL map[string]string
|
||||
CacheControl map[string]string
|
||||
ContentType map[string]string
|
||||
ContentEncoding map[string]string
|
||||
|
Loading…
Reference in New Issue
Block a user