Added federation
Build and Publish / Build and Publish Docker Image (push) Successful in 4m55s

This commit is contained in:
Ultradesu
2026-07-17 13:30:55 +03:00
parent 184371afca
commit 0615356785
11 changed files with 3832 additions and 489 deletions
+16
View File
@@ -135,6 +135,8 @@ pub struct ConfigSources {
pub agent_concurrency: ConfigSource,
pub lastfm_api_key: ConfigSource,
pub lastfm_shared_secret: ConfigSource,
pub federation_enabled: ConfigSource,
pub federation_network_id: ConfigSource,
}
impl Default for ConfigSources {
@@ -162,6 +164,8 @@ impl Default for ConfigSources {
agent_concurrency: ConfigSource::Default,
lastfm_api_key: ConfigSource::Default,
lastfm_shared_secret: ConfigSource::Default,
federation_enabled: ConfigSource::Default,
federation_network_id: ConfigSource::Default,
}
}
}
@@ -270,6 +274,12 @@ pub struct AppConfig {
pub lastfm_api_key: String,
/// Last.fm shared secret for authenticated scrobbling calls.
pub lastfm_shared_secret: String,
/// Whether this server participates in the furumi federation (publishes
/// its library into the shared DHT and serves audio to peers).
pub federation_enabled: bool,
/// Federation network id — the shared secret every peer of the network
/// uses to find the others.
pub federation_network_id: String,
}
impl Default for AppConfig {
@@ -297,6 +307,8 @@ impl Default for AppConfig {
agent_concurrency: 2,
lastfm_api_key: String::new(),
lastfm_shared_secret: String::new(),
federation_enabled: false,
federation_network_id: String::new(),
}
}
}
@@ -325,6 +337,8 @@ impl_env_overrides!(
agent_concurrency,
lastfm_api_key,
lastfm_shared_secret,
federation_enabled,
federation_network_id,
);
impl AppConfig {
@@ -452,6 +466,8 @@ impl AppConfig {
apply_db_field!(agent_concurrency);
apply_db_field!(lastfm_api_key);
apply_db_field!(lastfm_shared_secret);
apply_db_field!(federation_enabled);
apply_db_field!(federation_network_id);
}
}