-
-
Notifications
You must be signed in to change notification settings - Fork 32
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 superuser API endpoints to export and import org data #1394
Conversation
Assigning @Shrinks99 for docs copy check :) |
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.
Good stuff! Bunch of small changes, one discussion about documentation I have been putting off having! Overall nice guide!
I've committed the navigation to the branch but I think we might need to make some changes after my suggestions are applied / discussed? Ideally this would fit under the Administration section as an article titled "Org Export & Import" or similar, and not have all the administration guides in one document? This would require renaming some files, so I will leave that to you. Should probably move the current admin.md into an "administration" folder and re-title the document accordingly? Hopefully that all makes sense? 🙃
Docs updates complete:
|
f0d6fbf
to
59665a5
Compare
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.
Nice! Docs look good! :D
14c4561
to
be416e0
Compare
Closes #1434 ### Changes #### Developer - Adds the K3S playbook guide to the navigation - Adds note about restarting MKDocs when adding new icons - Adds note about concise language to the styleguide ([see previous discussion](#1394 (comment))) - Adds a note about noun usage to the styleguide #### User guide - Adds tables for archived item and workflow statuses - Adds custom styles for displaying statuses with their icons like we do in the app - Fixes capitalization issues --------- Co-authored-by: Tessa Walsh <[email protected]> Co-authored-by: sua yoo <[email protected]>
|
05d3c4e
to
5a412c0
Compare
Rebased on latest main |
@ikreymer This will need to be merged prior to org deletion, as the latter is dependent on it. Has been rebased against latest main. |
Nice! Great work, with the latest changes, we also need to add pages to it. |
One option we could consider is CBOR via https://cbor2.readthedocs.io/en/latest/usage.html, which seems to support |
a523d02
to
7ce0658
Compare
Or, perhaps we just keep this as is, but consider switching to https://pypi.org/project/json-stream/ without changing the format. But perhaps versioning under |
d6ab28a
to
618b9c0
Compare
@ikreymer This is rebased on main and tests added, with streaming support for import and export! Ready for review. |
Nice work!! Tested with very large export from dev, import locally. It worked, though ran into some minor issues:
|
Also had the local nginx time out on import, but that can be fixed with adding:
Maybe should also do that for the ingress (again, this is for larger imports). |
Should be good now as of latest commit! |
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.
Really nice work, I think we can finally merge this in!
Fixes #890
This PR introduces new org import and export API endpoints, as well as new Administrator deployment documentation on how to manage the process of exporting and importing orgs, including copying files between s3 buckets or from an s3 bucket to local directory as necessary.
The import endpoint supports query parameters for ignoring mismatches between the database version in the export JSON and the new cluster's database, as well as for updating org and file storage refs to point to a new storage name.
A sample JSON export is attached. An accompanying zipped directory of S3 objects that match the export is available on request (it's too large to attach here).
1798648a-d717-45e3-a717-23132ed4030b-export.json
I am leaving testing instructions intentionally bare to see if the new docs can stand on their own.
We likely eventually want to move export/import processes to async processes kicked off by the API endpoint rather than handling them within the request/response cycle. I haven't gone down that road yet as I wanted to see how the current implementation fares against existing larger organizations before committing to the additional development.