Files
archy/docs/companion-performance/fips-config-compatibility.patch

67 lines
1.9 KiB
Diff

diff --git i/src/config/mod.rs w/src/config/mod.rs
index dccc116..be2c634 100644
--- i/src/config/mod.rs
+++ w/src/config/mod.rs
@@ -4783,3 +4783,61 @@ node:
);
}
}
+
+#[cfg(test)]
+mod archy_config_compatibility {
+ use super::*;
+ #[test]
+ fn archy_generated_node_config_keeps_current_lookup_defaults() {
+ let config = Config::parse_text(Path::new("fips.yaml"), r#"# Generated by archipelago — do not edit by hand.
+# Regenerated on every key change and daemon upgrade.
+node:
+ identity:
+ persistent: true
+ discovery:
+ timeout_secs: 5
+ backoff_base_secs: 0
+ backoff_max_secs: 0
+ retry_interval_secs: 2
+ max_attempts: 3
+ lan:
+ enabled: true
+ nostr:
+ enabled: true
+ advertise: true
+ policy: configured_only
+ share_local_candidates: false
+ retry:
+ base_interval_secs: 1
+ max_backoff_secs: 30
+ max_retries: 30
+ rate_limit:
+ handshake_resend_interval_ms: 400
+ handshake_resend_backoff: 1.5
+ handshake_max_resends: 10
+tun:
+ enabled: true
+ name: fips0
+ mtu: 1280
+dns:
+ enabled: true
+ bind_addr: 127.0.0.1
+transports:
+ udp:
+ bind_addr: 0.0.0.0:2121
+ tcp:
+ bind_addr: 0.0.0.0:8443
+peers: []
+"#).unwrap();
+ assert_eq!(config.node.lookup.attempt_timeouts_secs, vec![1, 2, 4, 8]);
+ assert_eq!(config.node.lookup.backoff_base_secs, 0);
+ assert_eq!(config.node.lookup.backoff_max_secs, 0);
+ assert!(config.node.rendezvous.lan.enabled);
+ assert!(config.node.rendezvous.nostr.enabled);
+ assert!(config.node.rendezvous.nostr.advertise);
+ assert!(!config.node.rendezvous.nostr.share_local_candidates);
+ assert_eq!(config.node.rendezvous.nostr.policy, NostrRendezvousPolicy::ConfiguredOnly);
+ assert_eq!(config.node.retry.base_interval_secs, 1);
+ assert_eq!(config.node.rate_limit.handshake_resend_interval_ms, 400);
+ }
+}