mirror of
https://codeberg.org/icewind/prometheus-edge-trigger.git
synced 2026-06-03 10:14:12 +02:00
bumb dependencies
This commit is contained in:
parent
5a635578bb
commit
b045081e76
4 changed files with 79 additions and 25 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -2,3 +2,5 @@
|
|||
**/*.rs.bk
|
||||
*.json
|
||||
*.toml
|
||||
result
|
||||
.direnv
|
||||
41
Cargo.lock
generated
41
Cargo.lock
generated
|
|
@ -462,14 +462,16 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
|
|||
|
||||
[[package]]
|
||||
name = "mdns"
|
||||
version = "1.1.0"
|
||||
source = "git+https://github.com/icewind1991/mdns?branch=tokio-1#7042c6697bae5be7504889e32bbfab5b06bdd685"
|
||||
version = "2.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f027925e9ffffd302d46b5e9ca5ba084d56ea2282c527bb89fed1656e929287"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"dns-parser",
|
||||
"err-derive 0.2.4",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"log",
|
||||
"net2",
|
||||
"tokio",
|
||||
]
|
||||
|
|
@ -650,9 +652,9 @@ checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
|
|||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.11.10"
|
||||
version = "0.11.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb"
|
||||
checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"bytes",
|
||||
|
|
@ -672,12 +674,13 @@ dependencies = [
|
|||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"rustls",
|
||||
"rustls-pemfile",
|
||||
"rustls-pemfile 1.0.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"tower-service",
|
||||
"url",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
|
|
@ -712,7 +715,7 @@ dependencies = [
|
|||
"http",
|
||||
"log",
|
||||
"pollster",
|
||||
"rustls-pemfile",
|
||||
"rustls-pemfile 0.3.0",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
|
|
@ -739,6 +742,15 @@ dependencies = [
|
|||
"base64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-pemfile"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e7522c9de787ff061458fe9a829dc790a3f5b22dc571694fc5883f448b94d9a9"
|
||||
dependencies = [
|
||||
"base64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.6"
|
||||
|
|
@ -763,18 +775,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.137"
|
||||
version = "1.0.140"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
|
||||
checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.137"
|
||||
version = "1.0.140"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
|
||||
checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -783,9 +795,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.81"
|
||||
version = "1.0.82"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
|
||||
checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
|
|
@ -895,10 +907,11 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
|
|||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.19.2"
|
||||
version = "1.20.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439"
|
||||
checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"bytes",
|
||||
"libc",
|
||||
"memchr",
|
||||
|
|
|
|||
20
Cargo.toml
20
Cargo.toml
|
|
@ -5,18 +5,18 @@ authors = ["Robin Appelman <robin@icewind.nl>"]
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
prometheus-edge-detector = { version = "0.2", default-features = false, features = ["rustls-tls"] }
|
||||
mdns = { version = "1.1", git = "https://github.com/icewind1991/mdns", branch = "tokio-1" }
|
||||
tokio = { version = "1.0", features = ["macros", "time", "fs", "rt-multi-thread"] }
|
||||
main_error = "0.1"
|
||||
futures-util = "0.3"
|
||||
reqwest = { version = "0.11", default-features = false, features = ["rustls-tls"] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
toml = "0.5.8"
|
||||
log = "0.4.16"
|
||||
prometheus-edge-detector = { version = "0.2.0", default-features = false, features = ["rustls-tls"] }
|
||||
mdns = "2.0.2"
|
||||
tokio = { version = "1.20.1", features = ["macros", "time", "fs", "rt-multi-thread"] }
|
||||
main_error = "0.1.2"
|
||||
futures-util = "0.3.21"
|
||||
reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls"] }
|
||||
serde = { version = "1.0.140", features = ["derive"] }
|
||||
toml = "0.5.9"
|
||||
log = "0.4.17"
|
||||
env_logger = "0.9.0"
|
||||
err-derive = "0.3.1"
|
||||
serde_json = "1.0.79"
|
||||
serde_json = "1.0.82"
|
||||
rumqttc = "0.12.0"
|
||||
hostname = "0.3.1"
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ use crate::mdns::resolve_mdns;
|
|||
use err_derive::Error;
|
||||
use serde::Deserialize;
|
||||
use std::collections::HashMap;
|
||||
use std::convert::TryFrom;
|
||||
use std::fs::read_to_string;
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
pub enum ParameterError {
|
||||
|
|
@ -95,6 +97,7 @@ pub struct PrometheusConfig {
|
|||
}
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
#[serde(try_from = "RawMqttConfig")]
|
||||
pub struct MqttConfig {
|
||||
pub host: String,
|
||||
pub port: Option<u16>,
|
||||
|
|
@ -102,6 +105,42 @@ pub struct MqttConfig {
|
|||
pub password: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub struct RawMqttConfig {
|
||||
pub host: String,
|
||||
pub port: Option<u16>,
|
||||
pub username: Option<String>,
|
||||
#[serde(flatten)]
|
||||
pub password: Option<MqttPassword>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug, Clone, PartialEq)]
|
||||
#[serde(untagged)]
|
||||
pub enum MqttPassword {
|
||||
Raw { password: String },
|
||||
File { password_file: String },
|
||||
}
|
||||
|
||||
impl TryFrom<RawMqttConfig> for MqttConfig {
|
||||
type Error = std::io::Error;
|
||||
|
||||
fn try_from(value: RawMqttConfig) -> Result<Self, Self::Error> {
|
||||
let password = match value.password {
|
||||
Some(MqttPassword::Raw { password }) => Some(password),
|
||||
Some(MqttPassword::File { password_file }) => {
|
||||
Some(read_to_string(password_file)?.trim().to_string())
|
||||
}
|
||||
None => None,
|
||||
};
|
||||
Ok(MqttConfig {
|
||||
host: value.host,
|
||||
port: value.port,
|
||||
username: value.username,
|
||||
password,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub struct Trigger {
|
||||
pub name: String,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue