b261110352
We want to stop using the serial_numbers table in satelliteDB. One of the last places using the serial_numbers table is when storagenodes settle orders, we look up the bucket name and project ID from the serial number from the serial_numbers table. Now that we have support to add encrypted metadata into the OrderLimit, this PR makes use of that and now attempts to read the project ID and bucket name from the encrypted orderLimit metadata instead of from the serial_numbers table. For backwards compatibility and to ensure no errors, we will still fallback to the old way of getting that info from the serial_numbers table, but this will be removed in the next release as long as there are no errors. All processes that create orderLimits must have an orders.encryption-keys set. The services that create orderLimits (and thus need to encrypt the order metadata) are the satellite apiProcess, the repair process, audit service (core process), and graceful exit (core process). Only the satellite api process decrypts the order metadata when storagenodes settle orders. This means that the same encryption key needs to be provided in the config for the satellite api process, repair process, and the core process like so: orders.include-encrypted-metadata=true orders.encryption-keys="<"encryptionKeyID>=<encryptionKey>" Change-Id: Ie2c037971713d6fbf69d697bfad7f8b672eedd66 |
||
---|---|---|
.. | ||
accounting | ||
admin | ||
attribution | ||
audit | ||
compensation | ||
console | ||
contact | ||
dbcleanup | ||
downtime | ||
gc | ||
gracefulexit | ||
inspector | ||
internalpb | ||
mailservice | ||
marketingweb | ||
metainfo | ||
metrics | ||
nodeapiversion | ||
nodeselection | ||
nodestats | ||
orders | ||
overlay | ||
payments | ||
referrals | ||
repair | ||
revocation | ||
rewards | ||
satellitedb | ||
snopayout | ||
admin.go | ||
api.go | ||
configlock_test.go | ||
core.go | ||
gc.go | ||
peer.go | ||
repairer.go |