[Tutorial] Run your own satellite (part 17) - Placement

I would phrase it in this way:

attributes and filters are two different level of abstractions.

  • filters (and upload-filters) are expression to apply to nodes.
  • attributes can be part of those expressions (with other elements). Attribute is just a node → string function. We also have node_values (which is node → number function)

But attributes (and values) can be also used in other expressions (invariant, selector, …)

I strongly recommend to test placements locally, as it’s easy to shoot yourself on your own foot.

Examples from my shell history:

stbb placement nodes --placement=3 --satellite spiridon --placement-config=.../placement.yaml --selector last_ip

stbb placement select-pool --placement=3 --selector 'last_ip' --k 10000 --satellite spiridon --placement-config=.../placement.yaml

--selector is just the grouping for the output.

  • The first command prints out the node pool.
  • The second one simulates nodes selection (10000 times)

I test every single placement change first with these simulations.

stbb = GitHub - elek/stbb · GitHub