Claudemirovsky / konfiguration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Konfiguration

Rust Docs.rs

Simple Json configuration for Rust applications.

Usage

Quickstart

Add Konfiguration to your Cargo.toml:

[dependencies]
konfiguration = "0.1.0"
serde = { version = "1.0", features = ["derive"] }

Create your configuration file:

{
  "server_port": 8080,
  "database": {
    "url": "postgres://localhost:5432/db",
    "username": "postgres",
    "password": "${POSTGRES_PASSWORD_ENV:default}"
  }
}

Load the configuration file:

use serde::Deserialize;
use konfiguration::Konfiguration;

pub struct DatabaseConfig {
    url: String,
    username: String,
    password: String,
}

#[derive(Debug, Deserialize)]
pub struct AppConfig {
    server_port: u16,
    database: DatabaseConfig,
}

fn main() {
    let config = Konfiguration::from_file("filepath/config.json")
        .parse::<AppConfig>()
        .unwrap();
    
    println!("Server port: {}", config.server_port);
    println!("Database url: {}", config.database.url);
    println!("Database username: {}", config.database.username);
}

Contribuiting

Take a look at our contributing guide if you wish to contribute.

About

License:MIT License


Languages

Language:Rust 100.0%