6 个版本
0.1.10 | 2024 年 1 月 13 日 |
---|---|
0.1.9 | 2024 年 1 月 3 日 |
0.0.31 | 2023 年 7 月 25 日 |
0.0.3 | 2023 年 4 月 18 日 |
0.0.1 | 2022 年 8 月 25 日 |
#121 in 配置
每月 40 次下载
59KB
1K SLoC
North Config
North 配置是一个多源配置库,作为 North 微服务框架的一部分进行设计。它支持多个源,这些源合并成一个配置作为最终源,采用先入先出的指令合并模式,意味着最后一个配置源将覆盖其他配置。
目前,North 配置仅支持本地数据源,计划支持远程数据源。支持的数据源有 json
、yaml
、ron
、toml
和 环境变量
。
所有源类型都支持嵌套或嵌套对象
支持 async-std
、tokio
,默认为 std
入门
use north_config::{ConfigSource, EnvSourceOptions, NorthConfigOptions};
#[derive(Clone, serde::Deserialize, Debug)]
struct DemoConfig {
pub host: Option<String>,
}
///#[tokio::main]
fn main() {
let config_options = NorthConfigOptions {
sources: vec![
// ConfigSource::File("examples/configs/bootstrap.{{env}}.yaml".to_string()),
ConfigSource::Env(EnvSourceOptions::default()),
],
};
let config = north_config::new_config::<DemoConfig>(config_options).await;
let config = config.get_value();
Ok(())
}
依赖
~6–22MB
~277K SLoC