-
Notifications
You must be signed in to change notification settings - Fork 45
Open
Labels
a-cia-installation-flowa-uienhancementNew feature or requestNew feature or requestgithub_actionsPull requests that update GitHub Actions codePull requests that update GitHub Actions codeinvestigationjavascriptPull requests that update Javascript codePull requests that update Javascript codep-high-riskquestionFurther information is requestedFurther information is requestedrustPull requests that update rust codePull requests that update rust codestability
Description
Base node data (only) | Settings and Storage Location Configuration
Problem
The base_node data takes up a lot of storage and we'd like to give users the option to set a custom storage location for it.
Scope
- the ability to pick a custom location
- simple flow:
- this will be a file explorer interface of your available directories nested withing your
$HOMEdirectory
- this will be a file explorer interface of your available directories nested withing your
- less simple (should you want to go beyond or outside of
$HOME):- typing a path relative to
$HOME - validating said path on the rust side
- typing a path relative to
- simple flow:
- new
config_coreitems for the path - defaults to the currentdata_dir - updating all relevant processes to suit
- tari core changes [tbd]
- all node adapter items
- new processes to handle migration for existing users
- if possible migration should be "copy" (to the new location) then "remove" (from current location, once "copy" completes succesfully)
- all current processes should be "frozen" to prevent issues
- once complete, TU should be restarted
First time users
- IF applicable: the installer should allow for selecting where to store this data. Similar to what is outlined in the pitch [Pitch] Install Directory Settings #2304
- If not applicable (likely on Mac .dmg): before starting up any of the processes the user should be prompted to either pick a location (Scope.1), or use the default
Existing users
in Settings:
- the ability to change the location (Scope.1)
- post-change validation
- check new location space available compared to current data size (should we outright exclude dirs with inadequate space from the list?)
- if validation passes, start migration (Scope.4)
Appetite - Preliminary ESTIMATE
FE
| item | days |
|---|---|
| new (in-app) UI | 3 |
| new (installer) UI | 2 |
| integration | 5 |
BE
| item | days |
|---|---|
| config updates | 1 |
| location validation logic | 1 |
| process updates to use new path var | 1.5 |
| migration logic | 4-6 |
Other
| item | days |
|---|---|
| CI & installer updates | 2-3 |
tari core changes |
? |
| testing - cross platform | 2 |
Risks
- Data migration requires sufficient disk space; failure scenarios need graceful handling.
- Installer modifications on Windows may introduce complexity or require additional testing.
- possible data corruption - i.e in the case of background proccesses not exiting properly before migration
- compromising security if allowing migration beyond
$HOMEdir
Questions
- what's the cut-off migration size?
- have we missed any other risks?
- do we still need to do this if we decide to rather go ahead with Pitch [Pitch] Compressed chain download #1883
- have we missed alternative simpler solitions
Who’s Involved
To be assigned after review.
Metadata
Metadata
Assignees
Labels
a-cia-installation-flowa-uienhancementNew feature or requestNew feature or requestgithub_actionsPull requests that update GitHub Actions codePull requests that update GitHub Actions codeinvestigationjavascriptPull requests that update Javascript codePull requests that update Javascript codep-high-riskquestionFurther information is requestedFurther information is requestedrustPull requests that update rust codePull requests that update rust codestability