From ae63f56645070d517c5764eaba00a4da391dd011 Mon Sep 17 00:00:00 2001 From: swve Date: Wed, 12 Mar 2025 13:14:24 +0100 Subject: [PATCH] fix: remove sentry from backend --- apps/api/config/config.py | 40 +----------------------------- apps/api/pyproject.toml | 2 +- apps/api/src/core/events/events.py | 4 --- apps/api/src/core/events/sentry.py | 16 ------------ 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100644 apps/api/src/core/events/sentry.py diff --git a/apps/api/config/config.py b/apps/api/config/config.py index c9a7bd23..e3f7ff8c 100644 --- a/apps/api/config/config.py +++ b/apps/api/config/config.py @@ -5,12 +5,6 @@ from pydantic import BaseModel from dotenv import load_dotenv -class SentryConfig(BaseModel): - dsn: str - environment: str - release: str - - class CookieConfig(BaseModel): domain: str @@ -53,7 +47,6 @@ class HostingConfig(BaseModel): allowed_origins: list allowed_regexp: str self_hosted: bool - sentry_config: Optional[SentryConfig] cookie_config: CookieConfig content_delivery: ContentDeliveryConfig @@ -150,10 +143,7 @@ def get_learnhouse_config() -> LearnHouseConfig: env_self_hosted = os.environ.get("LEARNHOUSE_SELF_HOSTED") env_sql_connection_string = os.environ.get("LEARNHOUSE_SQL_CONNECTION_STRING") - # Sentry Config - env_sentry_dsn = os.environ.get("LEARNHOUSE_SENTRY_DSN") - env_sentry_environment = os.environ.get("LEARNHOUSE_SENTRY_ENVIRONMENT") - env_sentry_release = os.environ.get("LEARNHOUSE_SENTRY_RELEASE") + # Fill in values with YAML file if they are not provided site_name = env_site_name or yaml_config.get("site_name") @@ -247,33 +237,6 @@ def get_learnhouse_config() -> LearnHouseConfig: "mailing_config", {} ).get("system_email_adress") - # Sentry config - # check if the sentry config is provided in the YAML file - sentry_config_verif = ( - yaml_config.get("hosting_config", {}).get("sentry_config") - or env_sentry_dsn - or env_sentry_environment - or env_sentry_release - or None - ) - - sentry_dsn = env_sentry_dsn or yaml_config.get("hosting_config", {}).get( - "sentry_config", {} - ).get("dsn") - sentry_environment = env_sentry_environment or yaml_config.get( - "hosting_config", {} - ).get("sentry_config", {}).get("environment") - sentry_release = env_sentry_release or yaml_config.get("hosting_config", {}).get( - "sentry_config", {} - ).get("release") - - if sentry_config_verif: - sentry_config = SentryConfig( - dsn=sentry_dsn, environment=sentry_environment, release=sentry_release - ) - else: - sentry_config = None - # Payments config env_stripe_secret_key = os.environ.get("LEARNHOUSE_STRIPE_SECRET_KEY") env_stripe_publishable_key = os.environ.get("LEARNHOUSE_STRIPE_PUBLISHABLE_KEY") @@ -310,7 +273,6 @@ def get_learnhouse_config() -> LearnHouseConfig: allowed_origins=list(allowed_origins), allowed_regexp=allowed_regexp, self_hosted=bool(self_hosted), - sentry_config=sentry_config, cookie_config=cookie_config, content_delivery=content_delivery, ) diff --git a/apps/api/pyproject.toml b/apps/api/pyproject.toml index 8e011737..3f5b3417 100644 --- a/apps/api/pyproject.toml +++ b/apps/api/pyproject.toml @@ -27,7 +27,6 @@ dependencies = [ "redis>=5.0.7", "requests>=2.32.3", "resend>=2.4.0", - "sentry-sdk[fastapi]>=2.13.0", "sqlmodel>=0.0.19", "tiktoken>=0.7.0", "uvicorn==0.30.1", @@ -38,6 +37,7 @@ dependencies = [ "sqlalchemy-utils>=0.41.2", "stripe>=11.1.1", "python-jose>=3.3.0", + "logfire[sqlalchemy]>=3.8.0", ] [tool.ruff] diff --git a/apps/api/src/core/events/events.py b/apps/api/src/core/events/events.py index 6ef8b5f9..87d8e058 100644 --- a/apps/api/src/core/events/events.py +++ b/apps/api/src/core/events/events.py @@ -5,7 +5,6 @@ from src.core.events.autoinstall import auto_install from src.core.events.content import check_content_directory from src.core.events.database import close_database, connect_to_db from src.core.events.logs import create_logs_dir -from src.core.events.sentry import init_sentry def startup_app(app: FastAPI) -> Callable: @@ -14,9 +13,6 @@ def startup_app(app: FastAPI) -> Callable: learnhouse_config: LearnHouseConfig = get_learnhouse_config() app.learnhouse_config = learnhouse_config # type: ignore - # Init Sentry - await init_sentry(app) - # Connect to database await connect_to_db(app) diff --git a/apps/api/src/core/events/sentry.py b/apps/api/src/core/events/sentry.py deleted file mode 100644 index 7c460fdb..00000000 --- a/apps/api/src/core/events/sentry.py +++ /dev/null @@ -1,16 +0,0 @@ -from fastapi import FastAPI - -import sentry_sdk - -from config.config import LearnHouseConfig - -async def init_sentry(app: FastAPI) -> None: - - learnhouse_config : LearnHouseConfig = app.learnhouse_config # type: ignore - if learnhouse_config.hosting_config.sentry_config is not None: - sentry_sdk.init( - dsn=app.learnhouse_config.hosting_config.sentry_config.dsn, # type: ignore - environment=app.learnhouse_config.hosting_config.sentry_config.environment, # type: ignore - release=app.learnhouse_config.hosting_config.sentry_config.release, # type: ignore - traces_sample_rate=1.0, - )