Skip to content

Commit

Permalink
feat(decider): allow to set ipfs multiaddr from env [fixes NET-544] (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
justprosh committed Sep 22, 2023
1 parent 4dfa59d commit a0606bc
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 22 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 28 additions & 18 deletions crates/server-config/src/node_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -222,80 +222,90 @@ impl UnresolvedNodeConfig {
if let Ok(aqua_ipfs_external_addr) =
std::env::var("FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR")
{
self.system_services.aqua_ipfs.external_api_multiaddr = aqua_ipfs_external_addr;
log::warn!(
"Override configuration of aqua-ipfs system service (external multiaddr) from ENV"
);
self.system_services.aqua_ipfs.external_api_multiaddr = aqua_ipfs_external_addr;
}

if let Ok(aqua_ipfs_local_addr) = std::env::var("FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR")
{
self.system_services.aqua_ipfs.local_api_multiaddr = aqua_ipfs_local_addr;
log::warn!(
"Override configuration of aqua-ipfs system service (local multiaddr) from ENV"
);
self.system_services.aqua_ipfs.local_api_multiaddr = aqua_ipfs_local_addr;
}

if let Ok(enable_decider) = std::env::var("FLUENCE_ENV_CONNECTOR_JOIN_ALL_DEALS") {
match enable_decider.as_str() {
"true" => {
self.system_services.enable.push(ServiceKey::Decider);
log::warn!(
"Override configuration of system services (enable decider) from ENV"
);
self.system_services.enable.push(ServiceKey::Decider);
}
"false" => {
self.system_services
.enable
.retain(|key| *key != ServiceKey::Decider);
log::warn!(
"Override configuration of system services (disable decider) from ENV"
);
self.system_services
.enable
.retain(|key| *key != ServiceKey::Decider);
}
_ => {}
}
}
if let Ok(decider_api_endpoint) = std::env::var("FLUENCE_ENV_CONNECTOR_API_ENDPOINT") {
log::warn!(
"Override configuration of decider system spell (api endpoint) from ENV to {}",
decider_api_endpoint
);
self.system_services.decider.network_api_endpoint = decider_api_endpoint;
log::warn!("Override configuration of decider system spell (api endpoint) from ENV");
}

if let Ok(decider_contract_addr) = std::env::var("FLUENCE_ENV_CONNECTOR_CONTRACT_ADDRESS") {
self.system_services.decider.matcher_address = decider_contract_addr;
log::warn!(
"Override configuration of decider system spell (contract address) from ENV"
"Override configuration of decider system spell (contract address) from ENV to {}",
decider_contract_addr
);
self.system_services.decider.matcher_address = decider_contract_addr;
}

if let Ok(decider_from_block) = std::env::var("FLUENCE_ENV_CONNECTOR_FROM_BLOCK") {
log::warn!(
"Override configuration of decider system spell (from block) from ENV to {}",
decider_from_block
);
self.system_services.decider.start_block = decider_from_block;
log::warn!("Override configuration of decider system spell (from block) from ENV");
}

if let Ok(decider_wallet_key) = std::env::var("FLUENCE_ENV_CONNECTOR_WALLET_KEY") {
self.system_services.decider.wallet_key = Some(decider_wallet_key);
log::warn!("Override configuration of decider system spell (wallet key) from ENV");
self.system_services.decider.wallet_key = Some(decider_wallet_key);
}

if let Ok(worker_ipfs_multiaddr) = std::env::var("FLUENCE_ENV_DECIDER_IPFS_MULTIADDR") {
log::warn!(
"Override configuration of decider system spell (ipfs multiaddr) from ENV to {}",
worker_ipfs_multiaddr
);
self.system_services.decider.worker_ipfs_multiaddr = worker_ipfs_multiaddr;
}

if let Ok(worker_gas) = std::env::var("FLUENCE_ENV_CONNECTOR_WORKER_GAS") {
match worker_gas.parse() {
Ok(worker_gas) => {
self.system_services.decider.worker_gas = worker_gas;
log::warn!(
"Override configuration of decider system spell (worker gas) from ENV"
"Override configuration of decider system spell (worker gas) from ENV to {}", worker_gas
);
self.system_services.decider.worker_gas = worker_gas;
}
Err(err) => log::warn!(
"Unable to override worker gas, value is not a valid u64: {}",
err
),
}
}

if let Ok(decider_wallet_key) = std::env::var("FLUENCE_ENV_CONNECTOR_WALLET_KEY") {
self.system_services.decider.wallet_key = Some(decider_wallet_key);
log::warn!("Override configuration of decider system spell (wallet key) from ENV");
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion crates/system-services/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
aqua-ipfs-distro = "=0.5.17"
aqua-ipfs-distro = "=0.5.20"
decider-distro = "=0.5.1"
registry-distro = "=0.8.7"
trust-graph-distro = "=0.4.7"
Expand Down
4 changes: 3 additions & 1 deletion crates/system-services/src/distro.rs
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,9 @@ pub fn default_aqua_ipfs_distro(config: &AquaIpfsConfig) -> eyre::Result<Package
let local_api_multiaddr = config.local_api_multiaddr.clone();
let external_api_multiaddr = config.external_api_multiaddr.clone();
let init = move |call: &CallService, deployment: DeploymentStatus| {
if let Some(ServiceStatus::Created(id)) = deployment.services.get(&name) {
if let Some(ServiceStatus::Created(id) | ServiceStatus::Existing(id)) =
deployment.services.get(&name)
{
let set_local_result = call(
name.clone(),
"set_local_api_multiaddr".to_string(),
Expand Down

0 comments on commit a0606bc

Please sign in to comment.