diff --git a/services/identity/src/config.rs b/services/identity/src/config.rs --- a/services/identity/src/config.rs +++ b/services/identity/src/config.rs @@ -9,11 +9,11 @@ use url::Url; use crate::constants::{ - cors::ALLOW_ORIGIN_LIST, cors::PROD_ORIGIN_HOST_STR, - DEFAULT_OPENSEARCH_ENDPOINT, DEFAULT_TUNNELBROKER_ENDPOINT, - KEYSERVER_PUBLIC_KEY, LOCALSTACK_ENDPOINT, OPAQUE_SERVER_SETUP, - OPENSEARCH_ENDPOINT, REDACT_SENSITIVE_DATA, SECRETS_DIRECTORY, - SECRETS_SETUP_FILE, TUNNELBROKER_GRPC_ENDPOINT, + cors::ALLOW_ORIGIN_LIST, cors::PROD_ORIGIN_HOST_STR, BACKUP_SERVICE_URL, + DEFAULT_BACKUP_SERVICE_URL, DEFAULT_OPENSEARCH_ENDPOINT, + DEFAULT_TUNNELBROKER_ENDPOINT, KEYSERVER_PUBLIC_KEY, LOCALSTACK_ENDPOINT, + OPAQUE_SERVER_SETUP, OPENSEARCH_ENDPOINT, REDACT_SENSITIVE_DATA, + SECRETS_DIRECTORY, SECRETS_SETUP_FILE, TUNNELBROKER_GRPC_ENDPOINT, }; /// Raw CLI arguments, should be only used internally to create ServerConfig @@ -65,6 +65,11 @@ #[arg(long, global = true, default_value_t = false)] #[arg(env = REDACT_SENSITIVE_DATA)] redact_sensitive_data: bool, + + /// Backup service URL + #[arg(env = BACKUP_SERVICE_URL)] + #[arg(long, default_value = DEFAULT_BACKUP_SERVICE_URL)] + backup_service_url: reqwest::Url, } #[derive(Subcommand)] @@ -88,6 +93,7 @@ pub server_setup: comm_opaque2::ServerSetup, pub keyserver_public_key: Option, pub tunnelbroker_endpoint: String, + pub backup_service_url: reqwest::Url, pub opensearch_endpoint: String, pub allow_origin: Option, pub redact_sensitive_data: bool, @@ -121,6 +127,7 @@ Ok(Self { localstack_endpoint: cli.localstack_endpoint.clone(), tunnelbroker_endpoint: cli.tunnelbroker_endpoint.clone(), + backup_service_url: cli.backup_service_url.clone(), opensearch_endpoint: cli.opensearch_endpoint.clone(), server_setup, keyserver_public_key, diff --git a/services/identity/src/constants.rs b/services/identity/src/constants.rs --- a/services/identity/src/constants.rs +++ b/services/identity/src/constants.rs @@ -280,6 +280,10 @@ pub const TUNNELBROKER_GRPC_ENDPOINT: &str = "TUNNELBROKER_GRPC_ENDPOINT"; pub const DEFAULT_TUNNELBROKER_ENDPOINT: &str = "http://localhost:50051"; +// Backup +pub const BACKUP_SERVICE_URL: &str = "BACKUP_SERVICE_URL"; +pub const DEFAULT_BACKUP_SERVICE_URL: &str = "http://localhost:50052"; + // X3DH key management // Threshold for requesting more one_time keys