What: allow packetfilter to work on packet destinations instead of only on metric destinations. this will allow us to filter what applications get sent to rothko.
Why: currently rothko is drowning in storj-sim data and it'd be nice to filter out.
* add last_ip field to dbx model node, generate dbx
* add last_ip to node proto, generate pb
* migrate
* resolve address in transport.DialNode, update lastIp in cache.UpdateAddress
* use net.SplitHostPort to isolate host address from port
* define DistinctIPs flag
* add test for GetIP
* select last_ip when querying for nodes
* if distinctIPs flag == true, query for nodes with distinct IPs
* some basic tests
* change last_ip to field 14 in proto
* remove comments
* check err
* change distinctIPs to distinctIP
* exclude IPs from newNodes in query for reputable nodes
* add index on last_ip
* only add to excludedIPs if flag is true
* test half new nodes returns distinct IPs
* fix alignment
* add test
* rework ip filter query, add retry logic, add switch for database driver
* add retry to SelectNewNodes
* change discovery intervals so IPs don't get overwritten
* remove TestGetIP
* edit updating node stats in test
* split exclude into nodeIDs and IPs
* separate non-distinct IP query into other function
* trigger checks
* remove else block
* add uplink-contexts design doc
* respond to some feedback and rename context to scope
* feedback summaries
* review fixes
* review feedback
* more review feedback
* fix types in go structs
* uplink: Add a new flag to set the filepath of the file which is used for
saving the encryption key and rename the one that hold the encryption key and
establish that it has priority over the key stored in the file to make the
configuration usable without having a huge refactoring in test-sim.
* cmd/uplink: Adapt the setup subcommand for storing the user input key to a file
and adapt the rest of the subcommands for reading the key from the key-file when
the key isn't explicitly set with a command line flag.
* cmd/gateway: Adapt it to read the encryption key from the key-file or use the
one passed by a command line flag.
* pkg/process: Export the default configuration filename so other packages which
use the same value can reference to it rather than having it hardcoded.
* Adapt several integrations (scripts, etc.) to consider the changes applied in uplink and cmd packages.
* init doc
* Add link to offer types table
* Correct title
* Update Credits interface
* Add another question
* Add steps for configure segment.io for different satellite
* Update database design
Change database schema
* Address comments
* Add explaination on how to restrict access to the private port
* rename file
* Add credits_used column and offer update limit
* Change credits to be integer
* Remove extra blank lines
* repair no cutoff longtail
* commit repair pieces even if not hitting success threshold
* commit repair pieces even if not hitting success threshold
* remove useless condition
* better error message
* Initial version
* small update
* add probability of false positive table
* put the table at the right place
* updates during meeting
* adds some updates about using bloom filters for gc deleted data
* small fixes
* adds implementation steps and basic gc service protobuf
* adds super brief abstract
* rm gendered language
* removes DataDeletionReport section, adds rationale for not using 2 bloom filters
* Remove parts about deletion
* rearrangement