#configuration-management #apps #opinionated #toml #toml-file #environment #mildly

configurs

为Rust应用程序提供温和的意见配置管理

2个版本

0.1.1 2020年7月30日
0.1.0 2020年7月30日

#761 in 配置

Apache-2.0

5KB
75

Configurs

为Rust应用程序提供温和的意见配置管理。支持从环境变量、TOML文件和内联注释的默认值加载配置值。

用法

将以下内容添加到你的[dependencies]部分Cargo.toml

configurs = "0.1"
configurs_derive = { version = "0.1" }

...或者,如果你希望从TOML文件加载配置选项

configurs = "0.1"
configurs_derive = { version = "0.1", features = ["file_loader"] }

然后,注释你的结构体

use configurs_derive::Configuration;

#[derive(Configuration)]
struct Configuration {
    #[env="PORT"]
    #[default="8088"]
    port: i16,

    #[env="HOST"]
    #[default="127.0.0.1"]
    host: String,
}

fn main() {
    let config = Configuration::load();
}

使用HOSTPORT环境变量运行程序,现在将覆盖注释的默认值。

使用file_loader特性

额外的依赖项

serde = "1"
serde_derive = "1"
toml = "0.5"

用法

use serde_derive::Deserialize;

#[derive(Configuration, Deserialize)]
#[serde(default)]
struct Configuration {
    #[env="PORT"]
    #[default="8088"]
    port: i16,

    #[env="HOST"]
    #[default="127.0.0.1"]
    host: String,
}

fn main() {
    let config = Configuration::load_from_file("./Config.toml");
}

值的加载顺序或优先级如下

  1. 环境变量
  2. 配置文件
  3. 注释的默认值

没有运行时依赖