| Crates.io | freedom-config |
| lib.rs | freedom-config |
| version | 1.0.0 |
| created_at | 2024-10-21 17:53:39.872239+00 |
| updated_at | 2024-10-21 17:53:39.872239+00 |
| description | ATLAS Freedom Configuration |
| homepage | |
| repository | https://github.com/ATLAS-Space-Operations/rust-freedom-config |
| max_upload_size | |
| id | 1417761 |
| size | 15,273 |
Utilities for creating an ATLAS Freedom configuration
The freedom-config API provides an easy to use builder type for constructing
the configuration, which can be invoked with the following:
use freedom_config::{Config, Test};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::builder()
.environment(Test)
.key("my_key")
.secret("my_secret")
.build()?;
println!("{:?}", config);
Ok(())
}
The builder can also be used to source these items from the environment:
use freedom_config::Config;
fn main() -> Result<(), Box<dyn std::error::Error>> {
std::env::set_var(Config::ATLAS_ENV_VAR, "Test");
std::env::set_var(Config::ATLAS_KEY_VAR, "my_key");
std::env::set_var(Config::ATLAS_SECRET_VAR, "my_secret");
let config = Config::builder()
.environment_from_env()?
.key_from_env()?
.secret_from_env()?
.build()?;
println!("{:?}", config);
Ok(())
}
Since this is fairly common, there is also a shorthand for constructing the config entirely from environment variables
use freedom_config::Config;
fn main() {
let config = Config::from_env();
}