Workspace warning count: 408 → 105.
Three buckets cleared:
* Auto-fixable (`cargo fix` + `cargo clippy --fix`): unused imports
removed, unused variables prefixed with `_`, deprecated method
calls updated. Applied across harmony, harmony-k8s, harmony-agent,
harmony_inventory_agent, the fleet/ workspace, and ~15 examples.
* Generated code (opnsense-api/src/generated/): 269 snake_case
warnings + ~10 unreachable-pattern warnings come from
CamelCase-preserving bindings to OPNsense's HAProxy/Caddy XML
schemas. Scoped a single `#[allow(non_snake_case,
unreachable_patterns)]` at `pub mod generated;` rather than
fighting the codegen — renaming would break serde round-trips
and the codegen would regenerate them anyway.
* opnsense-codegen parser's defensive `let...else` guards on
`XmlNode` (currently single-variant): file-level
`#![allow(irrefutable_let_patterns)]` with a comment explaining
why we keep the `else` arms (they re-arm if the IR grows a
second variant).
`harmony_inventory_agent::local_presence::{DiscoveryEvent,
discover_agents}` re-exports were stripped twice by the auto-fix
passes (consumers live in another crate, so the local crate looks
"unused" to lint). Anchored with explicit `pub use` + an
`#[allow(unused_imports)]` annotation noting why.
All 151 harmony lib tests still pass. Remaining ~105 warnings are
mostly real dead code in non-fleet modules + a handful of
unused-imports/variables clippy couldn't auto-resolve; cleared in
the next pass.
39 lines
1.1 KiB
Rust
39 lines
1.1 KiB
Rust
use std::collections::HashMap;
|
|
|
|
use harmony::{
|
|
inventory::Inventory,
|
|
modules::monitoring::{
|
|
alert_channel::discord_alert_channel::DiscordWebhook,
|
|
okd::cluster_monitoring::OpenshiftClusterAlertScore,
|
|
},
|
|
topology::K8sAnywhereTopology,
|
|
};
|
|
use harmony_macros::hurl;
|
|
use harmony_types::k8s_name::K8sName;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
let mut sel = HashMap::new();
|
|
sel.insert(
|
|
"openshift_io_alert_source".to_string(),
|
|
"platform".to_string(),
|
|
);
|
|
let mut sel2 = HashMap::new();
|
|
sel2.insert("openshift_io_alert_source".to_string(), "".to_string());
|
|
let selectors = vec![sel, sel2];
|
|
harmony_cli::run(
|
|
Inventory::autoload(),
|
|
K8sAnywhereTopology::from_env(),
|
|
vec![Box::new(OpenshiftClusterAlertScore {
|
|
receivers: vec![Box::new(DiscordWebhook {
|
|
name: K8sName("wills-discord-webhook-example".to_string()),
|
|
url: hurl!("https://something.io"),
|
|
selectors,
|
|
})],
|
|
})],
|
|
None,
|
|
)
|
|
.await
|
|
.unwrap();
|
|
}
|