Warning: This PR adds a repo migration. Please back up your repo before running.
This is a big PR that does a bunch of stuff at once, most of which is centered around a repo migration:
upgrades to IPFS v0.9.0
ups our new minimum go version to go 1.15
adds a new qri configuration revision: 4 and associated migration code
prepares configuration for our new automation subsystem
rename remote configuration fields to make more sense
rename remote package structs to match changes to remote configuration
re-work lib.NewInstance Options to match remote changes
add a lib.OptRemoteClientConstructor option to address #1716
move all mock remote client code into it's own package & out of production binary
removes a bunch of dead configuration fields
Known issues / things that could be better:
we don't have a good strategy for doing "historical" migrations, so this PR changes the way migrating from config revision 1 to 2 will work. Specifically: confg.RPC and cfg.API.WebsocketAddress won't be upgraded. While this is bad, I'm confident we could work around it in practice. Most folks will be running a number of migrations in succession to get to the latest, which should be ok.
There's still more renaming to do in the remote package
Warning: This PR adds a repo migration. Please back up your repo before running.
This is a big PR that does a bunch of stuff at once, most of which is centered around a repo migration:
4
and associated migration codeautomation
subsystemlib.NewInstance
Options to match remote changeslib.OptRemoteClientConstructor
option to address #1716Known issues / things that could be better:
confg.RPC
andcfg.API.WebsocketAddress
won't be upgraded. While this is bad, I'm confident we could work around it in practice. Most folks will be running a number of migrations in succession to get to the latest, which should be ok.remote
packagecloses #1618, closes #1619, closes #1716. closes #1723, closes #1774.