#env #figment #env-file #env-var #file #derive-deserialize #api-key

figment_file_env_provider

一个从环境变量或文件读取的Figment提供者

2个不稳定版本

0.2.0 2022年9月8日
0.1.0 2022年9月8日

#826配置

MIT 协议

19KB
221

Figment FileEnv Provider ci.svg crates.io docs.rs

Figment 提供者,用于可选的基于文件的env配置值。

use serde::Deserialize;
use figment::{Figment, providers::Env};
use figment_file_env_provider::FileEnv;

#[derive(Deserialize)]
struct Config {
  frobnicate: String,
  foo: u64,
}

let config: Config = Figment::new()
    .merge(FileEnv::from_env(Env::prefixed("APP_")))
    .extract()?;

概述

此crate包含用于FigmentFileEnv提供者,允许从环境变量或文件中加载配置值。这对于与容器的结合使用中的秘密管理特别有用。

例如,要将API密钥传递给配置,可以使用环境变量API_KEY=abc123deadbeef,或者可以将该API密钥写入文件/secrets/api_key,并传递环境变量API_KEY_FILE=/secrets/api_key

有关详细使用说明和更多信息,请参阅文档

用法

将以下内容添加到您的Cargo.toml

[dependencies]
figment = { version = "0.10", features = ["env"] }
figment_file_env_provider = { version = "0.1" }

许可证

Figment_file_env_provider受MIT许可证(LICENSE-MIThttp://opensource.org/licenses/MIT)许可。

依赖关系

~3–12MB
~149K SLoC