Bill Thorp
a250551b6d
storagenode/piecestore + uplink/piecestore: return PieceHash
and original OrderLimit
during GET_REPAIR ( #2775 )
2019-08-26 14:57:41 -04:00
Yaroslav Vorobiov
2ae4129d06
satellite/nodestats: add disqualified flag #2856
2019-08-23 13:58:20 +03:00
JT Olio
12d50ebb99
streams: don't encrypt segment count ( #2859 )
...
What: this change makes sure the count of segments is not encrypted.
Why: having the segment count encrypted just makes things hard for no reason - a satellite operator can figure out how many segments an object has by looking at the other segments in the database. but if a user has access but has lost their encryption key, they now can't clean up or delete old segments because they can't know how many there are without just guessing until they get errors. :(
Backwards compatibility: clients will still understand old pointers and will still write old pointers. at some point in the future perhaps we can do a migration for remaining old pointers so we can delete the old code.
Please describe the tests: covered by existing tests
Please describe the performance impact: none
2019-08-22 15:15:58 -06:00
Egon Elbre
00b2e1a7d7
all: enable staticcheck ( #2849 )
...
* by having megacheck in disable it also disabled staticcheck
* fix closing body
* keep interfacer disabled
* hide bodies
* don't use deprecated func
* fix dead code
* fix potential overrun
* keep stylecheck disabled
* don't pass nil as context
* fix infinite recursion
* remove extraneous return
* fix data race
* use correct func
* ignore unused var
* remove unused consts
2019-08-22 13:40:15 +02:00
ethanadams
1a69ec8318
satellite/orders: document protocol and fix typos ( #2813 )
...
* Addressing comments from PR 2762
* Rebuild of orders.pb.go after comments added to proto file
* run update-satellite-config-lock for spelling fix.
2019-08-19 09:36:11 -04:00
Yaroslav Vorobiov
28a7778e9e
storagenode/nodestats: cache node stats ( #2543 )
2019-08-08 16:47:04 +03:00
paul cannon
17bdb5e9e5
move piece info into files ( #2629 )
...
Deprecate the pieceinfo database, and start storing piece info as a header to
piece files. Institute a "storage format version" concept allowing us to handle
pieces stored under multiple different types of storage. Add a piece_expirations
table which will still be used to track expiration times, so we can query it, but
which should be much smaller than the pieceinfo database would be for the
same number of pieces. (Only pieces with expiration times need to be stored in piece_expirations, and we don't need to store large byte blobs like the serialized
order limit, etc.) Use specialized names for accessing any functionality related
only to dealing with V0 pieces (e.g., `store.V0PieceInfo()`). Move SpaceUsed-
type functionality under the purview of the piece store. Add some generic
interfaces for traversing all blobs or all pieces. Add lots of tests.
2019-08-07 20:47:30 -05:00
Michal Niewrzal
de7dddbe59
metainfo: Batch request ( #2694 )
2019-08-06 16:56:23 +02:00
Michal Niewrzal
688d932d93
Make one implementation for SetAttribution/SetBucketAttribution ( #2683 )
2019-08-05 09:07:40 +02:00
Michal Niewrzal
287fdf9936
Integrate new Metainfo calls (server side) ( #2682 )
2019-08-01 11:04:31 +02:00
Michal Niewrzal
5710dc3a32
Metainfo RPC segment methods (part 2) ( #2616 )
2019-07-24 13:33:23 +02:00
Michal Niewrzal
cba008d7df
Add GetObject method to Metainfo ( #2611 )
2019-07-23 13:09:12 +02:00
Michal Niewrzal
6f2b85603d
Metainfo RPC segment methods (part 1) ( #2567 )
2019-07-22 16:45:18 +02:00
aligeti
29b576961f
value attribution merge fix and more test cases ( #2588 )
...
* value attribution merge fix and more test cases
2019-07-19 11:17:34 -04:00
Jess G
3af9250659
update irreparableDB.GetLimited query to use where instead of offset ( #2585 )
...
* update query to use where instead of offset, update tests
* update cmd/inspector irreparable
* add comment for offset
2019-07-18 09:21:21 -07:00
Michal Niewrzal
260d9c49a8
Metainfo RPC objects methods ( #2534 )
2019-07-16 12:39:23 +02:00
Cameron
8b2d46a974
add vouchers to QueryRequest ( #2559 )
2019-07-15 18:02:22 -04:00
Egon Elbre
002d9748ec
signing: ensure we don't break signatures ( #2542 )
2019-07-12 16:41:19 -04:00
Jess G
f11bf46a11
Jg/1967 mv bucket metadata uplink ( #2505 )
...
* add bucketstore, add init uplink bucket
* update uplink to use bucket rpc
* fix tests
* wrap metainfo client errors
* add allowedBucket struct, fix tests
* update comment
* add paging
* updates per CR
* add test for pagination
* fix lint
* fix uplink test so its easier tyo understand
* fix gateway pagination bug
* changes per cr
* fix bug w/allowedBuckets, add test to catch
2019-07-12 08:57:02 -04:00
Egon Elbre
d52f764e54
protocol: implement new piece signing and verification ( #2525 )
2019-07-11 16:51:40 -04:00
Maximillian von Briesen
8b507f3d73
Address concerns with storagenode Retain endpoint ( #2527 )
2019-07-11 16:04:21 -04:00
Michal Niewrzal
268c629ba8
Replace base64 encoding for path segments ( #2345 )
2019-07-11 13:26:07 -04:00
Maximillian von Briesen
de85d17069
Add checker metrics ( #2487 )
...
checker_segment_total_count - Number of total segments in pointer during checker iteration
checker_segment_healthy_count - Number of healthy segments in pointer during checker iterationn
time_since_checker_queue - Seconds elapsed between checker queue and beginning repair
time_for_repair - Seconds elapsed between beginning repair and ending repair/dequeueing
2019-07-10 17:27:46 -04:00
Alexander Leitner
1c5db71faf
Change protobuf expirations to use time.Time ( #2509 )
...
* Change protobuf expirations to use time.Time instead of timestamp.Timestamp
2019-07-09 17:54:00 -04:00
Jess G
f9696d6c5e
satellite/metainfo: add buckets RPC and database ( #2460 )
...
* add db interface and methods, add sa metainfo endpoints and svc
* add bucket metainfo svc funcs
* add sadb bucekts
* bucket list gets all buckets
* filter buckets list on macaroon restrictions
* update pb cipher suite to be enum
* add conversion funcs
* updates per comments
* bucket settings should say default
* add direction to list buckets, add tests
* fix test bucket names
* lint err
* only support forward direction
* add comments
* minor refactoring
* make sure list up to limit
* update test
* update protolock file
* fix lint
* change per PR
2019-07-08 15:32:18 -07:00
Alexander Leitner
3587e1a579
Change pointerdb pointer to use time.Time for Creation date ( #2483 )
2019-07-09 00:16:50 +02:00
Alexander Leitner
19ab9852f2
Update node.proto to use time.Time instead of timestamp ( #2482 )
2019-07-08 14:24:42 -04:00
Alexander Leitner
dcf8e2936b
Update vouchers to use time.Time instead of timestamp ( #2478 )
...
* Update vouchers to use time.Time instead of timestamp
2019-07-08 13:07:30 -04:00
Yaroslav Vorobiov
524eb24c83
storagenode/nodestats: combine stats into single RPC call ( #2455 )
...
* change satellite nodestats endpoint
2019-07-08 17:33:43 +03:00
Alexander Leitner
88732188cb
Update inspector timestamp to time.time ( #2464 )
...
* Update inspector timestamp
2019-07-08 10:06:12 -04:00
Michal Niewrzal
094e1b8b90
Add 'Old' suffix to some metainfo methods/messages ( #2462 )
2019-07-08 15:33:15 +02:00
Yaroslav Vorobiov
7aca0eb284
storagenode/dashboard: show console address ( #2456 )
2019-07-06 15:40:58 +02:00
Yaroslav Vorobiov
42c125d697
Satellite nodestats endpoint add audit check ( #2426 )
2019-07-04 13:41:40 +03:00
Michal Niewrzal
5176e4f096
Rename BucketItem into Bucket ( #2442 )
...
* Rename BucketItem into Bucket
2019-07-03 15:44:02 -04:00
Michal Niewrzal
61dfa61e3a
Add timestamp and piece size to piece hash ( #2198 )
2019-07-03 18:14:37 +02:00
Alexander Leitner
6d55bbdb57
OrderLimit creation date time limit ( #2412 )
...
* Limit by order creation
2019-07-02 12:06:12 -04:00
Andrew Harding
0de4cf31cf
libuplink scope type ( #2382 )
2019-07-02 09:45:23 -06:00
Yaroslav Vorobiov
f4dfb8fb95
Add daily node space usage to satellite nodestats endpoint ( #2361 )
2019-07-02 13:42:09 +03:00
Michal Niewrzal
3337087a94
Add storj.StreamID ( #2407 )
2019-07-02 11:16:06 +02:00
Jess G
ea55ae63e3
add bucket metainfo rpc ( #2383 )
...
* add bucket metainfo rpc
* updates per design doc
* rm bucketmeta rpc
* add changes per comments
* update Bucket name since same name already exists
* add placeholder methods to fulfill pb.MetainfoServer interface
* update proto lock
* add bucketListItem message
* why failing lint?
* add back ciphersuite but with correct types
* fix proto errs
* update time type
* add proto lock
* rm unneeded import
* update protolock package
2019-07-01 15:17:30 -07:00
Egon Elbre
385c046723
pkg/pb: rename Order2 to Order, OrderLimit2 to OrderLimit ( #2406 )
2019-07-01 18:54:11 +03:00
Jeff Wendling
1a65e42d33
rename EncryptionCtx back to EncryptionAccess ( #2368 )
...
* rename EncryptionCtx back to EncryptionAccess
Change-Id: I5e58915a59979ad6f2e83d36e191b2bbf3ba2ba2
* missed some stuff
Change-Id: Ib65fb186d7f854c0406e5fd7d11498e8941da59e
* oops protolock
Change-Id: I85a5ab4bafb9dd6a804d3dcd17a70811702f07e4
* retrigger
Change-Id: I2d0e3f02b4dbae0299b090e9617662b4437980b0
2019-06-27 23:18:24 -06:00
Jeff Wendling
efcdaa43a3
lib/uplink: encryption context ( #2349 )
...
* lib/uplink: encryption context
Change-Id: I5c23dca3286a46b713b30c4997e9ae6e630b2280
* lib/uplink: bucket operation examples
Change-Id: Ia0f6e69f365dcff0cf11c731f51b30842bce053b
* lib/uplink: encryption key sharing test cases
Change-Id: I3a172d565f33f4e591402cdcb9460664a7cc7fbe
* fix encrypted path prefix restriction issue
Change-Id: I8f3921f9d52aaf4b84039de608b8cbbc88769554
* implement panics in libuplink encryption code
todo on cipher suite selection as well as an api concern
Change-Id: Ifa39eb3cc4b3443f7d96f9304df9b2ac4ec4085d
* implement GetProjectInfo api call to get salt
Change-Id: Ic5f6b3be9ea35df48c1aa214ab5d355fb328e2cf
* some fixes and accessors for encryption store
Change-Id: I3bb61f6712a037900e2a96e72ad4029ec1d3f718
* general fixes to builds/tests/etc
Change-Id: I9930fa96acb3b221d9a001f8e274af5729cc8a47
* java bindings changes
Change-Id: Ia2bd4c9c69739c8d3154d79616cff1f36fb403b6
* get libuplink examples passing
Change-Id: I828f09a144160e0a5dd932324f78491ae2ec8a07
* fix proto.lock file
Change-Id: I2fbbf4d0976a7d0473c2645e6dcb21aaa3be7651
* fix proto.lock again
Change-Id: I92702cf49e1a340eef6379c2be4f7c4a268112a9
* fix golint issues
Change-Id: I631ff9f43307a58e3b25a58cbb4a4cc2495f5eb6
* more linting fixes
Change-Id: I51f8f30b367b5bca14c94b15417b9a4c9e7aa0ce
* bug fixed by structs bump
Change-Id: Ibb03c691fce7606c35c08721b3ef0781ab48a38a
* retrigger
Change-Id: Ieee0470b6a2d07168a1578552e8e7f271ae93a13
* retrigger
Change-Id: I753d63853171e6a436c104ce176048892eb974c5
* semantic merge conflict
Change-Id: I9419448496de90340569047a6a16a1b858a7978a
* update total to match prod defaults
Change-Id: I693d55c1ebb28b5803ee1d26e9e198decf82308b
* retrigger
Change-Id: I28b74d5d6202f61aa3866fe407d423f6a0a14b9e
* retrigger
Change-Id: I6fd054885c715f602e2cef623fd464c42e88742c
* retrigger
Change-Id: I6a01bae88c72406d4ed5a8f13bf8a2b3c650bd2d
2019-06-27 17:36:51 +00:00
Egon Elbre
caa2fcf62b
satellite/orders: don't panic ( #2331 )
2019-06-26 09:26:33 +02:00
Yaroslav Vorobiov
eb5dc4ba2b
Add node stats GRPC endpoint to the satellite ( #2281 )
2019-06-25 13:40:32 +03:00
JT Olio
e17908a266
metainfo: add project info rpc for getting a project salt using an api key ( #2311 )
...
The API exposed in #2302 needs to be able to get a project-level salt (https://github.com/storj/storj/pull/2302/files#diff-72b734f4a2e408a544fef071d2565fc8R200 ), see https://github.com/storj/storj/blob/master/docs/design/password-key-derivation.md also
I realized this morning that if we need it later this week, we need to get it into today's release.
Please describe the tests: tests will come as part of #2302
Please describe the performance impact: none
2019-06-24 11:15:45 -06:00
Cameron
1283036e37
add storage node voucher request service ( #2158 )
...
* add voucher service on storage node
* config field tag syntax, go routines for requests
* hook up voucher service in storagenode/peer.go
* add voucher config to testplanet
* add voucher config to testplanet
* add voucher response status INVALID, ACCEPTED, REJECTED
* add a test for vouchers service
* handle no row from GetValid, test it
* add trust pool to voucher service
* use trusted list to get satellites
* verify vouchers upon receipt
* test VerifyVoucher
2019-06-21 18:48:52 -04:00
JT Olio
76b54458e9
satellite: send external address in order limits ( #2278 )
2019-06-21 12:19:52 +03:00
Fadila
0eb8ac58c1
Create protocol buffer for garbage collection ( #2222 )
2019-06-19 15:56:46 +02:00
Egon Elbre
8f4a6afc8a
Fixes for value attribution ( #2238 )
...
* Move value attribution to satellite/
* remove unnecessary conversion
2019-06-19 08:02:37 -04:00