Skip to content

Conversation

@charlotte-nudibranches
Copy link
Contributor

@charlotte-nudibranches charlotte-nudibranches commented Dec 30, 2025

Add s3 builder for querying and listing files in MinIO. Implement static method whilst waiting for STS bugfix


Note

Adds MinIO/S3 support via a new fluent builder and necessary wiring.

  • New sdk/builders/fluent/s3_builder.go: S3Builder supporting Bucket(), Key(), Get(ctx) streaming download, and List(ctx, prefix); works with static credentials or OIDC STS (AssumeRoleWithWebIdentity), path-style addressing, and endpoint HTTPS detection
  • sdk/client.go: expose Client.S3() to construct the builder
  • sdk/utils/types.go: extend Configuration with MinIO fields (MinIORegion, MinIOEndpoint, MinIOAccessKey, MinIOSecretKey, MinIOUseSSL, MinIOUseOIDC)
  • Add AWS SDK v2 dependencies in go.mod and lock in go.sum
  • usage_examples: add runS3Example and switch main to run it; comment out other fluent/search examples

Written by Cursor Bugbot for commit 33399b6. This will update automatically on new commits. Configure here.

… Implement static method whilst waiting for STS bugfix
Copy link

@HeloiseRigaux HeloiseRigaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is redundancy with these lines. I thought that maybe there ought to be a single method that manages the minioEndpoint request and the possible errors resulting from it.
minioEndpoint := getEnvOrConfig(cfg, "MINIO_ENDPOINT", "")

if minioEndpoint == "" {
return nil, fmt.Errorf("MINIO_ENDPOINT is required")
}

Copy link
Member

@mfernd mfernd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍉 🐱 👍 🤽

@charlotte-nudibranches charlotte-nudibranches merged commit 2f9a023 into main Dec 31, 2025
2 checks passed
@charlotte-nudibranches charlotte-nudibranches deleted the feat/s3-download-file branch December 31, 2025 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants