2个版本
0.1.1 | 2023年10月31日 |
---|---|
0.1.0 | 2022年9月13日 |
#328 in 配置
317 每月下载量
26KB
388 代码行
Figment File Provider Adapter
Figment 提供者,用于基于文件的配置值,可与任何提供者一起使用。
use serde::Deserialize;
use figment::{Figment, providers::{Env, Format, Toml}};
use figment_file_provider_adapter::FileAdapter;
#[derive(Deserialize)]
struct Config {
frobnicate: String,
foo: u64,
}
let config: Config = Figment::new()
.merge(FileAdapter::wrap(Env::prefixed("APP_")))
.merge(FileAdapter::wrap(Toml::file("config.toml")))
.extract()?;
概述
此crate包含用于Figment
的FileAdapter
提供者,允许从直接值或文件中加载配置值。它围绕现有的提供者进行包装,对于以"_FILE"结尾的每个键,它都会用读取提到的文件中的值来替换值。这对于与容器结合使用的秘密管理特别有用。
例如,要将API密钥传递给配置,您可以使用配置值API_KEY=abc123deadbeef
,或者您可以将该API密钥写入文件/secrets/api_key
并传递配置值API_KEY_FILE=/secrets/api_key
。
请参阅文档以获取详细的用法指南和更多信息。
用法
将以下内容添加到您的Cargo.toml
[dependencies]
figment = { version = "0.10" }
figment_file_provider_adapter = { version = "0.1" }
许可证
figment_file_provider_adapter根据MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)获得许可。
依赖项
~0.9–1.5MB
~31K SLoC