Skip to content

feat: Sync fork#14

Open
ngudbhav wants to merge 359 commits intoKingsGambitLab:masterfrom
getsentry:master
Open

feat: Sync fork#14
ngudbhav wants to merge 359 commits intoKingsGambitLab:masterfrom
getsentry:master

Conversation

@ngudbhav
Copy link

@ngudbhav ngudbhav commented Apr 29, 2024

CodeAnt-AI Description

Enable Podman installs, automatic SeaweedFS migrations, and optional config updates during install

What Changed

  • Installer can use podman or docker interchangeably for compose/build/run; container engine is auto-detected and compose commands adapt so installs work with podman as well as docker.
  • During setup the installer creates SeaweedFS buckets for nodestore and profiles and can migrate existing profiling files from the legacy sentry-vroom volume into a SeaweedFS "profiles" bucket; lifecycle retention policies are applied to these buckets.
  • The installer can optionally apply automatic config updates (toggle via CLI flags or APPLY_AUTOMATIC_CONFIG_UPDATES env) to switch nodestore to S3 and point the database at PGBouncer when safe; prompts can be suppressed for non-interactive runs.
  • Adds local hosting of JS SDK bundles into the nginx volume when enabled (SETUP_JS_SDK_ASSETS=1), pruning old assets and fixing permissions so loader URLs work without an external CDN.
  • Improved preflight and runtime checks: stricter minimum versions, bash version check, CPU/RAM enforcement, and clearer failure messages; several setup and upgrade flows (ClickHouse multi-step upgrades, Postgres 9.6→14 migration) run automatically where detected.
  • New migration and helper scripts and unit/integration tests cover pgbouncer migration, nodestore/profiles bootstrapping and JS SDK asset setup to reduce manual steps and surface errors earlier.

Impact

✅ Podman installs with the same install flow as Docker
✅ Fewer manual nodestore/profile migrations during upgrades
✅ Clearer, opt-in PGBouncer and nodestore config migration

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

