relayor v23.1.0
Changes since v23.0.0
This release contains backward incompatible changes for prometheus integration users. They are flagged with
If you used prometheus integration with older releases, the easiest way to upgrade to v23.1.0 is to delete previously generated scrape configs and nginx config files and start with a minimal set of variables to make use of defaults as much as possible according to this guide.
Security: MetricsPort htpasswd Authentication Password Rollover (Low Risk)
Implement a workaround for ansible-collections/community.general#5975 by moving from a random username to a static username. This change will be reverted once upstream implements the "exclusive" parameter.
This issue affects you if all of these points apply to your environment:
- you use relayor's prometheus integration and the htpasswd file generation for nginx
- you attempted to do a password rollover by removing the folder
~/.tor/prometheus/scrape-usernames
or individual files in that folder without also removing~/.tor/prometheus/metrics_path
.
Impact: A new user gets added but the old user is not removed.
Manual steps recommended for all users of the htpasswd file feature: Update to v23.1.0 or newer, remove the htpasswd file and run your playbook again.
Prometheus Integration Changes
- usability improvements: simplification of how users enable prometheus integration
- ship a default value for
tor_prometheus_scrape_file
and change its semantic from abs. filepath to filename⚠️ - simplify nginx config by shipping a default value for
tor_metricsport_nginx_config_file
- ship a default value for
- implement conf.d style support for prometheus configuration and generate global
prometheus.yml
- remove default value of
tor_prometheus_host
so we can use it as the signal to enable prometheus integration⚠️ - remove the default of
tor_blackbox_exporter_host
so we can use it as a signal to enable blackbox_exporter integration⚠️ tor_gen_blackbox_scrape_config
is obsolete and ignored⚠️
- ship some prometheus alert rules for tor relays (off by default)
- support user defined prometheus alert rules
- change default value of
tor_gen_metricsport_htpasswd
: False -> True⚠️ - reload prometheus on config changes
- reload nginx on config changes
- add service label with value "torrelay"
- document prometheus security considerations
- rename
tor_prometheus_scrape_file_group
->tor_prometheus_group
⚠️
Misc
-
support more than two tor instances per IP address. We do not change the default of two tor instance per IP though. If you want to run more than two relays per IP set
tor_ports
accordingly. Make sure to not go over the limit at the time. The limit of relays per IP is at 4 as of this release and expected to increase in the near future. Check the linked gitlab issue. -
⚠️ remove the tor_dedicatedExitIP feature. You can setOutboundBindAddressExit
via
thetor_config
variable on a per server level. -
add some more example playbooks:
- 4 tor instances per IP
- prometheus integration
-
README improvements
Known issue: Test-kitchen for prometheus suites fail due to the reload nginx
handler.