Skip to content

feat: Sync fork#14

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

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

Conversation

@ngudbhav
Copy link
Copy Markdown

@ngudbhav ngudbhav commented Apr 29, 2024

CodeAnt-AI Description

Add the feature-complete self-hosted stack with SeaweedFS, PGBouncer, and Podman support

What Changed

  • Reworked the default install to use SeaweedFS for event and profile storage, PGBouncer for Postgres, and newer service images
  • Added support for Podman, updated minimum system requirements, and improved startup, shutdown, and upgrade handling
  • Added setup steps for JS SDK assets and custom CA certificates, including upgrade-safe migration paths for existing installs
  • Updated the default configuration and compose files to enable new features like logs, uptime, task workers, and the feature-complete profile set
  • Expanded install and integration tests to cover storage migration, asset setup, custom certificates, backup/restore, and feature-complete behavior

Impact

✅ Easier upgrades to the new full-stack install
✅ Fewer manual storage migration steps
✅ Clearer setup on Docker and Podman

🔄 Retrigger CodeAnt AI Review

Details

💡 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.

junsung-cho and others added 30 commits March 18, 2025 12:35
….7 (#3632)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.6 to 1.11.7.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@21cfef2...af35eda)

---
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>
Using the [errors-only](https://develop.sentry.dev/self-hosted/experimental/errors-only/) profile, fewer resources are required. About 2 times.
….0 (#3639)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.11.7 to 1.12.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@af35eda...d72941d)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#3649)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.12.0 to 2.0.2.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@d72941d...3ff1caa)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… configuration for handling relay's failing healthcheck (#3635)

* chore(relay): specify spool.enveloppe.max_backpressure_memory_percent configuration for handling relay's failing healthcheck

Although a fix is being rolled out, that does not mean every relay instance would suddenly be fixed. We would need to still provide a workaround for people to try out. Refer to this specific issue comment: #3330 (comment)

* Update config.example.yml

Co-authored-by: Riccardo Busetti <riccardob36@gmail.com>

* chore: default path for relay spool envelopes

---------

Co-authored-by: Riccardo Busetti <riccardob36@gmail.com>
# PR Summary
This small PR fixes the `datetime` deprecation warnings which you can find in the CI logs:
```python
 /home/runner/work/_actions/getsentry/self-hosted/master/_integration-test/test_01_basics.py:303: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
```
…#3690)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.0.2 to 2.0.6.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@3ff1caa...df432ce)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 2.0.6
  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>
* remove obsolete SENTRY_RELEASE_HEALTH

removed in getsentry/sentry#68226

* remove unused feature flags

removed in getsentry/sentry#32010

* remove session-replay-enable-canvas

removed in getsentry/sentry#87762
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.
Fixes problems that appear when Python SDK 3.0 will be released.
a hard stop is in place with this so it can be removed now
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 16, 2026

CodeAnt AI Incremental review completed.

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 17, 2026

CodeAnt AI is running the 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 17, 2026

Sequence Diagram

This PR restructures the self-hosted installer to support both Docker and Podman, migrate Nodestore and profile data to SeaweedFS, switch Postgres traffic through PGBouncer, and optionally set up JS SDK assets and custom CA bundles during install.

sequenceDiagram
    participant Admin
    participant Installer
    participant ContainerEngine
    participant Storage
    participant Database
    participant SentryStack

    Admin->>Installer: Run install.sh with feature-complete profile
    Installer->>ContainerEngine: Detect docker or podman and compose version
    Installer->>Installer: Load env files, parse CLI flags, decide automatic config updates
    Installer->>ContainerEngine: Stop existing services and recreate persistent volumes
    Installer->>Storage: Bootstrap SeaweedFS nodestore bucket and lifecycle policy
    Installer->>Storage: For feature-complete, create profiles bucket and migrate files from vroom volume
    Installer->>Database: Upgrade Postgres and rewrite config to use PGBouncer when safe
    Installer->>SentryStack: Run Snuba and Sentry migrations and create required topics
    Installer->>SentryStack: Optionally sync JS SDK assets and generate custom CA trust stores
    SentryStack-->>Admin: Print docker or podman compose command to start updated stack
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 17, 2026

CodeAnt AI finished running the 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 21, 2026

CodeAnt AI is running the 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 21, 2026

Sequence Diagram

This diagram shows how the updated installer detects the container engine, upgrades databases, bootstraps SeaweedFS-based storage, updates configs for PGBouncer and S3-style backends, and then brings up the full feature-complete self-hosted stack.

sequenceDiagram
    participant Admin
    participant InstallScript
    participant ContainerEngine
    participant Database
    participant Storage
    participant Config
    participant SentryStack

    Admin->>InstallScript: Run install.sh with CLI flags
    InstallScript->>ContainerEngine: Detect docker or podman and compose, check versions and resources
    InstallScript->>Database: Upgrade Clickhouse and Postgres if legacy volumes detected
    InstallScript->>Storage: Start SeaweedFS and create nodestore and profiles buckets, migrate any legacy profile files
    Storage-->>InstallScript: Buckets ready and data migrated
    InstallScript->>Config: Optionally update sentry.conf.py and config.yml for nodestore S3 backend, profiles storage, and PGBouncer host
    InstallScript->>ContainerEngine: Pull and build images, run Snuba and Sentry DB migrations with health checks
    InstallScript->>SentryStack: Generate JS SDK assets and custom CA trust stores, then start feature-complete services
    SentryStack-->>Admin: Sentry running via PGBouncer with SeaweedFS-backed storage
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 21, 2026

CodeAnt AI finished running the 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 22, 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 22, 2026

CodeAnt AI Incremental review completed.

Remove task for updating relocation release tests

Removed the task to create a PR for updating relocation release tests, because we don't really look at this anymore.
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 23, 2026

CodeAnt AI is running the 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 23, 2026

Sequence Diagram

This PR updates the main install script to detect Docker or Podman, bootstrap SeaweedFS-based storage for nodestore and profiles, migrate configs and data, and optionally set up JS SDK assets and custom CA trust stores during installation.

sequenceDiagram
    participant Admin
    participant Installer
    participant ContainerEngine
    participant Storage
    participant ConfigFiles

    Admin->>Installer: Run install.sh
    Installer->>ContainerEngine: Detect container engine and check versions
    Installer->>Storage: Create persistent volumes and SeaweedFS buckets
    Installer->>ConfigFiles: Update nodestore, profiles, and database config for SeaweedFS and PGBouncer
    Installer->>Storage: Migrate existing profile files from vroom volume to SeaweedFS
    Installer->>ConfigFiles: Optionally set up JS SDK assets and custom CA trust stores
    Installer-->>Admin: Output command to start the Sentry stack
Loading

Generated by CodeAnt AI

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 23, 2026

CodeAnt AI finished running the 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

Bumps [pygments](https://github.com/pygments/pygments) from 2.19.2 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](pygments/pygments@2.19.2...2.20.0)

---
updated-dependencies:
- dependency-name: pygments
  dependency-version: 2.20.0
  dependency-type: indirect
...

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

codeant-ai Bot commented Apr 25, 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

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

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.7
  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
Copy Markdown

codeant-ai Bot commented Apr 25, 2026

CodeAnt AI Incremental review completed.

dependabot Bot and others added 5 commits April 26, 2026 06:54
…#4280)

Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](actions/create-github-app-token@f8d387b...1b10c78)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@53b8394...48b55a0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [j178/prek-action](https://github.com/j178/prek-action) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/j178/prek-action/releases)
- [Commits](j178/prek-action@53276d8...cbc2f23)

---
updated-dependencies:
- dependency-name: j178/prek-action
  dependency-version: 2.0.2
  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>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.1 to 9.0.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.1...9.0.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.3
  dependency-type: direct:development
...

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>
* feat: allow upgrade tests

* fix: wrong cache key
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 27, 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 27, 2026

CodeAnt AI Incremental review completed.

The health checks constantly get mis-identified by users as a problem, when they are just the effect of a problem downstream (e.g. connectivity issues, project configs not available ...).

In the docker compose environment the healthcheck itself makes little sense. If health checks are failing, Sentry is down. If there is no health check and a problem in the system, Sentry is down.

Docker compose does support almost none of the nuance Kubernetes allows for in health checks, and the self hosted install is not load balancing between multiple instances of Relay.

There is little point in having these health checks + they lead to constant requests and questions -> turn them off.

It may make sense to replace the health check with a liveness probe instead, but even these are not handled well by docker compose. Ordering of services should be good enough by relying on the `started` flag.
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented Apr 28, 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
Copy link
Copy Markdown

codeant-ai Bot commented Apr 28, 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.