#secret-management #configuration-management #api-key #config-toml #provider #figment #values

figment_file_provider_adapter

用于从文件中加载配置值的Figment提供者包装器

2个版本

0.1.1 2023年10月31日
0.1.0 2022年9月13日

#328 in 配置

Download history 367/week @ 2024-04-22 97/week @ 2024-04-29 168/week @ 2024-05-06 109/week @ 2024-05-13 52/week @ 2024-05-20 49/week @ 2024-05-27 43/week @ 2024-06-03 119/week @ 2024-06-10 53/week @ 2024-06-17 120/week @ 2024-06-24 40/week @ 2024-07-01 53/week @ 2024-07-08 107/week @ 2024-07-15 45/week @ 2024-07-22 76/week @ 2024-07-29 85/week @ 2024-08-05

317 每月下载量

MIT 许可证

26KB
388 代码行

Figment File Provider Adapter ci.svg crates.io docs.rs

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包含用于FigmentFileAdapter提供者,允许从直接值或文件中加载配置值。它围绕现有的提供者进行包装,对于以"_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-MIThttp://opensource.org/licenses/MIT)获得许可。

依赖项

~0.9–1.5MB
~31K SLoC