feat: add SENTRY_DSN env variable

This commit is contained in:
Paul Makles
2023-08-10 09:40:41 +01:00
parent a0580c5f5a
commit f5f70287e7
10 changed files with 80 additions and 61 deletions

16
Cargo.lock generated
View File

@@ -2858,7 +2858,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-bonfire" name = "revolt-bonfire"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"async-std", "async-std",
"async-tungstenite", "async-tungstenite",
@@ -2875,7 +2875,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-database" name = "revolt-database"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"async-recursion", "async-recursion",
"async-std", "async-std",
@@ -2907,7 +2907,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-delta" name = "revolt-delta"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"async-channel", "async-channel",
"async-std", "async-std",
@@ -2948,7 +2948,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-models" name = "revolt-models"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"iso8601-timestamp 0.2.11", "iso8601-timestamp 0.2.11",
@@ -2961,7 +2961,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-permissions" name = "revolt-permissions"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"async-std", "async-std",
"async-trait", "async-trait",
@@ -2975,7 +2975,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-presence" name = "revolt-presence"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"async-std", "async-std",
"log", "log",
@@ -2986,7 +2986,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-quark" name = "revolt-quark"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"async-lock", "async-lock",
"async-recursion", "async-recursion",
@@ -3039,7 +3039,7 @@ dependencies = [
[[package]] [[package]]
name = "revolt-result" name = "revolt-result"
version = "0.6.5" version = "0.6.6"
dependencies = [ dependencies = [
"revolt_okapi", "revolt_okapi",
"revolt_rocket_okapi", "revolt_rocket_okapi",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-bonfire" name = "revolt-bonfire"
version = "0.6.5" version = "0.6.6"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
edition = "2021" edition = "2021"
@@ -25,7 +25,11 @@ serde = "1.0.136"
# async # async
futures = "0.3.21" futures = "0.3.21"
async-tungstenite = { version = "0.17.0", features = ["async-std-runtime"] } async-tungstenite = { version = "0.17.0", features = ["async-std-runtime"] }
async-std = { version = "1.8.0", features = ["tokio1", "tokio02", "attributes"] } async-std = { version = "1.8.0", features = [
"tokio1",
"tokio02",
"attributes",
] }
# core # core
revolt-presence = { path = "../core/presence", features = ["redis-is-patched"] } revolt-presence = { path = "../core/presence", features = ["redis-is-patched"] }

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-database" name = "revolt-database"
version = "0.6.5" version = "0.6.6"
edition = "2021" edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
authors = ["Paul Makles <me@insrt.uk>"] authors = ["Paul Makles <me@insrt.uk>"]
@@ -22,10 +22,10 @@ default = ["mongodb", "async-std-runtime"]
[dependencies] [dependencies]
# Core # Core
revolt-result = { version = "0.6.5", path = "../result" } revolt-result = { version = "0.6.6", path = "../result" }
revolt-models = { version = "0.6.5", path = "../models" } revolt-models = { version = "0.6.6", path = "../models" }
revolt-presence = { version = "0.6.5", path = "../presence" } revolt-presence = { version = "0.6.6", path = "../presence" }
revolt-permissions = { version = "0.6.5", path = "../permissions", features = [ revolt-permissions = { version = "0.6.6", path = "../permissions", features = [
"serde", "serde",
"bson", "bson",
] } ] }

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-models" name = "revolt-models"
version = "0.6.5" version = "0.6.6"
edition = "2021" edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
authors = ["Paul Makles <me@insrt.uk>"] authors = ["Paul Makles <me@insrt.uk>"]
@@ -18,7 +18,7 @@ default = ["serde", "partials"]
[dependencies] [dependencies]
# Core # Core
revolt-permissions = { version = "0.6.5", path = "../permissions" } revolt-permissions = { version = "0.6.6", path = "../permissions" }
# Serialisation # Serialisation
indexmap = "1.9.3" indexmap = "1.9.3"

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-permissions" name = "revolt-permissions"
version = "0.6.5" version = "0.6.6"
edition = "2021" edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
authors = ["Paul Makles <me@insrt.uk>"] authors = ["Paul Makles <me@insrt.uk>"]

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-presence" name = "revolt-presence"
version = "0.6.5" version = "0.6.6"
edition = "2021" edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
authors = ["Paul Makles <me@insrt.uk>"] authors = ["Paul Makles <me@insrt.uk>"]

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-result" name = "revolt-result"
version = "0.6.5" version = "0.6.6"
edition = "2021" edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
authors = ["Paul Makles <me@insrt.uk>"] authors = ["Paul Makles <me@insrt.uk>"]

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-delta" name = "revolt-delta"
version = "0.6.5" version = "0.6.6"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
authors = ["Paul Makles <paulmakles@gmail.com>"] authors = ["Paul Makles <paulmakles@gmail.com>"]
edition = "2018" edition = "2018"
@@ -38,13 +38,19 @@ futures = "0.3.8"
chrono = "0.4.15" chrono = "0.4.15"
async-channel = "1.6.1" async-channel = "1.6.1"
reqwest = { version = "0.11.4", features = ["json"] } reqwest = { version = "0.11.4", features = ["json"] }
async-std = { version = "1.8.0", features = ["tokio1", "tokio02", "attributes"] } async-std = { version = "1.8.0", features = [
"tokio1",
"tokio02",
"attributes",
] }
# internal util # internal util
lettre = "0.10.0-alpha.4" lettre = "0.10.0-alpha.4"
# web # web
rocket = { version = "0.5.0-rc.2", default-features = false, features = ["json"] } rocket = { version = "0.5.0-rc.2", default-features = false, features = [
"json",
] }
rocket_empty = { version = "0.1.1", features = ["schema"] } rocket_empty = { version = "0.1.1", features = ["schema"] }
rocket_authifier = { version = "1.0.7" } rocket_authifier = { version = "1.0.7" }
rocket_prometheus = "0.10.0-rc.3" rocket_prometheus = "0.10.0-rc.3"
@@ -57,7 +63,10 @@ revolt_rocket_okapi = { version = "0.9.1", features = [ "swagger" ] }
revolt-quark = { path = "../quark" } revolt-quark = { path = "../quark" }
# core # core
revolt-database = { path = "../core/database", features = [ "rocket-impl", "redis-is-patched" ] } revolt-database = { path = "../core/database", features = [
"rocket-impl",
"redis-is-patched",
] }
revolt-models = { path = "../core/models", features = ["schemas", "validator"] } revolt-models = { path = "../core/models", features = ["schemas", "validator"] }
revolt-result = { path = "../core/result", features = ["rocket", "okapi"] } revolt-result = { path = "../core/result", features = ["rocket", "okapi"] }
revolt-permissions = { path = "../core/permissions", features = ["schemas"] } revolt-permissions = { path = "../core/permissions", features = ["schemas"] }

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "revolt-quark" name = "revolt-quark"
version = "0.6.5" version = "0.6.6"
edition = "2021" edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
@@ -18,7 +18,7 @@ rocket_impl = [
"authifier/database-mongodb", "authifier/database-mongodb",
"authifier/rocket_impl", "authifier/rocket_impl",
"authifier/okapi_impl" "authifier/okapi_impl",
] ]
test = ["async-std", "mongo", "mongodb/async-std-runtime", "rocket_impl"] test = ["async-std", "mongo", "mongodb/async-std-runtime", "rocket_impl"]
@@ -81,7 +81,9 @@ web-push = "0.7.2"
# Implementations # Implementations
rocket_http = { optional = true, version = "0.5.0-rc.2" } rocket_http = { optional = true, version = "0.5.0-rc.2" }
rocket = { optional = true, version = "0.5.0-rc.2", default-features = false, features = ["json"] } rocket = { optional = true, version = "0.5.0-rc.2", default-features = false, features = [
"json",
] }
rocket_empty = { version = "0.1.1", optional = true, features = ["schema"] } rocket_empty = { version = "0.1.1", optional = true, features = ["schema"] }
rocket_cors = { optional = true, git = "https://github.com/lawliet89/rocket_cors", rev = "c17e8145baa4790319fdb6a473e465b960f55e7c" } rocket_cors = { optional = true, git = "https://github.com/lawliet89/rocket_cors", rev = "c17e8145baa4790319fdb6a473e465b960f55e7c" }

View File

@@ -1,5 +1,5 @@
/// Configure logging and common Rust variables /// Configure logging and common Rust variables
pub fn setup_logging(release: &'static str) -> sentry::ClientInitGuard { pub fn setup_logging(release: &'static str) -> Option<sentry::ClientInitGuard> {
dotenv::dotenv().ok(); dotenv::dotenv().ok();
if std::env::var("RUST_LOG").is_err() { if std::env::var("RUST_LOG").is_err() {
@@ -13,13 +13,17 @@ pub fn setup_logging(release: &'static str) -> sentry::ClientInitGuard {
pretty_env_logger::init(); pretty_env_logger::init();
info!("Starting {release}"); info!("Starting {release}");
sentry::init(( if let Ok(dsn) = std::env::var("SENTRY_DSN") {
"https://d1d2a6f15c6245a987c532bbbcb30a04@glitchtip.insert.moe/2", Some(sentry::init((
dsn,
sentry::ClientOptions { sentry::ClientOptions {
release: Some(release.into()), release: Some(release.into()),
..Default::default() ..Default::default()
}, },
)) )))
} else {
None
}
} }
#[macro_export] #[macro_export]