-
Notifications
You must be signed in to change notification settings - Fork 293
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 Support for Exports Read/Writing From S3 Buckets #1137
Conversation
Add Support for Exports Read/Writing From S3 Buckets
This works; I am drafting a more generalized approach here so that this same thing can be extended past |
This is a great feature, thanks a lot!
That was going to be my main comment on this - it would be great if the core of this was provider agnostic. Please let us know once the generalized approach is ready for review! Another thing that came to mind is documentation for this (especially the env variable part) Would you mind adding a snippet .md file to https://github.com/yeti-platform/yeti-platform.github.io/tree/main/content/docs describing how to do set this up? I'll make sure it ends up in the right directory structure so you don't need to mind any of the hugo stuff. Thanks again! |
Would something like this work?
Will do! I have tested the I PR I linked locally, need to test in our full deploy though |
Yes, the doc PR looks great! I might swoop in and change some typos / the layout of the page but it looks good. Let me know once both are ready to review! Thanks again :) |
…lients Generic Persistient Storage Clients
@tomchop |
Based on the order that ^^ and the current PR are merged; we should think about moving over the the new template directory to use the persistient storage clients. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a systemic typo: Persist**i**ent
(should be Persistent
). But, maybe we could just rename this to "FileStorage"?
Fixed in 5a3ea15 |
…classes/interface.py` and move `LocalStorageClient` into it's own file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for fixing the other comments. Some extra nits here, but otherwise I think we'll be good to merge this after we're done.
Thinking back on this again - I think I'm gonna merge https://github.com/yeti-platform/yeti/pull/1141/files as it is, we need to think a bit more as to whether we want to be able to load templates from outside the infrastructure where Yeti lives given that templates can lead to RCE (the whole reason we're moving them out of the db into the filesystem) |
Right now we are going through the process internally of making the
Didn't notice it before but the PR removes the ability to edit these templates from the UI. This would work for us since it pretty much makes the templates static and we can just add them directly in at build time and they can be handled as part of the deploy. |
Looks like some tests are failing (bad imports), can you please fix this and the ruff errors? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for this!!
Purpose
One of the things I have been working towards is a stateless deploy of
yeti
in order to deploy several replicas of the celery runner and api containers. The biggest blocker for this is that a shared volumes between several containers is an anti-pattern and not supported on the cluster I am deploying to.This PR introduces the ability to replaces this shared volume with an S3 Complaint Bucket
Changes
system.export_path
is prefixed withs3://
it will attempt to use S3 as the storage mediums for exportssystem.export_path
tos3://bucket_name
would usebucket_name
for storage of export task resultss3
compliant buckets3
compliant buckets3
buckets access should be injected by environment variables