* fix(profiling): Ingest profile file path
`ingest-profiles` is now using vroomrs to ingest profiles instead of writing
through vroom. For self-hosted, we need to make sure filestore for profiles is
properly configured so vroom can find the ingested profiles.
* feat: move profiling data to seaweedfs
* feat: review from Sentry
* Apply suggestions from code review
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
* ref: volume migration tests
* ref: execute file creation from vroom container
* fix: brainfart
* debug
* hack
* more debug
* now I know what I'm missing out
* explicitly state feature complete
* try to pull vroom image
* should only run when COMPOSE_PROFILES is feature complete
* using run invoked weed instead of empty shell
* execute the upload script from vroom container
* execute apt command as root
* gonna sleep
* missing endgroup
* missing sh
* directly execute s3cmd and do 'wc' outside out the container
* why did other test start failing
* manual cleanup
* vroom is not a persistent volume
* what about not removing the seaweed volume
---------
Co-authored-by: Reinaldy Rafli <github@reinaldyrafli.com>
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
* feat: statsd configuration through environment variables
* feat: provide statsd config via environment variables for relay and symbolicator
* fix: default statsd value to localhost
* Update sentry/sentry.conf.example.py
* ref: sound SENTRY_DISALLOWED_IPS on the configuration file
To not mislead people and to prevent time spent scrolling on GitHub issues just to fix why requests to private IP addresses are not working.
* chore: commented out for visibility purposes
* docs: provide information for SENTRY_AIR_GAP flag on Django config file
* Apply suggestions from code review
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Apply suggestions from code review
Co-authored-by: Amin Vakil <info@aminvakil.com>
---------
Co-authored-by: Amin Vakil <info@aminvakil.com>
* feat: Use S3 node store with garage
* lol, fix bash
* moar bash
* lol
* hate bash
* fix moar bash
* Add healthcheck to garage service
Co-authored-by: Reinaldy Rafli <aldy505@proton.me>
* revert +x
* fix healthcheck, fix config
* add env var for garage size
* use better compression level
* simpler garage config
* add migration support
* feat: use seaweedfs as nodestore backend (#3842)
* feat: seaweedfs as s3 nodestore backend
* fix: 'server' was missing for seaweed
* feat: remove minimum volume free space
* feat: specify hostname on ip
* fix: grpc port on seaweed should be `-{service}.port.grpc` instead of `-{service}.grpcPort`
* fix: wrong access key & secret key; use localhost for internal comms
* fix: create index directory
* test: add sentry-seaweedfs volume into expected volumes
* debug: aaaaaaaaaaaaaaaaaaaaaaarrrrggggggghhhhhhhhhhhhhhh
* test: correct ordering for expected volumes
* chore: seaweedfs healthcheck to multiple urls
See https://stackoverflow.com/a/14578575/3153224
* chore: add swap for arm64 runners
* ci: debug memory issues for arm64 runners
* ci: turn off swapfile first
Turns out the arm64 runners already have 3GB of swap
* feat: nodestore config update behind a prompt/flag
* feat: set s3 lifecycle policy
* fix: seaweed is a busybox
* fix: try xml policy
* fix: go back to simplified json
* Revert "fix: go back to simplified json"
This reverts commit 2f1575dfe33db6f781b09d09b01f5382716b8826.
* chore: reword debug lifecycle policy
* fix: don't pollute APPLY_AUTOMATIC_CONFIG_UPDATES variable
---------
Co-authored-by: Reinaldy Rafli <github@reinaldyrafli.com>
feat(tasks) Remove taskworker option override and add worker healthcheck
Along with getsentry/sentry#99374 and this change taskworkers will be
enabled by default in self-hosted. I've left the celery workers active
to smooth over any tasks that are in-flight during an upgrade.
Add a worker healtcheck as we have one now.
Refs STREAM-450
* Add patch for pgbouncer
* pgcat over pgbouncer
* Add patch for .env file
* Apply patches and add initial pgcat tolm file
* feat: hardcode pgcat image
* Fixes from review
* Align usernames defaults
* Remove postgres from default depends_on; Covered by pgcat by extension
* Set user and password - pgcat maybe doesnt support host auth trust
* Pool name maybe has to match, for some reason
* Use healthcheck from pgcat PR
* Reduce pool size, leave some for healthchecks and other clients running
* Start pgcat for bash scripts with postgres
* Update docker-compose.yml
* Use pgbouncer
* Revert to TRUST method
* docs: clearly state that `system.internal-url-prefix` shouldn't be changed
Happened today on Discord where a user changed internal-url-prefix and broke their instance. I think this should be stated clearer for new users and for non-native English speakers.
* Apply suggestion from @BYK
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
* Apply suggestion from @aldy505
Co-authored-by: Reinaldy Rafli <github@reinaldyrafli.com>
* Apply changes from @BYK
---------
Co-authored-by: Burak Yigit Kaya <byk@sentry.io>
* 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>