diff --git a/Cargo.toml b/Cargo.toml index 8f70c37..97287a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace] resolver = "2" members = [ - "crates/api-grub", "crates/integr-structs", "crates/preproc", + "crates/api-grub", "crates/integr-structs", ] [profile.dev] diff --git a/README.md b/README.md index 46b067c..71c25e4 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,47 @@ # Интеграционный модуль для проекта "Буревестник ВКС" +## Описание `integr_mod` - Rust-пакет, предоставляющий функционал интеграционного модуля в проекте "Буревестник ВКС", состоящий из бинарных крейтов для: - получение данных через API ВКС - поддержку хранения, валидации и актуализации собственных конфигураций - предобработку полученных данных и ~~отправку `Системе Мониторинга`~~ сохранение в БД -## Current Progress +## Руководство -| Crate (submodule) | Progress | +1. Заполнить .env файл или установить переменные окружения в соотвествии с примером в `.env.example` файле +``` toml +# Template .env for API grabber + +# Prometheus-Exporter info +EXPORTER_URL = "http(s)://ip.ip.ip.ip:port" + +# eNODE.Monitoring configuration +ENODE_MONITORING_IP = "ip.ip.ip.ip" +# admin user is required +ENODE_MONITORING_LOGIN = "admin_user_enode_monitoring" +# admin password is required +ENODE_MONITORING_PASSWORD = "admin_password_enode_monitoring" +``` +2. Произвести сборку проекта командой : +``` bash +cargo build --release +``` + +3. Запустить +> Debug версия +``` bash +cargo run --bin api-grub +``` +или +> Release версия +``` bash +cargo run --release --bin api-grub +``` +## Текущий прогресс + +| Крейт (подмодуль) | Прогресс | |---|---| -|`api-grub` | ✅✅✅✅✅✅✅🛠️🛠️🛠️ | -|`config-delivery` | ✅✅✅✅✅✅✅🛠️🛠️🛠️ | +|`api-grub` | ✅✅✅✅✅✅✅✅✅🛠️ | +|`config-delivery [migrated]` | ❌❌❌❌❌❌❌❌❌❌ | |`integrs-structs` | ✅✅✅✅✅✅✅✅✅✅ | -|`preproc` [temp-deprecated] | ✅✅✅❌❌❌❌❌❌❌ | (разработка временно остановлена) +|`preproc` [temp-deprecated] | ❌❌❌❌❌❌❌❌❌❌ | (разработка временно остановлена) diff --git a/crates/api-grub/Cargo.toml b/crates/api-grub/Cargo.toml index 0e54639..48a36c5 100644 --- a/crates/api-grub/Cargo.toml +++ b/crates/api-grub/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "api-grub" -version = "0.3.13" +version = "1.0.5" edition = "2021" [dependencies] diff --git a/crates/preproc/Cargo.toml b/crates/preproc/Cargo.toml deleted file mode 100644 index 9ef8c92..0000000 --- a/crates/preproc/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "preproc" -version = "0.1.0" -edition = "2021" - -[dependencies] -anyhow = "1.0.95" -chrono = "0.4.39" -dotenv = "0.15.0" -env_logger = "0.11.6" -log = "0.4.25" -serde = { version = "1.0.217", features = ["derive"] } -serde_json = "1.0.137" -tokio = { version = "1.43.0", features = ["full"] } diff --git a/crates/preproc/src/config.rs b/crates/preproc/src/config.rs deleted file mode 100644 index e22c5e0..0000000 --- a/crates/preproc/src/config.rs +++ /dev/null @@ -1,21 +0,0 @@ -// mod for prpeproc config pulling and updating - - - - - - - -#[cfg(test)] -mod config_unittests { - use tokio::test; - - #[test] - async fn create_unix_socket_server() { assert!(true) } - - #[test] - async fn verify_on_valid_config() { assert!(true) } - - #[test] - async fn verify_on_invalid_config() { assert!(true) } -} \ No newline at end of file diff --git a/crates/preproc/src/logger.rs b/crates/preproc/src/logger.rs deleted file mode 100644 index 6578b44..0000000 --- a/crates/preproc/src/logger.rs +++ /dev/null @@ -1,50 +0,0 @@ -use chrono::Local; -use env_logger::Builder; -use log::LevelFilter; -use std::io::Write; -use anyhow::Result; -use log::info; - -pub async fn setup_logger() -> Result<()> { - Builder::new() - .format(move |buf, record| { - writeln!( - buf, - "|{}| {} [{}] - {}", - "config-delivery", - Local::now().format("%d-%m-%Y %H:%M:%S"), - record.level(), - record.args(), - ) - }) - .filter(None, LevelFilter::Info) - .target(env_logger::Target::Stdout) - .init(); - - info!("Logger configured"); - Ok(()) -} - - -#[cfg(test)] -mod logger_unittests { - use tokio::test; - use super::*; - #[test] - async fn check_logger_builder() { - Builder::new() - .format(move |buf, record| { - writeln!( - buf, - "|{}| {} [{}] - {}", - "config-delivery", - Local::now().format("%d-%m-%Y %H:%M:%S"), - record.level(), - record.args(), - ) - }) - .filter(None, LevelFilter::Info) - .target(env_logger::Target::Stdout) - .init(); - } -} \ No newline at end of file diff --git a/crates/preproc/src/main.rs b/crates/preproc/src/main.rs deleted file mode 100644 index 3d9c8e1..0000000 --- a/crates/preproc/src/main.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod config; -mod transform; -mod logger; - -use logger::setup_logger; -use dotenv::dotenv; -use anyhow::Result; -use log::info; - -#[tokio::main(flavor = "multi_thread")] -async fn main() -> Result<()>{ - let _ = setup_logger().await?; - - info!("Pulling env vars from .env file if exists ..."); - dotenv().ok(); - - Ok(()) -} diff --git a/crates/preproc/src/transform.rs b/crates/preproc/src/transform.rs deleted file mode 100644 index 43337c5..0000000 --- a/crates/preproc/src/transform.rs +++ /dev/null @@ -1 +0,0 @@ -// mod for preproccessing and transfering to the CM metrics data \ No newline at end of file