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