diff --git a/crates/bonfire/src/main.rs b/crates/bonfire/src/main.rs index 4ddf9b43..856eb243 100644 --- a/crates/bonfire/src/main.rs +++ b/crates/bonfire/src/main.rs @@ -15,7 +15,7 @@ mod websocket; #[async_std::main] async fn main() { // Configure requirements for Bonfire. - revolt_config::configure!(); + revolt_config::configure!(events); database::connect().await; // Clean up the current region information. diff --git a/crates/core/config/Revolt.toml b/crates/core/config/Revolt.toml index e7514d47..85823e63 100644 --- a/crates/core/config/Revolt.toml +++ b/crates/core/config/Revolt.toml @@ -1,5 +1,3 @@ -sentry_dsn = "" - [database] mongodb = "mongodb://database" redis = "redis://redis/" @@ -14,7 +12,6 @@ voso_legacy = "" voso_legacy_ws = "" [api] -staging = false [api.registration] invite_only = false @@ -68,3 +65,7 @@ background_size = 6000000 icon_size = 2500000 banner_size = 6000000 emoji_size = 500000 + +[sentry] +api = "" +events = "" diff --git a/crates/core/config/src/lib.rs b/crates/core/config/src/lib.rs index 2cb6509c..60fe88fb 100644 --- a/crates/core/config/src/lib.rs +++ b/crates/core/config/src/lib.rs @@ -96,7 +96,6 @@ pub struct ApiWorkers { #[derive(Deserialize, Debug, Clone)] pub struct Api { - pub staging: bool, pub registration: ApiRegistration, pub smtp: ApiSmtp, pub vapid: ApiVapid, @@ -141,13 +140,19 @@ pub struct Features { pub webhooks_enabled: bool, } +#[derive(Deserialize, Debug, Clone)] +pub struct Sentry { + pub api: String, + pub events: String, +} + #[derive(Deserialize, Debug, Clone)] pub struct Settings { pub database: Database, pub hosts: Hosts, pub api: Api, pub features: Features, - pub sentry_dsn: String, + pub sentry: Sentry, } impl Settings { @@ -191,7 +196,7 @@ pub async fn config() -> Settings { } /// Configure logging and common Rust variables -pub async fn setup_logging(release: &'static str) -> Option { +pub async fn setup_logging(release: &'static str, dsn: String) -> Option { dotenv::dotenv().ok(); if std::env::var("RUST_LOG").is_err() { @@ -205,12 +210,11 @@ pub async fn setup_logging(release: &'static str) -> Option Option { - let _sentry = $crate::setup_logging(concat!( - env!("CARGO_PKG_NAME"), - "@", - env!("CARGO_PKG_VERSION") - )) + ($application: ident) => { + let config = $crate::config().await; + let _sentry = $crate::setup_logging( + concat!(env!("CARGO_PKG_NAME"), "@", env!("CARGO_PKG_VERSION")), + config.sentry.$application, + ) .await; }; } diff --git a/crates/delta/src/main.rs b/crates/delta/src/main.rs index ee4957b5..c5ec08a2 100644 --- a/crates/delta/src/main.rs +++ b/crates/delta/src/main.rs @@ -194,7 +194,7 @@ pub async fn authifier_config() -> AuthifierConfig { #[launch] async fn rocket() -> _ { // Configure logging and environment - revolt_config::configure!(); + revolt_config::configure!(api); // Start web server web().await