prepush refactoring
parent
5e62e98c6e
commit
51d16aaa73
|
|
@ -1,7 +1,7 @@
|
|||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
"crates/api-grub", "crates/integr-structs", "crates/preproc",
|
||||
"crates/api-grub", "crates/integr-structs",
|
||||
]
|
||||
|
||||
[profile.dev]
|
||||
|
|
|
|||
42
README.md
42
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] | ❌❌❌❌❌❌❌❌❌❌ | (разработка временно остановлена)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "api-grub"
|
||||
version = "0.3.13"
|
||||
version = "1.0.5"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
|
|
|
|||
|
|
@ -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"] }
|
||||
|
|
@ -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) }
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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(())
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
// mod for preproccessing and transfering to the CM metrics data
|
||||
Loading…
Reference in New Issue