This patch adds `INTERNAL_IPS` definition to `sentry.conf.py` by sniffing the network from eth0 and relies on this for trusted Relays instead of the ALLOWLISTED PKs. This removes the necessity of syncing Relay PKs to `sentry.conf.py`.
This PR needs getsentry/sentry#19798 to work.
I would like to be able to customize the configuration for my Sentry 10 symbolicator instance, which this change allows me to easily do.
See related: https://github.com/getsentry/symbolicator/issues/245
Co-authored-by: Burak Yigit Kaya <ben@byk.im>
Tested this in a Ubuntu VM. The output of `date` is not too pretty but at least localized (so D/M vs M/D is not confusing)
## What is the TSDB migration?
We're effectively deprecating all TSDB backends but `sentry.tsdb.redissnuba.RedisSnubaTSDB`. We cannot reasonably support any other backend due to the fact that we would have to reimplement each of the backends in Relay, which is written in a different language. Also, like with deprecating mysql support, we don't really have the capacity to support things we do not use ourselves.
## Migration
`install.sh` should rewrite your configuration automatically and define a cutover date such that no data is lost. Before the cutover date, data is written to two backends at once, Redis and Snuba, and read from one, Redis. After the cutover date, event-related metrics will be read from Snuba which matches what we have on sentry.io.
## Manual migration guide for TSDB
In case `install.sh` is unable to migrate your files you will be given basic instructions on the console that essentially tell you to completely delete all TSDB config and paste the new, standard one. If for some reason you cannot say goodbye to your existing TSDB config, please create a new issue in this repo and cc @untitaker on it.
This change makes the install script create a new install log file, `sentry_install_log-<ISO_TIMESTAMP>.txt`, for each run and records all the output there for future reference.
Remove a match-all glob pattern. It looks like some non-git tools read the `*,cover` as `*` and `cover` separately and basically ignore all files. Even though this is not really a problem with the repo itself, I think the change is still valid, considering `*,cover` looks like an invalid rule anyway.
_____
Background:
(__This part is vim-specific__)
For a while now, my Neosnippet configuration has been going for a toss when working on our fork based off of this repo. I see a message similar to the one reported [here](https://github.com/Shougo/neocomplcache.vim/issues/468), but my vimrc configuration is as per the documentation available in the plugin docs. I finally spent enough time to debug this today, and it turns out this issue was happening *only* in this repo and nowhere else. So I went through the files that might've to do anything with folder-specific configuration (think dotenv, editorconfig etc.), and turned out `.gitignore` was the only such file; I use [this plugin](https://github.com/vim-scripts/gitignore) to load the gitignore rules into the `wildmenu` completion and the `*,` part basically (from what I understand) removes most of the load path configuration from vim 😄. I'll probably have to go make a change in that plugin as well though.