Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a MinIO plugin replicating S3 plugin's functionality #4029

Closed
aku opened this issue Jun 13, 2024 · 7 comments
Closed

Add a MinIO plugin replicating S3 plugin's functionality #4029

aku opened this issue Jun 13, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@aku
Copy link

aku commented Jun 13, 2024

Feature description

Add s3 option for a io.kestra.plugin.fs plugin to be able to upload/download files from/to s3 storages.
Currently, you have AWS S3 plugin but it does not seem to support a custom s3 endpoint

@aku aku added the enhancement New feature or request label Jun 13, 2024
@anna-geller
Copy link
Member

@immutablesemaphore
Copy link

For anyone who comes across this, here is one way that worked with MinIO locally

- id: upload_to_minio
  type: "io.kestra.plugin.aws.s3.Upload"
  compatibilityMode: true
  bucket: my-bucket
  from: '{{ outputs.someStep.outputFiles["some-file.json"] }}'
  key: "some-file.json"
  accessKeyId: "xxx"
  secretKeyId: "xxx"
  endpointOverride: "http://172.22.0.3:9000"
  region: "eu-west-1"

@aku
Copy link
Author

aku commented Jun 19, 2024

Minio works, thanks. Probably, documentation can be improved.
Currently, it discourages use of endpointOverride and compatibilityMode options

This property should normally not be used except for local development.

which maximizes compatibility with S3-compatible services but restricts uploads and downloads to 2GB

@immutablesemaphore
Copy link

For my tests, I was able to remove compatibilityMode and it still ran against a local MinIO without an issue. It was an unnecessary inclusion in this case.

@anna-geller anna-geller changed the title Add ability to upload/download files to/from s3 compatible storages Add a MinIO plugin replicating S3 plugin's functionality Jun 19, 2024
@loicmathieu
Copy link
Member

Fixed by kestra-io/plugin-minio#2

@agoddard
Copy link

agoddard commented Aug 8, 2024

fyi it seems that compatibilityMode: true is required with some S3 endpoints, I tested against CloudFlare R2 and got software.amazon.awssdk.services.s3.model.S3Exception: STREAMING-UNSIGNED-PAYLOAD-TRAILER not implemented (Service: S3, Status Code: 501, Request ID: null) when it was not set, but things worked fine once it was set.

@anna-geller
Copy link
Member

added the info here, thx @agoddard kestra-io/plugin-aws@a7cd02d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

5 participants