-
Notifications
You must be signed in to change notification settings - Fork 66
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
Snapshot Download Feature #3627
Comments
The current
I assume since the idea is to be able to upload this to another FF platform there are other elements of the Fields of
|
Yes, should be included
Sounds logical, I'll add it here: #3628
Yes |
Yes include and set null on upload to OTHER FF platform, use on SAME FF platform?
Shouldnt that be an acceptance criteria of this issue Marian? |
@Steve-Mcl I don't think the export should include device/application/instance ids - they are meaningless when importing. We already have an established pattern for allowing the user to pick what get includes (env keys only for eg) - thinking of the 'copy project' functionality. My default position would be for this API to be consistent with that, unless there is reason to not be. I'm not sure about where credentialSecret should sit. We shouldn't export the existing value, so a new secret should be used and the credentials re-encrypted. I suggest you look at the import API we already have to see what that expects to receive - as this export must be compatible with that. |
@knolleary ah, I think my interpretation of the 2 stories "Snapshot download feature" and "Enable Snapshot upload functionality" are too literal. Am I correct in thinking (based on your previous comment) this is less about downloading and uploading snapshots (as snapshots) and more about exporting and importing an instance or device from a point in time snapshot? i.e. this import action will NOT create a usable snapshot rather create the source instance/device? Is that correct? |
I don't think so. The goal here is to allow a user to download a snapshot locally. That should be a complete artefact that can then be reuploaded elsewhere. |
hmmm, now i am confused. So what is the end goal? I ask because the only existing import API I am aware of is for importing and creating an instance!? Please point me in the right direction. |
I'm not clear what you mean here. We already have an export snapshot api that, I think, does everything we need - but it is scoped to an instance: https://app.flowfuse.com/api/static/index.html#/Snapshots/post_api_v1_projects__instanceId__snapshots__snapshotId__export I think we need an API that is not tied to a specific instance to allow export of a snapshot that works in all cases. The acceptance criteria for this issue is to have a UI driven means to operate that API and get the flows downloaded. The next step would then be to support uploading that same blob in the UI in some way. That will need some additional thought in terms of API design and scoping. |
I think this is the piece of information I am missing. To help me understand the purpose of downloading a snapshot (and what (if any) other pieces are necessary in addition to the To clarify: When the next piece of this puzzle is implemented #3628, where does the exported snapshot go?
My apologies if i am missing something really obvious, i've read this issue and the related issue several times and it is unclear to me. @MarianRaphael ^ please advise. |
The import of a snapshot will be into an existing 'thing'. This is not about creating new 'things'. We already have an API to import a new snapshot for an instance. We will likely want similar APIs for the other types of thing that can 'own' a snapshot. But we need to figure that out properly as part of the Import story. But none of that detail should impact the export side of it. |
Follow-up to discussion in the Eng meeting: Current implementationIn my current dev branch, I have added Being present in the API alongside the the encrypted credentials is not ideal. Possible approach - send the new secret in the requestRequest user to input a new secret (on the UI) and deliver the snapshot without the secret This approach means the user would need to keep a record of the the secret and provide it on the UI (or API call) when importing (as part of #3628) |
I have moved forward with the proposed approach above - here is what it looks like below. Please let me know if you have an issue with the approach before I begin writing tests etc. |
Epic
#3617
Description
As a: FlowFuse User
I want: the possibility to download my snapshots locally
So that: I can save them locally or upload them to another FlowFuse system for seamless continuity of my workflow across different environments or for backup purposes.
Which customers would this be availble to
Everyone - CE/Starter/Team/Enterprise
Acceptance Criteria
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate
The text was updated successfully, but these errors were encountered: