Skip to content

feat: Sync fork#14

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

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

Conversation

@ngudbhav
Copy link
Copy Markdown

@ngudbhav ngudbhav commented Apr 29, 2024

CodeAnt-AI Description

Move self-hosted to the feature-complete stack with Podman support and automatic setup for new storage and config paths

What Changed

  • The installer now sets up the newer full stack by default, including PGBouncer, SeaweedFS storage, taskbroker, uptime checks, JS SDK assets, and updated monitoring settings
  • Existing installs can now migrate database, nodestore, and profile settings to the new storage setup, with prompts or automatic updates during install
  • The install flow now works with Docker or Podman, checks the matching requirements, and handles image pulls and startup steps for both
  • Added support for custom CA certificates and local JS SDK bundles for services that need them
  • Tests were added and updated to cover the new install flow, storage migrations, custom certificates, JS SDK assets, and feature-complete runtime behavior

Impact

✅ Easier upgrades to the new self-hosted stack
✅ Fewer manual storage and database migration steps
✅ Clearer installs 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.

aminvakil and others added 30 commits March 6, 2025 10:54
It fails every time and it isn't needed.
https://github.com/aminvakil/self-hosted/actions/runs/13685684000


### 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.
….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.
@codeant-ai
Copy link
Copy Markdown

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

CodeAnt AI Incremental review completed.

Add max-child-task-count to taskworker container

Refs #4265
@codeant-ai
Copy link
Copy Markdown

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

codeant-ai Bot commented Apr 11, 2026

CodeAnt AI Incremental review completed.

@codeant-ai
Copy link
Copy Markdown

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

codeant-ai Bot commented Apr 13, 2026

CodeAnt AI Incremental review completed.

@codeant-ai
Copy link
Copy Markdown

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

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.