@@ -7,7 +7,7 @@ const { Either } = crocks
77const { Left, Right, of } = Either
88const { identity, defaultTo, over, lensProp, mergeRight } = R
99
10- export default ( { url, bucketPrefix, useNamespacedBucket } ) => {
10+ export default ( { url, region , bucketPrefix, useNamespacedBucket } ) => {
1111 const checkBucketPrefix = ( config ) =>
1212 config . bucketPrefix && config . bucketPrefix . length <= 32 ? Right ( config ) : Left ( {
1313 message : 'Prefix name: must be a string 1-32 alphanumeric characters' ,
@@ -16,6 +16,7 @@ export default ({ url, bucketPrefix, useNamespacedBucket }) => {
1616 const setFromEnv = ( config ) =>
1717 mergeRight ( {
1818 url : Deno . env . get ( 'MINIO_URL' ) ,
19+ region : Deno . env . get ( 'MINIO_REGION' ) ,
1920 // optional. Credentials in MINIO_URL take precedent
2021 accessKey : Deno . env . get ( 'MINIO_ROOT_USER' ) ,
2122 secretKey : Deno . env . get ( 'MINIO_ROOT_PASSWORD' ) ,
@@ -30,6 +31,7 @@ export default ({ url, bucketPrefix, useNamespacedBucket }) => {
3031 const minioConfig = new URL ( config . url )
3132 return new Minio . Client ( {
3233 endPoint : minioConfig . hostname ,
34+ region : config . region ,
3335 // Fallback to credentials pulled from env, if none in MINIO_URL
3436 accessKey : minioConfig . username || config . accessKey ,
3537 secretKey : minioConfig . password || config . secretKey ,
@@ -46,7 +48,7 @@ export default ({ url, bucketPrefix, useNamespacedBucket }) => {
4648 load : ( prevLoad ) =>
4749 of ( prevLoad ) // credentials can be received from a composed plugin
4850 . map ( defaultTo ( { } ) )
49- . map ( ( prevLoad ) => mergeRight ( prevLoad , { url, bucketPrefix, useNamespacedBucket } ) )
51+ . map ( ( prevLoad ) => mergeRight ( prevLoad , { url, region , bucketPrefix, useNamespacedBucket } ) )
5052 . chain ( checkBucketPrefix )
5153 . map ( setFromEnv )
5254 . map ( setUseNamespacedBucket )
0 commit comments