It's hard to debug docker compose failure on other repositories since they can't see the `docker compose ps` and `docker compose logs`. One problem occurred here: https://github.com/getsentry/relay/pull/4940
This PR aims to provide both commands if failure happens.
* fix: set harakiri Django option to 30s
Closes https://github.com/getsentry/self-hosted/issues/1573
From @guoard and @aminvakil who found the issue of "uWSGI reports full listen queue" was caused mostly by workers taking longer times to finish. For folks with bigger Sentry installation, they might want to increase the `proxy_read_timeout` and `harakiri` values to a longer (acceptable) time.
See the GitHub issue linked above for more details.
* feat: document 'harakiri' option instead of making it the default
* Update sentry.conf.example.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update sentry.conf.example.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
---------
Co-authored-by: Amin Vakil <info@aminvakil.com>
* feat: run snuba-items consumer
* feat: remove process-spans as it turns out relay does not publish to that topic yet
* feat: try re-adding process-spans
* feat: add snuba subscriptions-scheduler-executor for eap_items
* feat: run process-segment sentry consumer
---------
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
* ci: run tests on arm64
* ci: runner name should be arm, not arm64
* ci: retain old job name to not mess with CI protection rules
* ci: integration test should not use plural form
* Revert "fix(vroom): Explicitly set PROFILES_DIR for upcoming change (#3759)"
This reverts commit e07445d6be41793165316a3e077ebec343740530.
It also very importantly changes where we mount the profiles volume which fixes the issue. Our theory is as follows:
1. Vroom Dockerfile had a line doing `mkdirp /var/lib/sentry-profiles` at image build time. This makes the directory owned by `root`
2. When we mount over that directory, and change permissions we can store the permissions changes _in_ the directory but not the directory itself
3. So when we start the vroom image with the new mount, the contents are owned by `vroom` but the main directory is still owned by `root`. This is also why [this approach](a23a4e3952) worked as the entrypoint script did this at the start of every container instance.
---------
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
PROFILES_DIR was defaulting to `/var/lib/sentry-profiles` which requires root access. When Vroom image decided to go with non-root default user, this started causing permission issues. Now the image is being refactored and it will not use `/var/lib/sentry-profiles` as the default path so we need to explicitly pass it.
* Introduce patches with external kafka
* Fix pre-commit hooks
* Patch relay config file
* Documentation for patches stuff
* Provide more helpful information for Docker Compose Override file
* Fix grep command
* ref: rename to 'optional-modifications'
* chore(pre-commit): exclude .patch extension
* chore(pre-commit): escape backslash
* chore(pre-commit): put exclude field on hooks
* chore(pre-commit): put exclude field on top level
Based on https://pre-commit.com/#top_level-exclude
* chore(pre-commit): move to even more top level
Sentry Admin Script always fail because of missing import of lib script.
### Legal Boilerplate
Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.