From 46ea8e2cd759b9a3fd85229beddf28589869385b Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Mon, 21 Apr 2025 23:54:07 +0200 Subject: [PATCH] Switched from anyhow to color_eyre --- Cargo.lock | 97 ++++++++++++++++++++++++++++++++++++++++------------ Cargo.toml | 2 +- src/lldap.rs | 11 +++--- src/main.rs | 4 ++- 4 files changed, 84 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 809cb96..210cb78 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,18 +4,18 @@ version = 4 [[package]] name = "addr2line" -version = "0.24.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] [[package]] -name = "adler2" -version = "2.0.0" +name = "adler" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" @@ -66,12 +66,6 @@ dependencies = [ "libc", ] -[[package]] -name = "anyhow" -version = "1.0.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" - [[package]] name = "arrayref" version = "0.3.9" @@ -148,17 +142,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", + "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", ] [[package]] @@ -274,6 +268,33 @@ dependencies = [ "windows-link", ] +[[package]] +name = "color-eyre" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" +dependencies = [ + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", +] + +[[package]] +name = "color-spantrace" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +dependencies = [ + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -605,6 +626,16 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -781,9 +812,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.1" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "git-version" @@ -1203,6 +1234,12 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + [[package]] name = "indexmap" version = "2.8.0" @@ -1444,8 +1481,8 @@ checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" name = "lldap-controller" version = "0.1.0" dependencies = [ - "anyhow", "chrono", + "color-eyre", "cynic", "futures", "git-version", @@ -1558,11 +1595,11 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ - "adler2", + "adler", ] [[package]] @@ -1597,9 +1634,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.7" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] @@ -1682,6 +1719,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + [[package]] name = "parking" version = "2.2.1" @@ -2795,6 +2838,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-error" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" +dependencies = [ + "tracing", + "tracing-subscriber", +] + [[package]] name = "tracing-log" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 0f2d00e..adf1d9e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,6 @@ insta = { version = "1.42.2", features = ["yaml"] } [dependencies] queries = { path = "./queries" } -anyhow = "1.0.97" lldap_auth = { git = "https://github.com/lldap/lldap" } rand = { version = "0.8.5" } serde_json = "1.0.140" @@ -35,6 +34,7 @@ reqwest = { version = "0.12.14", default-features = false, features = [ "rustls-tls", ] } git-version = "0.3.9" +color-eyre = "0.6.3" [dev-dependencies] insta = { workspace = true } diff --git a/src/lldap.rs b/src/lldap.rs index bbc332f..31b6e69 100644 --- a/src/lldap.rs +++ b/src/lldap.rs @@ -1,6 +1,6 @@ use std::time::Duration; -use anyhow::Context; +use color_eyre::eyre::Context; use cynic::http::{CynicReqwestError, ReqwestExt}; use cynic::{GraphQlError, GraphQlResponse, MutationBuilder, QueryBuilder}; use lldap_auth::login::{ClientSimpleLoginRequest, ServerLoginResponse}; @@ -53,14 +53,13 @@ pub struct LldapConfig { } impl LldapConfig { - pub fn try_from_env() -> anyhow::Result { + pub fn try_from_env() -> color_eyre::Result { Ok(Self { username: std::env::var("LLDAP_USERNAME") - .context("Variable 'LLDAP_USERNAME' is not set or invalid")?, + .wrap_err("Variable 'LLDAP_USERNAME' is not set")?, password: std::env::var("LLDAP_PASSWORD") - .context("Variable 'LLDAP_PASSWORD' is not set or invalid")?, - url: std::env::var("LLDAP_URL") - .context("Variable 'LLDAP_URL' is not set or invalid")?, + .wrap_err("Variable 'LLDAP_PASSWORD' is not set")?, + url: std::env::var("LLDAP_URL").wrap_err("Variable 'LLDAP_URL' is not set")?, }) } diff --git a/src/main.rs b/src/main.rs index 080031a..3667c03 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,7 +35,9 @@ async fn log_status( } #[tokio::main] -async fn main() -> anyhow::Result<()> { +async fn main() -> color_eyre::Result<()> { + color_eyre::install()?; + let env_filter = EnvFilter::try_from_default_env() .or_else(|_| EnvFilter::try_new("info")) .expect("Fallback should be valid");