prepush refactoring
parent
5e62e98c6e
commit
51d16aaa73
|
|
@ -1,7 +1,7 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
members = [
|
members = [
|
||||||
"crates/api-grub", "crates/integr-structs", "crates/preproc",
|
"crates/api-grub", "crates/integr-structs",
|
||||||
]
|
]
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
|
|
|
||||||
42
README.md
42
README.md
|
|
@ -1,15 +1,47 @@
|
||||||
# Интеграционный модуль для проекта "Буревестник ВКС"
|
# Интеграционный модуль для проекта "Буревестник ВКС"
|
||||||
|
|
||||||
|
## Описание
|
||||||
`integr_mod` - Rust-пакет, предоставляющий функционал интеграционного модуля в проекте "Буревестник ВКС", состоящий из бинарных крейтов для:
|
`integr_mod` - Rust-пакет, предоставляющий функционал интеграционного модуля в проекте "Буревестник ВКС", состоящий из бинарных крейтов для:
|
||||||
- получение данных через API ВКС
|
- получение данных через 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` | ✅✅✅✅✅✅✅🛠️🛠️🛠️ |
|
|`api-grub` | ✅✅✅✅✅✅✅✅✅🛠️ |
|
||||||
|`config-delivery` | ✅✅✅✅✅✅✅🛠️🛠️🛠️ |
|
|`config-delivery [migrated]` | ❌❌❌❌❌❌❌❌❌❌ |
|
||||||
|`integrs-structs` | ✅✅✅✅✅✅✅✅✅✅ |
|
|`integrs-structs` | ✅✅✅✅✅✅✅✅✅✅ |
|
||||||
|`preproc` [temp-deprecated] | ✅✅✅❌❌❌❌❌❌❌ | (разработка временно остановлена)
|
|`preproc` [temp-deprecated] | ❌❌❌❌❌❌❌❌❌❌ | (разработка временно остановлена)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "api-grub"
|
name = "api-grub"
|
||||||
version = "0.3.13"
|
version = "1.0.5"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[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