diff --git a/config.sops.env b/config.sops.env index 83a571f..2785fbd 100644 --- a/config.sops.env +++ b/config.sops.env @@ -5,10 +5,10 @@ export PGPASSWORD=ENC[AES256_GCM,data:X3TtaVUJo59f,iv:+SWgwknL5Ny6pNONbAGGdmj9jy export PGDATABASE=ENC[AES256_GCM,data:qC98S2R6YA5N,iv:+e/e5ahAcJe4Mt9H2IMNC07kpqa0JqnORd//HT2onnQ=,tag:9IH+Rc8e3tJZRBHfA4IJbA==,type:str] export PGADMINUSER=ENC[AES256_GCM,data:YD/u2MO/qSo=,iv:d9rDi4XMs9h8qO5v9Kbc9sNFWM+sv11VjW0D71Mvk8w=,tag:FACLMqWWLTLPac6XwoVf5A==,type:str] export PGADMINPASSWORD=ENC[AES256_GCM,data:wdsx7I8awH3slYrKKMLyPw==,iv:sTpaYEY+5JjBKiBHY28wnzRWxPQrJHrRp8MZ7SICDzA=,tag:xvULCDXaVkMUtFKx+aal/Q==,type:str] -export RUST_ARCH__DATABASE_URL=ENC[AES256_GCM,data:Df5Bf5vWKuPEMT4TyskWCb3xwDpH/8VgxGF2+NEAJEZl8Y6uTzKARA+oEDByK4xyhRtzj1iiRjiSt//HFU1W+CYP58xBYLbEB6TH5Q==,iv:LYKNfuCMI7dRUU7KfPrFCxhIImqY102iITijcRB9IOQ=,tag:g+bOKyM5HurD8tpvh2+cHg==,type:str] +export RUST_ARCH__DATABASE__DATABASE_URL=ENC[AES256_GCM,data:/zgTcMp5R7whLJ7hq/H5fta6rnuXI5zIiKpjG3ol0TYNcT0J8MMfq9H8L5B+UqO7/0FHO4uf8GaCSsVW3Yei6eOzQv3B8KC5jQ1hgQ==,iv:cBWZjo3P68rf3K/t6ienHSOuz7PMmYZqtjcVvtZqux8=,tag:a5IJaI9Ztias1mzZrwe8Tw==,type:str] sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0UjhLOXNkcEd1Y1RNWUhL\nUnk2eXFmR0hYS1I2VGFSeUtlKzZOTGZjMGg0Ck1iVlppV2JlRkpTLyswMjlHQ2dz\nemVxeGZhUERNakNqL3duNkU3OXdocmcKLS0tIEdSbVZHY1krLzFZZEZsSEZ1amoy\nL0M5OS9KYm10YlZZVEk0WVRvNFlUNTAKbTF0/0i5+fv78BZuU7H9kqMkdL3/pv64\nhnTznWuY2EIoflmrJYtj2WfhprE8aRgHjU+8FlnOb1ZJm7rG6Q7IGw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_0__map_recipient=age1p28u8xjm5sf7jdavc8xsqtw7lxgscefxs7a5dtqszr2885xeputsh9y64y -sops_lastmodified=2024-08-11T15:35:01Z -sops_mac=ENC[AES256_GCM,data:B9/bRUcG0YSUtpMRk5VEbrk093Ie4aEaYBUcj8xlnyjp6sI/Hwl6fITGWtP/NQkWwBCxNSgC3V/cjk4q9I7t5yKGDrUGJq8tZd/V901OferEJEG0XTqia+1uOopj3WA8kmbiwuHxSokc0xeab/FVtWEVH0tdJg3zhVSuXlH+Tzo=,iv:8eEKBvZabSsCfetIetF0xNwBTIK7ajqYIGdhO4xBkNk=,tag:BPZywwsv1CMaTlGsa+FqvA==,type:str] +sops_lastmodified=2024-08-13T17:45:48Z +sops_mac=ENC[AES256_GCM,data:7GNSdKlrz8daq6XJ0jPlXQZOEfADHOGAat5Ws+s77VlqiF406aBjgLl/O/22xFXJNiC6mF+eSRKwF+ZDeCrVEAmyVYhJNMuU9JaDcKZ1SwciaiILY51CfsZG+DxDGFKNZGqozuBF/ARDHLCFD+ivpak+gOc0+xWcmqRUPW8fPkQ=,iv:cBRxw0tg2n/1HlH4r0Mlt3UFPt6wnWuBEqs9VJu7c5I=,tag:jlnB0ZmaadbeoJ4KHKAw9g==,type:str] sops_unencrypted_suffix=_unencrypted sops_version=3.9.0 diff --git a/crates/rust-arch/src/bin/rust-arch.rs b/crates/rust-arch/src/bin/rust-arch.rs index e254589..de005d4 100644 --- a/crates/rust-arch/src/bin/rust-arch.rs +++ b/crates/rust-arch/src/bin/rust-arch.rs @@ -14,7 +14,6 @@ use tokio_graceful_shutdown::{SubsystemBuilder, Toplevel}; #[tokio::main] async fn main() -> Result<()> { let args: Args = clap::Parser::parse(); - let config = RustArchConfig::load().context("Cannot load configuration")?; match args.cmd { @@ -25,7 +24,7 @@ async fn main() -> Result<()> { let git_revision = env!("BUILD_GIT_HASH"); tracing::info!("RustArch {}-{}", crate_version, git_revision); - let arch_service = Arc::new(create_service(&config.database_url).await.context("Couldn't create service")?); + let arch_service = Arc::new(create_service(&config.database.database_url).await.context("Couldn't create service")?); let server = Toplevel::new(|s| async move { s.start(SubsystemBuilder::new("http_api", |h| start_server(3000, arch_service, h))); diff --git a/crates/rust-arch/src/config.rs b/crates/rust-arch/src/config.rs index 3efdb10..843dd94 100644 --- a/crates/rust-arch/src/config.rs +++ b/crates/rust-arch/src/config.rs @@ -4,12 +4,17 @@ use serde::Deserialize; use crate::error::Error; #[derive(Debug, Deserialize)] -pub struct RustArchConfig { +pub struct RustArchDatabaseConfig { /// (required) Fully qualified URL for accessing Postgres server. /// e.g. postgres://user:password@host/database pub database_url: String, } +#[derive(Debug, Deserialize)] +pub struct RustArchConfig { + pub database: RustArchDatabaseConfig, +} + impl RustArchConfig { pub fn load() -> Result { let config = Config::builder()