conf_from_env

Crates.ioconf_from_env
lib.rsconf_from_env
version0.1.0
sourcesrc
created_at2022-12-04 00:18:36.863132
updated_at2022-12-04 00:18:36.863132
descriptionConfigurations and secrets defined in structs are automatically read from environment variables.
homepagehttps://github.com/doheide/conf_from_env
repositoryhttps://github.com/doheide/conf_from_env
max_upload_size
id729317
size3,397
(doheide)

documentation

README

conf_from_env

This library automatically reads configurations from environment variables. The configuration is defined in one struct for configuration values and in one struct for secrets. The environment variables are expected to have the same name as the struct attributes in uppercase.

Example

LOG_LEVEL=info

REDIS_HOST=127.0.0.1
REDIS_USER=lala
REDIS_PASSWORD=lili
pub struct Config {
    pub log_level: String,

    pub redis_host: String,
    pub redis_user: String,
    
    timeout: u32
}

#[derive(SetStructFromEnv, Clone)]
pub struct Secrets {
    pub redis_password: String,
}

pub type CoSe = ConfigAndSecrets<Config, Secrets>;

fn main() {
    let cose = CoSe::from_env();
    println!("config and secrets: {:?}", cose);
}
Commit count: 8

cargo fmt