* rename pkg/linksharing to linksharing
* rename pkg/httpserver to linksharing/httpserver
* rename pkg/eestream to uplink/eestream
* rename pkg/stream to uplink/stream
* rename pkg/metainfo/kvmetainfo to uplink/metainfo/kvmetainfo
* rename pkg/auth/signing to pkg/signing
* rename pkg/storage to uplink/storage
* rename pkg/accounting to satellite/accounting
* rename pkg/audit to satellite/audit
* rename pkg/certdb to satellite/certdb
* rename pkg/discovery to satellite/discovery
* rename pkg/overlay to satellite/overlay
* rename pkg/datarepair to satellite/repair
* Added the ability to pass timeout settings from cmd/uplink to libuplink.
* Removed commented out code.
* Updated 2min timeouts for the uplink CLI.
* Removed comment.
* Made transport defaultDialTimeout and defaultRequestTimeout public
* Added comments to describe where these defaults apply.
* Added a new defaults to libuplink and added tests.
* Added a new defaults to libuplink and added tests.
Set difficulty for libuplink and testplanet larger than 8, because we use last byte in the node id to store the version number, so the difficulty must be larger than 8.
* cmd/uplink: add share command to restrict an api key
This commit is an early bit of work to just implement restricting
macaroon api keys from the command line. It does not convert
api keys to be macaroons in general.
It also does not apply the path restriction caveats appropriately
yet because it does not encrypt them.
* cmd/uplink: fix path encryption for shares
It should now properly encrypt the path prefixes when adding
caveats to a macaroon.
* fix up linting problems
* print summary of caveat and require iso8601
* make clone part more clear
What: This change moves project-level bucket metadata encryption information to the volatile section, because it is unlikely to remain in future releases
Why: Ultimately, the web user interface will allow bucket management (creation, removal, etc), but not object management as that requires an encryption key for sure and we don't want to have users give the satellite their encryption keys.
At a high level, a (*Project) type should map to all of the things you can do inside the web user interface within a project, which by necessity cannot have an encryption key. So, we really don't want an encryption key in the non-volatile section of this library.
* Merge in upstream
* Some initial wireup
* Added common.go file, more misc. work
* WIP adding identity in
* Get FullIdentity combined into Uplink
* Structure libuplink a little better
* Update some types and add some comments
* WIP uplink stuff
* Get uplink types and configs figured out
* add initial setup for tests, happy path is working
* Remove dependency from miniogw
* Adds miniogw code and wires it up correctly
* WIP working on getting test suite setup
* Uplink client now returns successfully and passes some initial happy path tets
* WIP trying to get v2 draft ready
* WIP
* WIP wiring up bucket methods and adjusting to some review feedback
* Getting closer to v2 libuplink draft
* CreateBucket now works and has tests to prove it
* Bucket tests are passing now
* removing some code
* Updates error handling and linter fixes
* Removes main_test
* Uploads and downloads are now working
* Rename BucketOpts to Encryption
* updates
* added test file back to git that was being ignored for some reason
* more test conditions
* changes Checksum in ObjectMeta struct to be type []byte
* linter fix
* Updates how encryption is passed through to bucket opts
* Updates encryption handling at bucket and access level
* Fixes imports
* Updates per code review