chore(deps): Upgrade all deps #31

Merged
Dreaded_X merged 1 commits from chore/upgrade into main 2026-10-21 05:54:14 +00:00
7 changed files with 258 additions and 468 deletions
Generated
+227 -446
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -10,8 +10,8 @@ license = "GPL-3.0-or-later"
members = ["ipxe", "xtask"]
[workspace.dependencies]
schemars = { version = "1.2.2", features = ["semver1"] }
serde_json = "1.0.151"
schemars = { version = "1.2.3", features = ["semver1"] }
serde_json = "1.0.154"
[dependencies]
async-walkdir = "2.2.0"
@@ -19,8 +19,8 @@ byteorder = "1.5.0"
clap = { version = "4.6.7", features = ["derive"] }
clap_complete = "4.6.11"
futures = "0.3.34"
gix-discover = { version = "0.56.0", features = ["sha1"] }
minijinja = { version = "2.24.0", features = ["json", "loader"] }
gix-discover = { version = "0.57.0", features = ["sha1"] }
minijinja = { version = "3.0.1", features = ["json", "serde"] }
netascii = "0.1.0"
num_enum = "0.7.6"
optional_struct = "0.5.2"
@@ -34,7 +34,7 @@ serde = { version = "1.0.229", features = ["derive"] }
serde_json = { workspace = true }
serde_yaml = "0.9.34"
thiserror = "2.0.21"
tokio = { version = "1.52.1", features = ["full"] }
tokio = { version = "1.54.0", features = ["full"] }
ipxe = { path = "./ipxe" }
axum = { version = "0.8.9", features = ["macros"] }
socket2 = "0.6.5"
+13 -7
View File
@@ -4,8 +4,8 @@ use std::path::{Path, PathBuf};
use async_walkdir::WalkDir;
use futures::{Stream, StreamExt};
use minijinja::value::ViaDeserialize;
use minijinja::{AutoEscape, Environment, path_loader};
use minijinja::syntax::SyntaxConfig;
use minijinja::{AutoEscape, Environment, path_loader, value};
use crate::{get_configs_path, get_talos_path};
@@ -19,21 +19,27 @@ pub struct PathEnvironment<'a> {
}
fn apply_netmask(
ip: ViaDeserialize<Ipv4Addr>,
netmask: ViaDeserialize<Ipv4Addr>,
ip: value::Serde<Ipv4Addr>,
netmask: value::Serde<Ipv4Addr>,
) -> Result<String, minijinja::Error> {
Ok((*ip & *netmask).to_string())
}
pub fn configure_environment(env: &mut Environment) {
// Configure jinja
env.set_trim_blocks(true);
env.set_lstrip_blocks(true);
// Configure jinja
env.set_syntax(
SyntaxConfig::builder()
.trim_blocks(true)
.lstrip_blocks(true)
.build()
.expect("Syntax config should be valid"),
);
env.set_undefined_behavior(minijinja::UndefinedBehavior::Strict);
env.set_auto_escape_callback(|_| AutoEscape::None);
// Add filters
env.add_filter("to_prefix", |netmask: ViaDeserialize<Ipv4Addr>| {
env.add_filter("to_prefix", |netmask: value::Serde<Ipv4Addr>| {
let mask = netmask.to_bits();
let prefix = mask.leading_ones();
+2 -2
View File
@@ -1,7 +1,7 @@
use crete::cluster::Cluster;
use crete::environment::configure_environment;
use ipxe::IPXE_DIR;
use minijinja::{Environment, context};
use minijinja::{Environment, context, value};
use regex::regex;
pub async fn get_file(
@@ -26,7 +26,7 @@ pub async fn get_file(
let clusters = Cluster::get_all().await;
let content = template
.render(context! {
clusters => clusters.values().collect::<Vec<_>>(),
clusters => value::Serde(clusters.values().collect::<Vec<_>>()),
httpUrl => http_url.to_string()
})
.unwrap();
+3 -3
View File
@@ -16,7 +16,7 @@ use crete::talosconfig::{get_current_context, set_context};
use crete::{get_configs_path, get_repo_path, set_repo_path, tftp};
use futures::StreamExt;
use futures::future::join_all;
use minijinja::context;
use minijinja::{context, value};
use crate::cli::{Cli, Commands, GlobalOpts};
use crate::error::Error;
@@ -44,8 +44,8 @@ async fn generate(opts: &GlobalOpts) -> Result<(), Error> {
let content = template
.render(context! {
clusters => clusters.values().collect::<Vec<_>>(),
root => opts.repo
clusters => value::Serde(clusters.values().collect::<Vec<_>>()),
root => value::Serde(&opts.repo)
})
.unwrap();
+3 -3
View File
@@ -1,4 +1,4 @@
use minijinja::{Environment, context};
use minijinja::{Environment, context, value};
use optional_struct::optional_struct;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
@@ -35,8 +35,8 @@ async fn render(
.get_template(&name)
.unwrap()
.render(context! {
node,
cluster
node => value::Serde(&node),
cluster => value::Serde(&cluster)
})
.unwrap();
+5 -2
View File
@@ -5,7 +5,7 @@ use std::time::Duration;
use socket_pktinfo::{PktInfo, PktInfoUdpSocket};
use socket2::Domain;
use thiserror::Error;
use tokio::io::unix::AsyncFd;
use tokio::io::unix::{AsyncFd, AsyncFdRegisterError};
use tokio::net::UdpSocket;
use crate::tftp::packet::{ErrorCode, Mode, PACKET_SIZE};
@@ -29,6 +29,8 @@ pub enum Error {
UnexpectedPacket(Packet),
#[error("Timeout")]
Timeout,
#[error("AsyncFd: {0}")]
AsyncFd(#[from] AsyncFdRegisterError<PktInfoUdpSocket>),
}
pub async fn handle_connection<F, Fut>(
@@ -161,7 +163,8 @@ where
let addr: SocketAddr = (ip, 69).into();
socket.bind(&addr.into())?;
let async_fd = AsyncFd::new(socket)?;
let async_fd = unsafe { AsyncFd::register(socket)? };
let mut buf = [0u8; PACKET_SIZE];
println!("Tftp server started on {addr}");