diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 2196815..1f59c95 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -4,6 +4,9 @@ Changelog ========= +- :release:`1.2.0 <20th February 2023>` +- :feature:`5` Add Sentry.io + - :release:`1.1.0 <13th February 2023>` - :feature:`2` Bump fastapi from 0.90.1 to 0.91.0 diff --git a/pyproject.toml b/pyproject.toml index 21f554b..274d2f5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "api.letsbuilda.dev" description = "Public API for our projects" -version = "1.1.0" +version = "1.2.0" authors = [ { name = "Bradley Reynolds", email = "bradley.reynolds@darbia.dev" }, ] @@ -12,6 +12,7 @@ dependencies = [ "fastapi==0.92.0", "uvicorn[standard]==0.20.0", "imsosorry==1.2.0", + "sentry-sdk[fastapi]==1.15.0", ] [project.urls] diff --git a/src/api/server.py b/src/api/server.py index 83a1bc3..3d3bdb7 100644 --- a/src/api/server.py +++ b/src/api/server.py @@ -1,5 +1,8 @@ """API server definition""" +from os import getenv + +import sentry_sdk from fastapi import APIRouter, FastAPI from imsosorry import uwuify @@ -8,6 +11,19 @@ from . import __version__ +release_prefix = getenv("API_SENTRY_RELEASE_PREFIX", "api") +git_sha = getenv("GIT_SHA", "development") +sentry_sdk.init( + dsn=getenv("API_SENTRY_DSN"), + environment=getenv("API_SENTRY_ENV"), + send_default_pii=True, + traces_sample_rate=1.0, + _experiments={ + "profiles_sample_rate": 1.0, + }, + release=f"{release_prefix}@{git_sha}", +) + class TextModel(BaseModel): """Generic model for accepting arbitrary plain-text input"""