Explore config file generation
This commit is contained in:
parent
8192d062ba
commit
af25c853b9
4 changed files with 42 additions and 7 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -669,7 +669,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "k2v-client"
|
name = "k2v-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?branch=improve-k2v-client#a73f174ada005f71a77f12e185da154aa5c254a9"
|
source = "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?branch=main#9f303f6308a313c8310c3597ecb6828e46352821"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64",
|
"base64",
|
||||||
"http",
|
"http",
|
||||||
|
|
|
@ -31,5 +31,9 @@ tokio = "1.17.0"
|
||||||
toml = "0.5"
|
toml = "0.5"
|
||||||
zstd = { version = "0.9", default-features = false }
|
zstd = { version = "0.9", default-features = false }
|
||||||
|
|
||||||
k2v-client = { git = "https://git.deuxfleurs.fr/Deuxfleurs/garage.git", branch = "improve-k2v-client" }
|
k2v-client = { git = "https://git.deuxfleurs.fr/Deuxfleurs/garage.git", branch = "main" }
|
||||||
#k2v-client = { path = "../garage/src/k2v-client" }
|
#k2v-client = { path = "../garage/src/k2v-client" }
|
||||||
|
|
||||||
|
[[bin]]
|
||||||
|
name = "test"
|
||||||
|
path = "src/test.rs"
|
||||||
|
|
|
@ -3,9 +3,9 @@ use std::io::Read;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use serde::Deserialize;
|
use serde::{Serialize,Deserialize};
|
||||||
|
|
||||||
#[derive(Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
pub struct Config {
|
pub struct Config {
|
||||||
pub s3_endpoint: String,
|
pub s3_endpoint: String,
|
||||||
pub k2v_endpoint: String,
|
pub k2v_endpoint: String,
|
||||||
|
@ -15,13 +15,13 @@ pub struct Config {
|
||||||
pub login_ldap: Option<LoginLdapConfig>,
|
pub login_ldap: Option<LoginLdapConfig>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
pub struct LoginStaticConfig {
|
pub struct LoginStaticConfig {
|
||||||
pub default_bucket: Option<String>,
|
pub default_bucket: Option<String>,
|
||||||
pub users: HashMap<String, LoginStaticUser>,
|
pub users: HashMap<String, LoginStaticUser>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
pub struct LoginStaticUser {
|
pub struct LoginStaticUser {
|
||||||
pub password: String,
|
pub password: String,
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ pub struct LoginStaticUser {
|
||||||
pub secret_key: Option<String>,
|
pub secret_key: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
pub struct LoginLdapConfig {
|
pub struct LoginLdapConfig {
|
||||||
pub ldap_server: String,
|
pub ldap_server: String,
|
||||||
|
|
||||||
|
|
31
src/test.rs
Normal file
31
src/test.rs
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
mod config;
|
||||||
|
|
||||||
|
use serde::Serialize;
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let config = config::Config {
|
||||||
|
s3_endpoint: "http://127.0.0.1:3900".to_string(),
|
||||||
|
k2v_endpoint: "http://127.0.0.1:3904".to_string(),
|
||||||
|
aws_region: "garage".to_string(),
|
||||||
|
login_static: Some(config::LoginStaticConfig {
|
||||||
|
default_bucket: Some("mailrage".to_string()),
|
||||||
|
users: HashMap::from([
|
||||||
|
("quentin".to_string(), config::LoginStaticUser {
|
||||||
|
password: "toto".to_string(),
|
||||||
|
aws_access_key_id: "GKxxx".to_string(),
|
||||||
|
aws_secret_access_key: "ffff".to_string(),
|
||||||
|
bucket: Some("mailrage-quentin".to_string()),
|
||||||
|
user_secret: "xxx".to_string(),
|
||||||
|
alternate_user_secrets: vec![],
|
||||||
|
master_key: None,
|
||||||
|
secret_key: None,
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
}),
|
||||||
|
login_ldap: None,
|
||||||
|
};
|
||||||
|
|
||||||
|
let ser = toml::to_string(&config).unwrap();
|
||||||
|
println!("{}", ser);
|
||||||
|
}
|
Loading…
Reference in a new issue