getsentry-bot and others added 30 commits December 21, 2024 21:26
….1 (#3492)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@5d869da...c1a2851)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
`geoipupdate` is not used by any other service nor it is needed for any
service to run. Moreover, it is a one-shot command, causing
`docker compose up --wait` to fail when it exits with a non-zero status.
This happens when one has not yet set up their credentials and they may
choose to never do this.

This PR removes `geoipupdate` from the `docker-compose.yml` file and
moves the command directly into the geoip related script. One may run
this whenever they want to update their GeoIP database.

This PR needs an accompanying docs change.
I think we split these actions in the past due to some lack of options for them to work together properly. Right now looks like `bootstrap` would automatically migrate and propagates the `force` flag.
Update `_lib.sh` to remove the extra space in the log file name.
This fixes the log files name not being included in `.gitinore`
This patch caches all DB volumes based on the sentry and snuba images to avoid doing the same migrations over and over for every test run.

This shaved off a whole minute from "Install self-hosted" jobs (so ~20% speed increase).

Left side: cached re-run -- Right side: no-cache initial run
![image](https://github.com/user-attachments/assets/55b923ea-d4c8-44bf-ba3e-0d5708781fd8)
Docker Compose is much more robust nowadays compared to the past where we had to maintain tests for both v1 and v2 and then a specific version of v2. Hence, we are removing tests for the older versions of Docker Compose with this patch. We also remove the separate tests for customizations and w/o customizations as the one with customizations should cover the one without them anyway. This reduces the CI workload to 25% of what it was
This is an initial transitionary patch before landing #3516. Once we land this, we will update users of the old action to use this one and remove that repo. Then land #3516 safely.

Great thing is, with this patch and the subsequent update to getsentry/action-self-hosted-e2e-tests to use this one, all the repos would be using the Docker Volume caching we introduced in #3488.
From
```
================== 11 passed, 4 warnings in 762.35s (0:12:42) ==================
```

to
```
================== 11 passed, 4 warnings in 343.58s (0:05:43) ==================
```
Instead of using direct image hashes, only use hashes from migrations folders for each respective image for cache key generation. Should increase cache hit rate significantly as we don't have migrations much.

Also swaps the key order from `sentry-snuba` to `snuba-senry` assuming Snuba has less frequent migration additions.
We should do the backup/restore tests _after_ we do the basic tests. This is both more efficient as we avoid an extra up/down cycle and more meaningful as we will back up and restore an actually used system.

A bit hard to measure directly as this also moves the initial `docker compose up -w` into the test suite but a random run without this patch took about 10m 49s to finish for the testing part whereas with the patch it came down to 9m 10s so **almost 2 minutes faster**!
Just starting up services for Snuba or Sentry migrations takes up to a minute sometimes and we do this even when there are no migrations, just because one of the Sentry or Snuba migrations change. This patch splits the caches up so only the necessary one runs, saving further time. It also uses the `LATEST_TAG` as the cache key for upgrade tests as the image versions or data will never change for a certain tag once it is release.
In this version, there's a new `--pull` argument for `docker compose run` which we will start leveraging, especially with `sentry-admin` command.

Should come with a slight speed boost.
)

We need to care about more than just src/sentry/migrations. We will need to account for files in src/sentry/**/migrations/*

Taken from https://github.com/getsentry/sentry/blob/afd74698180066223dee53991b7db26ca80ea3e5/.github/file-filters.yml#L90
As discussed, removing the upgrade test since it doesn't provide that much utility as we are already testing upgrades from restoring docker volumes from cache
I _think_ we can get away with this but let's see what the CI thinks. If it passes, it should save us another minuter or two.
* Allow configuring Sentry taskworker concurrency via env

* Update comment for SENTRY_TASKWORKER_CONCURRENCY ENV
@codeant-ai
Copy link

codeant-ai bot commented Feb 4, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Feb 4, 2026
@codeant-ai
Copy link

codeant-ai bot commented Feb 4, 2026

CodeAnt AI Incremental review completed.

@codeant-ai
Copy link

codeant-ai bot commented Feb 5, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Feb 5, 2026
@codeant-ai
Copy link

codeant-ai bot commented Feb 5, 2026

CodeAnt AI Incremental review completed.

@codeant-ai
Copy link

codeant-ai bot commented Feb 10, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Feb 10, 2026
@codeant-ai
Copy link

codeant-ai bot commented Feb 10, 2026

CodeAnt AI Incremental review completed.

* build(deps): bump getsentry/craft from 2.20.1 to 2.21.2

Bumps [getsentry/craft](https://github.com/getsentry/craft) from 2.20.1 to 2.21.2.
- [Release notes](https://github.com/getsentry/craft/releases)
- [Changelog](https://github.com/getsentry/craft/blob/master/CHANGELOG.md)
- [Commits](getsentry/craft@beea4ab...63d1636)

---
updated-dependencies:
- dependency-name: getsentry/craft
  dependency-version: 2.21.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Apply suggestion from @aldy505

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Reinaldy Rafli <github@reinaldyrafli.com>
@codeant-ai
Copy link

codeant-ai bot commented Feb 11, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Feb 11, 2026
@codeant-ai
Copy link

codeant-ai bot commented Feb 11, 2026

CodeAnt AI Incremental review completed.

Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.3 to 46.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@46.0.3...46.0.5)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@codeant-ai
Copy link

codeant-ai bot commented Feb 11, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Feb 11, 2026
@codeant-ai
Copy link

codeant-ai bot commented Feb 11, 2026

CodeAnt AI Incremental review completed.

@codeant-ai
Copy link

codeant-ai bot commented Feb 13, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:XXL This PR changes 1000+ lines, ignoring generated files and removed size:XXL This PR changes 1000+ lines, ignoring generated files labels Feb 13, 2026
@codeant-ai
Copy link

codeant-ai bot commented Feb 13, 2026

CodeAnt AI Incremental review completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL This PR changes 1000+ lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.