Closes: https://github.com/filecoin-project/lotus/issues/11679
* Introduce a `moved:"To.New.Config"` tag which prints a stderr warning when
you use one of these, but will move any set value to the new location if the
new location isn't already set itself.
* Look for `X is DEPRECATED` to hold certain fields back from documentation.
* Use `toml:"omitempty"` to prevent the default config output from having these
deprecated values.
* Config default does not comment out EnableSplitstore
* Loadability check
* Remove test used for debugging
* regexp for properly safe check that config is set
* regexp for safely matching the EnableSpitstore field in the config
* Add instructions for undeleting config and remind users to set splitstore false for full archive
* UpdateConfig small docs and functional opts
* make gen
* Lint
* Fix
* nil pointer check on validate
* Unit testing of EnableSplitstore cases
* Address Review
---------
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
Took way longer than it should had because I was researching exisiting
options.
As it turns out, nothing nice exists that would handle:
- Multiple overridiable config files
- Defaults provided in a struct
- Output in a struct
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>