From cfbc1c56063738ab221d5ef4a3a4e48f9803a2b1 Mon Sep 17 00:00:00 2001 From: oussi Date: Tue, 7 Apr 2026 11:29:01 +0200 Subject: [PATCH] feat: scaffold projet supervision-rs --- Cargo.toml | 36 ++++++++++++++++++++++++++++++++++++ src/alerter.rs | 1 + src/config.rs | 1 + src/main.rs | 9 +++++++++ src/monitor.rs | 1 + src/routes/alerts.rs | 1 + src/routes/auth.rs | 1 + src/routes/dashboard.rs | 1 + src/routes/mod.rs | 5 +++++ src/routes/settings.rs | 1 + src/routes/users.rs | 1 + src/user_monitor.rs | 1 + 12 files changed, 59 insertions(+) create mode 100644 Cargo.toml create mode 100644 src/alerter.rs create mode 100644 src/config.rs create mode 100644 src/main.rs create mode 100644 src/monitor.rs create mode 100644 src/routes/alerts.rs create mode 100644 src/routes/auth.rs create mode 100644 src/routes/dashboard.rs create mode 100644 src/routes/mod.rs create mode 100644 src/routes/settings.rs create mode 100644 src/routes/users.rs create mode 100644 src/user_monitor.rs diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..0c96db3 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,36 @@ +[package] +name = "supervision" +version = "0.1.0" +edition = "2021" + +[[bin]] +name = "supervision" +path = "src/main.rs" + +[dependencies] +axum = { version = "0.7", features = ["macros", "form"] } +tokio = { version = "1", features = ["full"] } +tera = "1" +sysinfo = "0.32" +lettre = { version = "0.11", features = ["tokio1-native-tls", "builder"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tower-sessions = { version = "0.12", features = ["memory-store"] } +tower = "0.4" +tower_governor = "0.4" +tower-http = { version = "0.5", features = ["fs"] } +tracing = "0.1" +tracing-subscriber = { version = "0.3", features = ["env-filter"] } +bcrypt = "0.15" +chrono = { version = "0.4", features = ["serde"] } +rand = "0.8" +async-trait = "0.1" +http = "1" +regex = "1" +glob = "0.3" + +[target.'cfg(windows)'.dependencies] +windows-service = "0.7" + +[dev-dependencies] +tempfile = "3" diff --git a/src/alerter.rs b/src/alerter.rs new file mode 100644 index 0000000..b4a5c24 --- /dev/null +++ b/src/alerter.rs @@ -0,0 +1 @@ +// Alerter module — Task 3 diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..8be07d8 --- /dev/null +++ b/src/config.rs @@ -0,0 +1 @@ +// Config module — Task 2 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..8474808 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,9 @@ +mod config; +mod monitor; +mod alerter; +mod user_monitor; +mod routes; + +fn main() { + println!("Supervision"); +} diff --git a/src/monitor.rs b/src/monitor.rs new file mode 100644 index 0000000..de1e2a9 --- /dev/null +++ b/src/monitor.rs @@ -0,0 +1 @@ +// Monitor module — Task 4 diff --git a/src/routes/alerts.rs b/src/routes/alerts.rs new file mode 100644 index 0000000..9d3b2d1 --- /dev/null +++ b/src/routes/alerts.rs @@ -0,0 +1 @@ +// Alerts routes — Task 10 diff --git a/src/routes/auth.rs b/src/routes/auth.rs new file mode 100644 index 0000000..6694550 --- /dev/null +++ b/src/routes/auth.rs @@ -0,0 +1 @@ +// Auth routes — Task 7 diff --git a/src/routes/dashboard.rs b/src/routes/dashboard.rs new file mode 100644 index 0000000..45e43ec --- /dev/null +++ b/src/routes/dashboard.rs @@ -0,0 +1 @@ +// Dashboard routes — Task 8 diff --git a/src/routes/mod.rs b/src/routes/mod.rs new file mode 100644 index 0000000..aad9a44 --- /dev/null +++ b/src/routes/mod.rs @@ -0,0 +1,5 @@ +pub mod auth; +pub mod dashboard; +pub mod settings; +pub mod alerts; +pub mod users; diff --git a/src/routes/settings.rs b/src/routes/settings.rs new file mode 100644 index 0000000..f843146 --- /dev/null +++ b/src/routes/settings.rs @@ -0,0 +1 @@ +// Settings routes — Task 9 diff --git a/src/routes/users.rs b/src/routes/users.rs new file mode 100644 index 0000000..1f7b19c --- /dev/null +++ b/src/routes/users.rs @@ -0,0 +1 @@ +// Users routes — Task 11 diff --git a/src/user_monitor.rs b/src/user_monitor.rs new file mode 100644 index 0000000..f95219d --- /dev/null +++ b/src/user_monitor.rs @@ -0,0 +1 @@ +// UserMonitor module — Task 5