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

s3:Generate presigned URL #136

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

patilsuraj767
Copy link
Contributor

Fixes #135

@MichaHoffmann
Copy link
Contributor

Why do we need objstore client to do that? Since this is outside of thanos, couldnt we just use plain old minio client? Only thing we save is that we can reuse the same configuration.

@patilsuraj767
Copy link
Contributor Author

Yes, I agree we can use plain old minio client but we are anyway creating the bucket object to perform other tasks like downloading meta.json of tsdb, adding thanos external label and uploading it back again. So I thought instead of creating separate minio client it would be good have a method to get presignedURL in thanos objstore.

@MichaHoffmann
Copy link
Contributor

But the objstore client itself does not know those files or the schema of meta.json at all; all of this is done inside of thanos using an objstore.Bucket interface but the objstore.Bucket implementation knows of nothing of this. I think this would better be done with just a minio client in an external program probably.

@patilsuraj767
Copy link
Contributor Author

Yes, I meant we use objstore for downloading and uploading of files. I was just thinking to reuse the minio client config which is already generated in objstore. But no worries if you think this is outside the scope of the project, I will generate the separate minio client.

@MichaHoffmann
Copy link
Contributor

Yes, I meant we use objstore for downloading and uploading of files. I was just thinking to reuse the minio client config which is already generated in objstore. But no worries if you think this is outside the scope of the project, I will generate the separate minio client.

Oh sorry, I dont have the last say here of course! Its just that for me intuitively - this feels like it should just be minio client usage. Lets wait for other opinions!

@patilsuraj767
Copy link
Contributor Author

patilsuraj767 commented Sep 9, 2024

ok Thanks @MichaHoffmann
Another issue is this parseConfig method is also private. We might need to rewrite it again in our codebase to parse the s3 config yaml which is in thanos format and then create the separate minio client.

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.

Feature request: Bucket method to export presigned upload URL
2 participants