@@ -7,7 +7,7 @@ const { Either } = crocks
7
7
const { Left, Right, of } = Either
8
8
const { identity, defaultTo, over, lensProp, mergeRight } = R
9
9
10
- export default ( { url, bucketPrefix, useNamespacedBucket } ) => {
10
+ export default ( { url, region , bucketPrefix, useNamespacedBucket } ) => {
11
11
const checkBucketPrefix = ( config ) =>
12
12
config . bucketPrefix && config . bucketPrefix . length <= 32 ? Right ( config ) : Left ( {
13
13
message : 'Prefix name: must be a string 1-32 alphanumeric characters' ,
@@ -16,6 +16,7 @@ export default ({ url, bucketPrefix, useNamespacedBucket }) => {
16
16
const setFromEnv = ( config ) =>
17
17
mergeRight ( {
18
18
url : Deno . env . get ( 'MINIO_URL' ) ,
19
+ region : Deno . env . get ( 'MINIO_REGION' ) ,
19
20
// optional. Credentials in MINIO_URL take precedent
20
21
accessKey : Deno . env . get ( 'MINIO_ROOT_USER' ) ,
21
22
secretKey : Deno . env . get ( 'MINIO_ROOT_PASSWORD' ) ,
@@ -30,6 +31,7 @@ export default ({ url, bucketPrefix, useNamespacedBucket }) => {
30
31
const minioConfig = new URL ( config . url )
31
32
return new Minio . Client ( {
32
33
endPoint : minioConfig . hostname ,
34
+ region : config . region ,
33
35
// Fallback to credentials pulled from env, if none in MINIO_URL
34
36
accessKey : minioConfig . username || config . accessKey ,
35
37
secretKey : minioConfig . password || config . secretKey ,
@@ -46,7 +48,7 @@ export default ({ url, bucketPrefix, useNamespacedBucket }) => {
46
48
load : ( prevLoad ) =>
47
49
of ( prevLoad ) // credentials can be received from a composed plugin
48
50
. map ( defaultTo ( { } ) )
49
- . map ( ( prevLoad ) => mergeRight ( prevLoad , { url, bucketPrefix, useNamespacedBucket } ) )
51
+ . map ( ( prevLoad ) => mergeRight ( prevLoad , { url, region , bucketPrefix, useNamespacedBucket } ) )
50
52
. chain ( checkBucketPrefix )
51
53
. map ( setFromEnv )
52
54
. map ( setUseNamespacedBucket )
0 commit comments