Use volume ID as a prefix if the bucket is fixed in the storage class
With this, each volume will get its own prefix within the bucket if it is configured in the storage class. This also ensures backwards compatibility with older volumes that have been created in earlier versions of csi-s3.
This commit is contained in:
parent
68ef284b9b
commit
26cb1d95e8
17 changed files with 195 additions and 105 deletions
pkg/mounter
|
@ -34,28 +34,28 @@ const (
|
|||
)
|
||||
|
||||
// New returns a new mounter depending on the mounterType parameter
|
||||
func New(bucket *s3.Bucket, cfg *s3.Config) (Mounter, error) {
|
||||
mounter := bucket.Mounter
|
||||
func New(meta *s3.FSMeta, cfg *s3.Config) (Mounter, error) {
|
||||
mounter := meta.Mounter
|
||||
// Fall back to mounterType in cfg
|
||||
if len(bucket.Mounter) == 0 {
|
||||
if len(meta.Mounter) == 0 {
|
||||
mounter = cfg.Mounter
|
||||
}
|
||||
switch mounter {
|
||||
case s3fsMounterType:
|
||||
return newS3fsMounter(bucket, cfg)
|
||||
return newS3fsMounter(meta, cfg)
|
||||
|
||||
case goofysMounterType:
|
||||
return newGoofysMounter(bucket, cfg)
|
||||
return newGoofysMounter(meta, cfg)
|
||||
|
||||
case s3backerMounterType:
|
||||
return newS3backerMounter(bucket, cfg)
|
||||
return newS3backerMounter(meta, cfg)
|
||||
|
||||
case rcloneMounterType:
|
||||
return newRcloneMounter(bucket, cfg)
|
||||
return newRcloneMounter(meta, cfg)
|
||||
|
||||
default:
|
||||
// default to s3backer
|
||||
return newS3backerMounter(bucket, cfg)
|
||||
return newS3backerMounter(meta, cfg)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue