From 3759e8be8e9a44e99af3e991ef5a2226b060a790 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Sun, 6 Oct 2024 22:03:35 +0300 Subject: [PATCH 01/12] Refactor? --- Cargo.lock | 1 + Cargo.toml | 1 + src/check.rs | 144 ++++++++++++++++++++++------------------------ src/docker.rs | 33 +++-------- src/formatting.rs | 1 + src/image.rs | 123 ++++++++++++++++++++++++++++++++------- src/main.rs | 22 ++++--- src/registry.rs | 39 ++++++------- src/server.rs | 6 +- src/utils.rs | 60 ------------------- 10 files changed, 217 insertions(+), 213 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f692100..ea54a91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -354,6 +354,7 @@ dependencies = [ "reqwest", "reqwest-middleware", "reqwest-retry", + "rustc-hash", "termsize", "tokio", "xitca-web", diff --git a/Cargo.toml b/Cargo.toml index 94e909d..719db00 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ reqwest = { version = "0.12.7", default-features = false, features = ["rustls-tl futures = "0.3.30" reqwest-retry = "0.6.1" reqwest-middleware = "0.3.3" +rustc-hash = "2.0.0" [features] default = ["server", "cli"] diff --git a/src/check.rs b/src/check.rs index c4f057a..17dc379 100644 --- a/src/check.rs +++ b/src/check.rs @@ -1,106 +1,100 @@ -use std::collections::{HashMap, HashSet}; +use futures::future::join_all; +use rustc_hash::{FxHashMap, FxHashSet}; use crate::{ - debug, - docker::get_images_from_docker_daemon, image::Image, - registry::{check_auth, get_latest_digests, get_token}, - utils::{new_reqwest_client, unsplit_image, CliConfig}, + registry::{check_auth, get_token}, + utils::{new_reqwest_client, CliConfig}, }; -#[cfg(feature = "cli")] -use crate::docker::get_image_from_docker_daemon; -#[cfg(feature = "cli")] use crate::registry::get_latest_digest; +/// Trait for a type that implements a function `unique` that removes any duplicates. +/// In this case, it will be used for a Vec. pub trait Unique { - // So we can filter vecs for duplicates - fn unique(&mut self); + fn unique(&mut self) -> Vec; } impl Unique for Vec where T: Clone + Eq + std::hash::Hash, { - fn unique(self: &mut Vec) { - let mut seen: HashSet = HashSet::new(); + /// Remove duplicates from Vec + fn unique(self: &mut Vec) -> Self { + let mut seen: FxHashSet = FxHashSet::default(); self.retain(|item| seen.insert(item.clone())); + self.to_vec() } } -pub async fn get_all_updates(options: &CliConfig) -> Vec<(String, Option)> { - let local_images = get_images_from_docker_daemon(options).await; - let mut image_map: HashMap> = HashMap::with_capacity(local_images.len()); - for image in &local_images { - let img = unsplit_image(image); - image_map.insert(img, image.digest.clone()); - } - let mut registries: Vec<&String> = local_images.iter().map(|image| &image.registry).collect(); - registries.unique(); - let mut remote_images: Vec = Vec::with_capacity(local_images.len()); +/// Returns a list of updates for all images passed in. +pub async fn get_updates(images: &[Image], options: &CliConfig) -> Vec<(String, Option)> { + // Get a list of unique registries our images belong to. We are unwrapping the registry because it's guaranteed to be there. + let registries: Vec<&String> = images + .iter() + .map(|image| image.registry.as_ref().unwrap()) + .collect::>() + .unique(); + + // Create request client. All network requests share the same client for better performance. + // This client is also configured to retry a failed request up to 3 times with exponential backoff in between. let client = new_reqwest_client(); + + // Create a map of images indexed by registry. This solution seems quite inefficient, since each iteration causes a key to be looked up. I can't find anything better at the moment. + let mut image_map: FxHashMap<&String, Vec<&Image>> = FxHashMap::default(); + + for image in images { + image_map + .entry(image.registry.as_ref().unwrap()) + .or_default() + .push(image); + } + + // Retrieve an authentication token (if required) for each registry. + let mut tokens: FxHashMap<&String, Option> = FxHashMap::default(); for registry in registries { - if options.verbose { - debug!("Checking images from registry {}", registry) - } - let images: Vec<&Image> = local_images - .iter() - .filter(|image| &image.registry == registry) - .collect(); let credentials = options.config["authentication"][registry] .clone() .take_string() .or(None); - let mut latest_images = match check_auth(registry, options, &client).await { + match check_auth(registry, options, &client).await { Some(auth_url) => { - let token = get_token(images.clone(), &auth_url, &credentials, &client).await; - if options.verbose { - debug!("Using token {}", token); - } - get_latest_digests(images, Some(&token), options, &client).await + let token = get_token( + image_map.get(registry).unwrap(), + &auth_url, + &credentials, + &client, + ) + .await; + tokens.insert(registry, Some(token)); } - None => get_latest_digests(images, None, options, &client).await, - }; - remote_images.append(&mut latest_images); - } - if options.verbose { - debug!("Collecting results") - } - let mut result: Vec<(String, Option)> = Vec::new(); - remote_images.iter().for_each(|image| { - let img = unsplit_image(image); - match &image.digest { - Some(d) => { - let r = d != image_map.get(&img).unwrap().as_ref().unwrap(); - result.push((img, Some(r))) + None => { + tokens.insert(registry, None); } - None => result.push((img, None)), } - }); - result -} + } -#[cfg(feature = "cli")] -pub async fn get_update(image: &str, options: &CliConfig) -> Option { - let local_image = get_image_from_docker_daemon(options.socket.clone(), image).await; - let credentials = options.config["authentication"][&local_image.registry] - .clone() - .take_string() - .or(None); - let client = new_reqwest_client(); - let token = match check_auth(&local_image.registry, options, &client).await { - Some(auth_url) => get_token(vec![&local_image], &auth_url, &credentials, &client).await, - None => String::new(), - }; - if options.verbose { - debug!("Using token {}", token); - }; - let remote_image = match token.as_str() { - "" => get_latest_digest(&local_image, None, options, &client).await, - _ => get_latest_digest(&local_image, Some(&token), options, &client).await, - }; - match &remote_image.digest { - Some(d) => Some(d != &local_image.digest.unwrap()), - None => None, + // Create a Vec to store futures so we can await them all at once. + let mut handles = Vec::new(); + // Loop through images and get the latest digest for each + for image in images { + let token = tokens.get(&image.registry.as_ref().unwrap()).unwrap(); + let future = get_latest_digest(image, token.as_ref(), options, &client); + handles.push(future); } + // Await all the futures + let final_images = join_all(handles).await; + + let mut result: Vec<(String, Option)> = Vec::with_capacity(images.len()); + final_images + .iter() + .for_each(|image| match &image.remote_digest { + Some(digest) => { + let has_update = !image.local_digests.as_ref().unwrap().contains(digest); + result.push((image.reference.clone(), Some(has_update))) + } + None => result.push((image.reference.clone(), None)), + }); + + result } diff --git a/src/docker.rs b/src/docker.rs index 7e925b2..5db4dc7 100644 --- a/src/docker.rs +++ b/src/docker.rs @@ -4,11 +4,7 @@ use bollard::{secret::ImageSummary, ClientVersion, Docker}; use bollard::secret::ImageInspect; use futures::future::join_all; -use crate::{ - error, - image::Image, - utils::{split_image, CliConfig}, -}; +use crate::{error, image::Image, utils::CliConfig}; fn create_docker_client(socket: Option) -> Docker { let client: Result = match socket { @@ -39,37 +35,24 @@ pub async fn get_images_from_docker_daemon(options: &CliConfig) -> Vec { }; let mut handles = Vec::new(); for image in images { - handles.push(Image::from(image, options)) + handles.push(Image::from_summary(image, options)) } join_all(handles) .await .iter() - .filter(|img| img.is_some()) - .map(|img| img.clone().unwrap()) + .filter_map(|img| img.clone()) .collect() } #[cfg(feature = "cli")] -pub async fn get_image_from_docker_daemon(socket: Option, name: &str) -> Image { - let client: Docker = create_docker_client(socket); +pub async fn get_image_from_docker_daemon(socket: &Option, name: &str) -> Image { + let client: Docker = create_docker_client(socket.clone()); let image: ImageInspect = match client.inspect_image(name).await { Ok(i) => i, Err(e) => error!("Failed to retrieve image {} from daemon\n{}", name, e), }; - match image.repo_tags { - Some(_) => (), - None => error!("Image has no tags"), // I think this is actually unreachable - } - match image.repo_digests { - Some(d) => { - let (registry, repository, tag) = split_image(&image.repo_tags.unwrap()[0]); - Image { - registry, - repository, - tag, - digest: Some(d[0].clone().split('@').collect::>()[1].to_string()), - } - } - None => error!("No digests found for image {}", name), + match Image::from_inspect(image).await { + Some(img) => img, + None => error!("No valid tags or digests for image!"), } } diff --git a/src/formatting.rs b/src/formatting.rs index 87f78f9..6740668 100644 --- a/src/formatting.rs +++ b/src/formatting.rs @@ -67,6 +67,7 @@ pub struct Spinner { } impl Spinner { + #[allow(clippy::new_without_default)] pub fn new() -> Spinner { let spinner = ProgressBar::new_spinner(); let style: &[&str] = &["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]; diff --git a/src/image.rs b/src/image.rs index c28a921..035f7a2 100644 --- a/src/image.rs +++ b/src/image.rs @@ -1,34 +1,45 @@ -use bollard::secret::ImageSummary; +use bollard::secret::{ImageInspect, ImageSummary}; +use once_cell::sync::Lazy; +use regex::Regex; -use crate::{ - debug, - utils::{split_image, CliConfig}, -}; +use crate::{debug, error, utils::CliConfig}; +/// Image struct that contains all information that may be needed by a function. +/// It's designed to be passed around between functions #[derive(Clone, Debug)] pub struct Image { - pub registry: String, - pub repository: String, - pub tag: String, - pub digest: Option, + pub reference: String, + pub registry: Option, + pub repository: Option, + pub tag: Option, + pub local_digests: Option>, + pub remote_digest: Option, } impl Image { - pub async fn from(image: ImageSummary, options: &CliConfig) -> Option { + /// Creates an populates the fields of an Image object based on the ImageSummary from the Docker daemon + pub async fn from_summary(image: ImageSummary, options: &CliConfig) -> Option { if !image.repo_tags.is_empty() && !image.repo_digests.is_empty() { - let (registry, repository, tag) = split_image(&image.repo_tags[0]); - let image = Image { - registry, - repository, - tag, - digest: Some( - image.repo_digests[0] + let mut image = Image { + reference: image.repo_tags[0].clone(), + registry: None, + repository: None, + tag: None, + local_digests: Some( + image + .repo_digests .clone() - .split('@') - .collect::>()[1] - .to_string(), + .iter() + .map(|digest| digest.split('@').collect::>()[1].to_string()) + .collect(), ), + remote_digest: None, }; + let (registry, repository, tag) = image.split(); + image.registry = Some(registry); + image.repository = Some(repository); + image.tag = Some(tag); + return Some(image); } else if options.verbose { debug!( @@ -38,4 +49,76 @@ impl Image { } None } + + pub async fn from_inspect(image: ImageInspect) -> Option { + if image.repo_tags.is_some() + && !image.repo_tags.as_ref().unwrap().is_empty() + && image.repo_digests.is_some() + && !image.repo_digests.as_ref().unwrap().is_empty() + { + let mut image = Image { + reference: image.repo_tags.as_ref().unwrap()[0].clone(), + registry: None, + repository: None, + tag: None, + local_digests: Some( + image + .repo_digests + .unwrap() + .clone() + .iter() + .map(|digest| digest.split('@').collect::>()[1].to_string()) + .collect(), + ), + remote_digest: None, + }; + let (registry, repository, tag) = image.split(); + image.registry = Some(registry); + image.repository = Some(repository); + image.tag = Some(tag); + + return Some(image); + } + None + } + + /// Takes an image and splits it into registry, repository and tag, based on the reference. + /// For example, `ghcr.io/sergi0g/cup:latest` becomes `['ghcr.io', 'sergi0g/cup', 'latest']`. + pub fn split(&self) -> (String, String, String) { + match RE.captures(&self.reference) { + Some(c) => { + let registry = match c.name("registry") { + Some(registry) => registry.as_str().to_owned(), + None => String::from("registry-1.docker.io"), + }; + return ( + registry.clone(), + match c.name("repository") { + Some(repository) => { + let repo = repository.as_str().to_owned(); + if !repo.contains('/') && registry == "registry-1.docker.io" { + format!("library/{}", repo) + } else { + repo + } + } + None => error!("Failed to parse image {}", &self.reference), + }, + match c.name("tag") { + Some(tag) => tag.as_str().to_owned(), + None => String::from("latest"), + }, + ); + } + None => error!("Failed to parse image {}", &self.reference), + } + } } + +/// Regex to match Docker image references against, so registry, repository and tag can be extracted. +static RE: Lazy = Lazy::new(|| { + Regex::new( + r#"^(?P(?:(?P(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P[\w][\w.-]{0,127}))?$"#, // From https://regex101.com/r/nmSDPA/1 + ) + .unwrap() +}); diff --git a/src/main.rs b/src/main.rs index b14439c..2198407 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,9 @@ -#[cfg(feature = "cli")] -use check::{get_all_updates, get_update}; +use check::get_updates; use chrono::Local; use clap::{Parser, Subcommand}; +use docker::{get_image_from_docker_daemon, get_images_from_docker_daemon}; #[cfg(feature = "cli")] -use formatting::{print_raw_update, print_raw_updates, print_update, print_updates, Spinner}; +use formatting::{print_raw_updates, print_updates, Spinner}; #[cfg(feature = "server")] use server::serve; use std::path::PathBuf; @@ -89,22 +89,28 @@ async fn main() { #[cfg(feature = "cli")] Some(Commands::Check { image, icons, raw }) => match image { Some(name) => { - let has_update = get_update(name, &cli_config).await; + // This is a single update, but it's in a Vec so let's just call it updates + let updates = get_updates( + &[get_image_from_docker_daemon(&cli_config.socket, name).await], + &cli_config, + ) + .await; match raw { - true => print_raw_update(name, &has_update), - false => print_update(name, &has_update), + false => print_updates(&updates, icons), + true => print_raw_updates(&updates), }; } None => { let start = Local::now().timestamp_millis(); + let images = get_images_from_docker_daemon(&cli_config).await; match raw { true => { - let updates = get_all_updates(&cli_config).await; + let updates = get_updates(&images, &cli_config).await; print_raw_updates(&updates); } false => { let spinner = Spinner::new(); - let updates = get_all_updates(&cli_config).await; + let updates = get_updates(&images, &cli_config).await; spinner.succeed(); let end = Local::now().timestamp_millis(); print_updates(&updates, icons); diff --git a/src/registry.rs b/src/registry.rs index 643f165..259c29a 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -1,4 +1,3 @@ -use futures::future::join_all; use json::JsonValue; use http_auth::parse_challenges; @@ -74,7 +73,10 @@ pub async fn get_latest_digest( }; let mut request = client.head(format!( "{}://{}/v2/{}/manifests/{}", - protocol, &image.registry, &image.repository, &image.tag + protocol, + &image.registry.as_ref().unwrap(), + &image.repository.as_ref().unwrap(), + &image.tag.as_ref().unwrap() )); if let Some(t) = token { request = request.header("Authorization", &format!("Bearer {}", t)); @@ -87,14 +89,14 @@ pub async fn get_latest_digest( let status = response.status(); if status == 401 { if token.is_some() { - warn!("Failed to authenticate to registry {} with given token!\n{}", &image.registry, token.unwrap()); + warn!("Failed to authenticate to registry {} with given token!\n{}", &image.registry.as_ref().unwrap(), token.unwrap()); } else { warn!("Registry requires authentication"); } - return Image { digest: None, ..image.clone() } + return Image { remote_digest: None, ..image.clone() } } else if status == 404 { warn!("Image {:?} not found", &image); - return Image { digest: None, ..image.clone() } + return Image { remote_digest: None, ..image.clone() } } else { response } @@ -102,7 +104,7 @@ pub async fn get_latest_digest( Err(e) => { if e.is_connect() { warn!("Connection to registry failed."); - return Image { digest: None, ..image.clone() } + return Image { remote_digest: None, ..image.clone() } } else { error!("Unexpected error: {}", e.to_string()) } @@ -110,7 +112,7 @@ pub async fn get_latest_digest( }; match raw_response.headers().get("docker-content-digest") { Some(digest) => Image { - digest: Some(digest.to_str().unwrap().to_string()), + remote_digest: Some(digest.to_str().unwrap().to_string()), ..image.clone() }, None => error!( @@ -120,28 +122,19 @@ pub async fn get_latest_digest( } } -pub async fn get_latest_digests( - images: Vec<&Image>, - token: Option<&String>, - options: &CliConfig, - client: &ClientWithMiddleware, -) -> Vec { - let mut handles = Vec::new(); - for image in images { - handles.push(get_latest_digest(image, token, options, client)) - } - join_all(handles).await -} - pub async fn get_token( - images: Vec<&Image>, + images: &Vec<&Image>, auth_url: &str, credentials: &Option, client: &ClientWithMiddleware, ) -> String { let mut final_url = auth_url.to_owned(); - for image in &images { - final_url = format!("{}&scope=repository:{}:pull", final_url, image.repository); + for image in images { + final_url = format!( + "{}&scope=repository:{}:pull", + final_url, + image.repository.as_ref().unwrap() + ); } let mut base_request = client .get(&final_url) diff --git a/src/server.rs b/src/server.rs index 3d2901e..95735e0 100644 --- a/src/server.rs +++ b/src/server.rs @@ -14,7 +14,8 @@ use xitca_web::{ }; use crate::{ - check::get_all_updates, + check::get_updates, + docker::get_images_from_docker_daemon, error, info, utils::{sort_update_vec, to_json, CliConfig}, }; @@ -118,7 +119,8 @@ impl ServerData { if !self.raw_updates.is_empty() { info!("Refreshing data"); } - let updates = sort_update_vec(&get_all_updates(&self.options).await); + let images = get_images_from_docker_daemon(&self.options).await; + let updates = sort_update_vec(&get_updates(&images, &self.options).await); let end = Local::now().timestamp_millis(); info!("✨ Checked {} images in {}ms", updates.len(), end - start); self.raw_updates = updates; diff --git a/src/utils.rs b/src/utils.rs index f34ff6b..73a18fc 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,69 +1,9 @@ use std::path::PathBuf; -use crate::{error, image::Image}; use json::{object, JsonValue}; -use once_cell::sync::Lazy; -use regex::Regex; use reqwest_middleware::{ClientBuilder, ClientWithMiddleware}; use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware}; -static RE: Lazy = Lazy::new(|| { - Regex::new( - r#"^(?P(?:(?P(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P[\w][\w.-]{0,127}))?$"#, // From https://regex101.com/r/nmSDPA/1 - ) - .unwrap() -}); - -/// Takes an image and splits it into registry, repository and tag. For example ghcr.io/sergi0g/cup:latest becomes ['ghcr.io', 'sergi0g/cup', 'latest']. -pub fn split_image(image: &str) -> (String, String, String) { - match RE.captures(image) { - Some(c) => { - let registry = match c.name("registry") { - Some(registry) => registry.as_str().to_owned(), - None => String::from("registry-1.docker.io"), - }; - return ( - registry.clone(), - match c.name("repository") { - Some(repository) => { - let repo = repository.as_str().to_owned(); - if !repo.contains('/') && registry == "registry-1.docker.io" { - format!("library/{}", repo) - } else { - repo - } - } - None => error!("Failed to parse image {}", image), - }, - match c.name("tag") { - Some(tag) => tag.as_str().to_owned(), - None => String::from("latest"), - }, - ); - } - None => error!("Failed to parse image {}", image), - } -} - -/// Given an image's parts which were previously created by split_image, recreate a reference that docker would use. This means removing the registry part, if it's Docker Hub and removing "library" if the image is official -pub fn unsplit_image(image: &Image) -> String { - let reg = match image.registry.as_str() { - "registry-1.docker.io" => String::new(), - r => format!("{}/", r), - }; - let repo = match image.repository.split('/').collect::>()[0] { - "library" => { - if reg.is_empty() { - image.repository.strip_prefix("library/").unwrap() - } else { - image.repository.as_str() - } - } - _ => image.repository.as_str(), - }; - format!("{}{}:{}", reg, repo, image.tag) -} - /// Sorts the update vector alphabetically and where Some(true) > Some(false) > None pub fn sort_update_vec(updates: &[(String, Option)]) -> Vec<(String, Option)> { let mut sorted_updates = updates.to_vec(); From bec9c2f9b3ca2760918d35ce8622d71408df5d29 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 16:55:21 +0300 Subject: [PATCH 02/12] Refactor code --- Cargo.lock | 13 +++--- src/docker.rs | 103 ++++++++++++++++++++++++++++++++-------------- src/formatting.rs | 20 --------- src/image.rs | 2 +- src/main.rs | 60 +++++++++++---------------- src/server.rs | 2 +- 6 files changed, 107 insertions(+), 93 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ea54a91..b41c11b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1461,18 +1461,18 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", @@ -1481,11 +1481,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] diff --git a/src/docker.rs b/src/docker.rs index 5db4dc7..db2e842 100644 --- a/src/docker.rs +++ b/src/docker.rs @@ -1,7 +1,5 @@ -use bollard::{secret::ImageSummary, ClientVersion, Docker}; +use bollard::{models::ImageInspect, ClientVersion, Docker}; -#[cfg(feature = "cli")] -use bollard::secret::ImageInspect; use futures::future::join_all; use crate::{error, image::Image, utils::CliConfig}; @@ -25,34 +23,79 @@ fn create_docker_client(socket: Option) -> Docker { } } -pub async fn get_images_from_docker_daemon(options: &CliConfig) -> Vec { +/// Retrieves images from Docker daemon. If `references` is Some, return only the images whose references match the ones specified. +pub async fn get_images_from_docker_daemon( + options: &CliConfig, + references: &Option>, +) -> Vec { let client: Docker = create_docker_client(options.socket.clone()); - let images: Vec = match client.list_images::(None).await { - Ok(images) => images, - Err(e) => { - error!("Failed to retrieve list of images available!\n{}", e) + // If https://github.com/moby/moby/issues/48612 is fixed, this code should be faster. For now a workaround will be used. + // let mut filters = HashMap::with_capacity(1); + // match references { + // Some(refs) => { + // filters.insert("reference".to_string(), refs.clone()); + // } + // None => (), + // } + // let images: Vec = match client + // .list_images::(Some(ListImagesOptions { + // filters, + // ..Default::default() + // })) + // .await + // { + // Ok(images) => images, + // Err(e) => { + // error!("Failed to retrieve list of images available!\n{}", e) + // } + // }; + // let mut handles = Vec::new(); + // for image in images { + // handles.push(Image::from(image, options)) + // } + // join_all(handles) + // .await + // .iter() + // .filter_map(|img| img.clone()) + // .collect() + match references { + Some(refs) => { + let mut inspect_handles = Vec::with_capacity(refs.len()); + for reference in refs { + inspect_handles.push(client.inspect_image(reference)); + } + let inspects: Vec = join_all(inspect_handles) + .await + .iter() + .filter(|inspect| inspect.is_ok()) + .map(|inspect| inspect.as_ref().unwrap().clone()) + .collect(); + let mut image_handles = Vec::with_capacity(inspects.len()); + for inspect in inspects { + image_handles.push(Image::from_inspect(inspect.clone())); + } + join_all(image_handles) + .await + .iter() + .filter_map(|img| img.clone()) + .collect() + } + None => { + let images = match client.list_images::(None).await { + Ok(images) => images, + Err(e) => { + error!("Failed to retrieve list of images available!\n{}", e) + } + }; + let mut handles = Vec::new(); + for image in images { + handles.push(Image::from_summary(image, options)) + } + join_all(handles) + .await + .iter() + .filter_map(|img| img.clone()) + .collect() } - }; - let mut handles = Vec::new(); - for image in images { - handles.push(Image::from_summary(image, options)) - } - join_all(handles) - .await - .iter() - .filter_map(|img| img.clone()) - .collect() -} - -#[cfg(feature = "cli")] -pub async fn get_image_from_docker_daemon(socket: &Option, name: &str) -> Image { - let client: Docker = create_docker_client(socket.clone()); - let image: ImageInspect = match client.inspect_image(name).await { - Ok(i) => i, - Err(e) => error!("Failed to retrieve image {} from daemon\n{}", name, e), - }; - match Image::from_inspect(image).await { - Some(img) => img, - None => error!("No valid tags or digests for image!"), } } diff --git a/src/formatting.rs b/src/formatting.rs index 6740668..845af87 100644 --- a/src/formatting.rs +++ b/src/formatting.rs @@ -1,7 +1,6 @@ use std::time::Duration; use indicatif::{ProgressBar, ProgressStyle}; -use json::object; use crate::utils::{sort_update_vec, to_json}; @@ -43,25 +42,6 @@ pub fn print_raw_updates(updates: &[(String, Option)]) { println!("{}", json::stringify(to_json(updates))); } -pub fn print_update(name: &str, has_update: &Option) { - let color = match has_update { - Some(true) => "\u{001b}[38;5;12m", - Some(false) => "\u{001b}[38;5;2m", - None => "\u{001b}[38;5;8m", - }; - let description = match has_update { - Some(true) => "has an update available", - Some(false) => "is up to date", - None => "wasn't found", - }; - println!("{}{} {}", color, name, description); -} - -pub fn print_raw_update(name: &str, has_update: &Option) { - let result = object! {images: {[name]: *has_update}}; - println!("{}", result); -} - pub struct Spinner { spinner: ProgressBar, } diff --git a/src/image.rs b/src/image.rs index 035f7a2..f2ab5d3 100644 --- a/src/image.rs +++ b/src/image.rs @@ -1,4 +1,4 @@ -use bollard::secret::{ImageInspect, ImageSummary}; +use bollard::models::{ImageInspect, ImageSummary}; use once_cell::sync::Lazy; use regex::Regex; diff --git a/src/main.rs b/src/main.rs index 2198407..36e697d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use check::get_updates; use chrono::Local; use clap::{Parser, Subcommand}; -use docker::{get_image_from_docker_daemon, get_images_from_docker_daemon}; +use docker::get_images_from_docker_daemon; #[cfg(feature = "cli")] use formatting::{print_raw_updates, print_updates, Spinner}; #[cfg(feature = "server")] @@ -41,8 +41,8 @@ struct Cli { enum Commands { #[cfg(feature = "cli")] Check { - #[arg(default_value = None)] - image: Option, + #[arg(name = "Images", default_value = None)] + references: Option>, #[arg(short, long, default_value_t = false, help = "Enable icons")] icons: bool, #[arg( @@ -87,38 +87,28 @@ async fn main() { } match &cli.command { #[cfg(feature = "cli")] - Some(Commands::Check { image, icons, raw }) => match image { - Some(name) => { - // This is a single update, but it's in a Vec so let's just call it updates - let updates = get_updates( - &[get_image_from_docker_daemon(&cli_config.socket, name).await], - &cli_config, - ) - .await; - match raw { - false => print_updates(&updates, icons), - true => print_raw_updates(&updates), - }; - } - None => { - let start = Local::now().timestamp_millis(); - let images = get_images_from_docker_daemon(&cli_config).await; - match raw { - true => { - let updates = get_updates(&images, &cli_config).await; - print_raw_updates(&updates); - } - false => { - let spinner = Spinner::new(); - let updates = get_updates(&images, &cli_config).await; - spinner.succeed(); - let end = Local::now().timestamp_millis(); - print_updates(&updates, icons); - info!("✨ Checked {} images in {}ms", updates.len(), end - start); - } - }; - } - }, + Some(Commands::Check { + references, + icons, + raw, + }) => { + let start = Local::now().timestamp_millis(); + let images = get_images_from_docker_daemon(&cli_config, references).await; + match raw { + true => { + let updates = get_updates(&images, &cli_config).await; + print_raw_updates(&updates); + } + false => { + let spinner = Spinner::new(); + let updates = get_updates(&images, &cli_config).await; + spinner.succeed(); + let end = Local::now().timestamp_millis(); + print_updates(&updates, icons); + info!("✨ Checked {} images in {}ms", updates.len(), end - start); + } + }; + } #[cfg(feature = "server")] Some(Commands::Serve { port }) => { let _ = serve(port, &cli_config).await; diff --git a/src/server.rs b/src/server.rs index 95735e0..84ddb9d 100644 --- a/src/server.rs +++ b/src/server.rs @@ -119,7 +119,7 @@ impl ServerData { if !self.raw_updates.is_empty() { info!("Refreshing data"); } - let images = get_images_from_docker_daemon(&self.options).await; + let images = get_images_from_docker_daemon(&self.options, &None).await; let updates = sort_update_vec(&get_updates(&images, &self.options).await); let end = Local::now().timestamp_millis(); info!("✨ Checked {} images in {}ms", updates.len(), end - start); From be1082d0bc1126b2be2561e30074f92ac42dd232 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 18:12:41 +0300 Subject: [PATCH 03/12] =?UTF-8?q?Created=20a=20Config=20struct=20that=20re?= =?UTF-8?q?places=20CliConfig=20and=20added=20JSON=20validation=20?= =?UTF-8?q?=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/check.rs | 15 ++---- src/config.rs | 129 ++++++++++++++++++++++++++++++++++++++++++++++++ src/docker.rs | 8 +-- src/image.rs | 9 +--- src/main.rs | 33 +++---------- src/registry.rs | 19 +++---- src/server.rs | 32 +++++------- src/utils.rs | 8 --- 8 files changed, 165 insertions(+), 88 deletions(-) create mode 100644 src/config.rs diff --git a/src/check.rs b/src/check.rs index 17dc379..060d7b8 100644 --- a/src/check.rs +++ b/src/check.rs @@ -2,9 +2,7 @@ use futures::future::join_all; use rustc_hash::{FxHashMap, FxHashSet}; use crate::{ - image::Image, - registry::{check_auth, get_token}, - utils::{new_reqwest_client, CliConfig}, + config::Config, image::Image, registry::{check_auth, get_token}, utils::new_reqwest_client }; use crate::registry::get_latest_digest; @@ -28,7 +26,7 @@ where } /// Returns a list of updates for all images passed in. -pub async fn get_updates(images: &[Image], options: &CliConfig) -> Vec<(String, Option)> { +pub async fn get_updates(images: &[Image], config: &Config) -> Vec<(String, Option)> { // Get a list of unique registries our images belong to. We are unwrapping the registry because it's guaranteed to be there. let registries: Vec<&String> = images .iter() @@ -53,11 +51,8 @@ pub async fn get_updates(images: &[Image], options: &CliConfig) -> Vec<(String, // Retrieve an authentication token (if required) for each registry. let mut tokens: FxHashMap<&String, Option> = FxHashMap::default(); for registry in registries { - let credentials = options.config["authentication"][registry] - .clone() - .take_string() - .or(None); - match check_auth(registry, options, &client).await { + let credentials = config.authentication.get(registry); + match check_auth(registry, config, &client).await { Some(auth_url) => { let token = get_token( image_map.get(registry).unwrap(), @@ -79,7 +74,7 @@ pub async fn get_updates(images: &[Image], options: &CliConfig) -> Vec<(String, // Loop through images and get the latest digest for each for image in images { let token = tokens.get(&image.registry.as_ref().unwrap()).unwrap(); - let future = get_latest_digest(image, token.as_ref(), options, &client); + let future = get_latest_digest(image, token.as_ref(), config, &client); handles.push(future); } // Await all the futures diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..f495a9e --- /dev/null +++ b/src/config.rs @@ -0,0 +1,129 @@ +use std::path::PathBuf; + +use rustc_hash::FxHashMap; + +use crate::error; + +const VALID_KEYS: [&str; 4] = ["authentication", "theme", "insecure_registries", "socket"]; + +#[derive(Clone)] +pub enum Theme { + Default, + Blue, +} + +#[derive(Clone)] +pub struct Config { + pub authentication: FxHashMap, + pub theme: Theme, + pub insecure_registries: Vec, + pub socket: Option, +} + +impl Config { + /// A stupid new function that exists just so calling `load` doesn't require a self argument + pub fn new() -> Self { + Self { + authentication: FxHashMap::default(), + theme: Theme::Default, + insecure_registries: Vec::with_capacity(0), + socket: None + } + } + /// Reads the config from the file path provided and returns the parsed result. + pub fn load(&self, path: Option) -> Self { + let raw_config = match &path { + Some(path) => std::fs::read_to_string(path), + None => Ok(String::from("{}")), // Empty config + }; + if raw_config.is_err() { + panic!( + "Failed to read config file from {}. Are you sure the file exists?", + &path.unwrap().to_str().unwrap() + ) + }; + self.parse(&raw_config.unwrap()) // We can safely unwrap here + } + /// Parses and validates the config. The process is quite manual and I would rather use a library, but I don't want to grow the dependency tree, for a config as simple as this one. + /// Many of these checks are stupid, but we either validate the config properly, or we don't at all, so... this is the result. I _am not_ proud of this code. + pub fn parse(&self, raw_config: &str) -> Self { + let json = match json::parse(raw_config) { + Ok(v) => v, + Err(e) => panic!("Failed to parse config!\n{}", e), + }; + // In the code, raw_ means the JsonValue from the parsed config, before it's validated. + + // Authentication + let raw_authentication = &json["authentication"]; + if !raw_authentication.is_null() && !raw_authentication.is_object() { + error!("Config key `authentication` must be an object!"); + } + let mut authentication: FxHashMap = FxHashMap::default(); + raw_authentication.entries().for_each(|(registry, key)| { + if !key.is_string() { + error!("Config key `authentication.{}` must be a string!", registry); + } + authentication.insert(registry.to_string(), key.to_string()); + }); + + // Theme + let raw_theme = &json["theme"]; + if !raw_theme.is_null() && !raw_theme.is_string() { + error!("Config key `theme` must be a string!"); + } + let theme: Theme = { + if raw_theme.is_null() { + Theme::Default + } else { + match raw_theme.as_str().unwrap() { + "default" => Theme::Default, + "blue" => Theme::Blue, + _ => { + error!("Config key `theme` must be one of: `default`, `blue`!"); + } + } + } + }; + + // Insecure registries + let raw_insecure_registries = &json["insecure_registries"]; + if !raw_insecure_registries.is_null() && !raw_insecure_registries.is_array() { + error!("Config key `insecure_registries` must be an array!"); + } + let insecure_registries: Vec = raw_insecure_registries + .members() + .map(|registry| { + if !registry.is_string() { + error!("Config key `insecure_registries` must only consist of strings!"); + } else { + registry.as_str().unwrap().to_owned() + } + }) + .collect(); + + // Socket + let raw_socket = &json["socket"]; + if !raw_socket.is_null() && !raw_socket.is_string() { + error!("Config key `socket` must be a string!"); + } + let socket: Option = if raw_socket.is_null() { + None + } else { + Some(raw_socket.to_string()) + }; + + // Check for extra keys + json.entries().for_each(|(key, _)| { + if !VALID_KEYS.contains(&key) { + error!("Invalid key `{}`", key) + } + }); + + Self { + authentication, + theme, + insecure_registries, + socket, + } + } +} diff --git a/src/docker.rs b/src/docker.rs index db2e842..06c67c6 100644 --- a/src/docker.rs +++ b/src/docker.rs @@ -2,7 +2,7 @@ use bollard::{models::ImageInspect, ClientVersion, Docker}; use futures::future::join_all; -use crate::{error, image::Image, utils::CliConfig}; +use crate::{error, image::Image, config::Config}; fn create_docker_client(socket: Option) -> Docker { let client: Result = match socket { @@ -25,10 +25,10 @@ fn create_docker_client(socket: Option) -> Docker { /// Retrieves images from Docker daemon. If `references` is Some, return only the images whose references match the ones specified. pub async fn get_images_from_docker_daemon( - options: &CliConfig, + config: &Config, references: &Option>, ) -> Vec { - let client: Docker = create_docker_client(options.socket.clone()); + let client: Docker = create_docker_client(config.socket.clone()); // If https://github.com/moby/moby/issues/48612 is fixed, this code should be faster. For now a workaround will be used. // let mut filters = HashMap::with_capacity(1); // match references { @@ -89,7 +89,7 @@ pub async fn get_images_from_docker_daemon( }; let mut handles = Vec::new(); for image in images { - handles.push(Image::from_summary(image, options)) + handles.push(Image::from_summary(image)) } join_all(handles) .await diff --git a/src/image.rs b/src/image.rs index f2ab5d3..6265d63 100644 --- a/src/image.rs +++ b/src/image.rs @@ -2,7 +2,7 @@ use bollard::models::{ImageInspect, ImageSummary}; use once_cell::sync::Lazy; use regex::Regex; -use crate::{debug, error, utils::CliConfig}; +use crate::error; /// Image struct that contains all information that may be needed by a function. /// It's designed to be passed around between functions @@ -18,7 +18,7 @@ pub struct Image { impl Image { /// Creates an populates the fields of an Image object based on the ImageSummary from the Docker daemon - pub async fn from_summary(image: ImageSummary, options: &CliConfig) -> Option { + pub async fn from_summary(image: ImageSummary) -> Option { if !image.repo_tags.is_empty() && !image.repo_digests.is_empty() { let mut image = Image { reference: image.repo_tags[0].clone(), @@ -41,11 +41,6 @@ impl Image { image.tag = Some(tag); return Some(image); - } else if options.verbose { - debug!( - "Skipped an image\nTags: {:#?}\nDigests: {:#?}", - image.repo_tags, image.repo_digests - ) } None } diff --git a/src/main.rs b/src/main.rs index 36e697d..b0144d3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,15 +1,16 @@ use check::get_updates; use chrono::Local; use clap::{Parser, Subcommand}; +use config::Config; use docker::get_images_from_docker_daemon; #[cfg(feature = "cli")] use formatting::{print_raw_updates, print_updates, Spinner}; #[cfg(feature = "server")] use server::serve; use std::path::PathBuf; -use utils::{load_config, CliConfig}; pub mod check; +pub mod config; pub mod docker; #[cfg(feature = "cli")] pub mod formatting; @@ -26,13 +27,6 @@ struct Cli { socket: Option, #[arg(short, long, default_value_t = String::new(), help = "Config file path")] config_path: String, - #[arg( - short, - long, - default_value_t = false, - help = "Enable verbose (debug) logging" - )] - verbose: bool, #[command(subcommand)] command: Option, } @@ -72,19 +66,8 @@ async fn main() { "" => None, path => Some(PathBuf::from(path)), }; - if cli.verbose { - debug!("CLI options:"); - debug!("Config path: {:?}", cfg_path); - debug!("Socket: {:?}", &cli.socket) - } - let cli_config = CliConfig { - socket: cli.socket, - verbose: cli.verbose, - config: load_config(cfg_path), - }; - if cli.verbose { - debug!("Config: {}", cli_config.config) - } + let mut config = Config::new().load(cfg_path); + config.socket = cli.socket; match &cli.command { #[cfg(feature = "cli")] Some(Commands::Check { @@ -93,15 +76,15 @@ async fn main() { raw, }) => { let start = Local::now().timestamp_millis(); - let images = get_images_from_docker_daemon(&cli_config, references).await; + let images = get_images_from_docker_daemon(&config, references).await; match raw { true => { - let updates = get_updates(&images, &cli_config).await; + let updates = get_updates(&images, &config).await; print_raw_updates(&updates); } false => { let spinner = Spinner::new(); - let updates = get_updates(&images, &cli_config).await; + let updates = get_updates(&images, &config).await; spinner.succeed(); let end = Local::now().timestamp_millis(); print_updates(&updates, icons); @@ -111,7 +94,7 @@ async fn main() { } #[cfg(feature = "server")] Some(Commands::Serve { port }) => { - let _ = serve(port, &cli_config).await; + let _ = serve(port, &config).await; } None => (), } diff --git a/src/registry.rs b/src/registry.rs index 259c29a..11d34d6 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -3,20 +3,14 @@ use json::JsonValue; use http_auth::parse_challenges; use reqwest_middleware::ClientWithMiddleware; -use crate::{debug, error, image::Image, utils::CliConfig, warn}; +use crate::{config::Config, error, image::Image, warn}; pub async fn check_auth( registry: &str, - options: &CliConfig, + config: &Config, client: &ClientWithMiddleware, ) -> Option { - let protocol = if options.config["insecure_registries"].contains(registry) { - if options.verbose { - debug!( - "{} is configured as an insecure registry. Downgrading to HTTP", - registry - ); - }; + let protocol = if config.insecure_registries.contains(®istry.to_string()) { "http" } else { "https" @@ -61,11 +55,10 @@ pub async fn check_auth( pub async fn get_latest_digest( image: &Image, token: Option<&String>, - options: &CliConfig, + config: &Config, client: &ClientWithMiddleware, ) -> Image { - let protocol = if options.config["insecure_registries"] - .contains(json::JsonValue::from(image.registry.clone())) + let protocol = if config.insecure_registries.contains(&image.registry.clone().unwrap()) { "http" } else { @@ -125,7 +118,7 @@ pub async fn get_latest_digest( pub async fn get_token( images: &Vec<&Image>, auth_url: &str, - credentials: &Option, + credentials: &Option<&String>, client: &ClientWithMiddleware, ) -> String { let mut final_url = auth_url.to_owned(); diff --git a/src/server.rs b/src/server.rs index 84ddb9d..0ee6f77 100644 --- a/src/server.rs +++ b/src/server.rs @@ -14,10 +14,7 @@ use xitca_web::{ }; use crate::{ - check::get_updates, - docker::get_images_from_docker_daemon, - error, info, - utils::{sort_update_vec, to_json, CliConfig}, + check::get_updates, config::{Config, Theme}, docker::get_images_from_docker_daemon, info, utils::{sort_update_vec, to_json} }; const HTML: &str = include_str!("static/index.html"); @@ -27,9 +24,9 @@ const FAVICON_ICO: &[u8] = include_bytes!("static/favicon.ico"); const FAVICON_SVG: &[u8] = include_bytes!("static/favicon.svg"); const APPLE_TOUCH_ICON: &[u8] = include_bytes!("static/apple-touch-icon.png"); -pub async fn serve(port: &u16, options: &CliConfig) -> std::io::Result<()> { +pub async fn serve(port: &u16, config: &Config) -> std::io::Result<()> { info!("Starting server, please wait..."); - let data = ServerData::new(options).await; + let data = ServerData::new(config).await; info!("Ready to start!"); App::new() .with_state(Arc::new(Mutex::new(data))) @@ -95,14 +92,14 @@ struct ServerData { template: String, raw_updates: Vec<(String, Option)>, json: JsonValue, - options: CliConfig, + config: Config, theme: &'static str, } impl ServerData { - async fn new(options: &CliConfig) -> Self { + async fn new(config: &Config) -> Self { let mut s = Self { - options: options.clone(), + config: config.clone(), template: String::new(), json: json::object! { metrics: json::object! {}, @@ -119,8 +116,8 @@ impl ServerData { if !self.raw_updates.is_empty() { info!("Refreshing data"); } - let images = get_images_from_docker_daemon(&self.options, &None).await; - let updates = sort_update_vec(&get_updates(&images, &self.options).await); + let images = get_images_from_docker_daemon(&self.config, &None).await; + let updates = sort_update_vec(&get_updates(&images, &self.config).await); let end = Local::now().timestamp_millis(); info!("✨ Checked {} images in {}ms", updates.len(), end - start); self.raw_updates = updates; @@ -143,16 +140,9 @@ impl ServerData { .to_rfc3339_opts(chrono::SecondsFormat::Secs, true) .to_string() .into(); - self.theme = match &self.options.config["theme"].as_str() { - Some(t) => match *t { - "default" => "neutral", - "blue" => "gray", - _ => error!( - "Invalid theme {} specified! Please choose between 'default' and 'blue'", - t - ), - }, - None => "neutral", + self.theme = match &self.config.theme { + Theme::Default => "neutral", + Theme::Blue => "gray" }; let globals = object!({ "metrics": [{"name": "Monitored images", "value": self.json["metrics"]["monitored_images"].as_usize()}, {"name": "Up to date", "value": self.json["metrics"]["up_to_date"].as_usize()}, {"name": "Updates available", "value": self.json["metrics"]["update_available"].as_usize()}, {"name": "Unknown", "value": self.json["metrics"]["unknown"].as_usize()}], diff --git a/src/utils.rs b/src/utils.rs index 73a18fc..87373b7 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -64,14 +64,6 @@ pub fn to_json(updates: &[(String, Option)]) -> JsonValue { json_data } -/// Struct to hold some config values to avoid having to pass them all the time -#[derive(Clone)] -pub struct CliConfig { - pub socket: Option, - pub verbose: bool, - pub config: JsonValue, -} - // Logging /// This macro is an alternative to panic. It prints the message you give it and exits the process with code 1, without printing a stack trace. Useful for when the program has to exit due to a user error or something unexpected which is unrelated to the program (e.g. a failed web request) From 55187f216e52382b17d1919e9eaee0d71a249bb3 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 18:17:52 +0300 Subject: [PATCH 04/12] Fix clippy lint --- src/config.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/config.rs b/src/config.rs index f495a9e..cc4aaac 100644 --- a/src/config.rs +++ b/src/config.rs @@ -22,6 +22,7 @@ pub struct Config { impl Config { /// A stupid new function that exists just so calling `load` doesn't require a self argument + #[allow(clippy::new_without_default)] pub fn new() -> Self { Self { authentication: FxHashMap::default(), From 520665f8917bbce1c7ea52c80e4912e77121389a Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 19:01:53 +0300 Subject: [PATCH 05/12] Fix formatting bug --- src/formatting.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/formatting.rs b/src/formatting.rs index 845af87..4b4cfbd 100644 --- a/src/formatting.rs +++ b/src/formatting.rs @@ -32,7 +32,7 @@ pub fn print_updates(updates: &[(String, Option)], icons: &bool) { let dynamic_space = " ".repeat(term_width - description.len() - icon.len() - update.0.len()); println!( - "{}{}{}{}{}", + "{}{}{}{}{}\u{001b}[0m", color, icon, update.0, dynamic_space, description ); } From ebd8d7218ebee01d5d03627e5d1c0905c8bc14d8 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 19:07:15 +0300 Subject: [PATCH 06/12] Improve socket handling --- src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index b0144d3..5b62500 100644 --- a/src/main.rs +++ b/src/main.rs @@ -67,7 +67,10 @@ async fn main() { path => Some(PathBuf::from(path)), }; let mut config = Config::new().load(cfg_path); - config.socket = cli.socket; + match cli.socket { + Some(socket) => config.socket = Some(socket), + None => () + } match &cli.command { #[cfg(feature = "cli")] Some(Commands::Check { From ea3738cd4d05d6a335c07345cc8d0de8e31b891a Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 19:15:54 +0300 Subject: [PATCH 07/12] Improve logging --- src/utils.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils.rs b/src/utils.rs index 87373b7..f043b10 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -70,7 +70,7 @@ pub fn to_json(updates: &[(String, Option)]) -> JsonValue { #[macro_export] macro_rules! error { ($($arg:tt)*) => ({ - eprintln!("\x1b[41m ERROR \x1b[0m {}", format!($($arg)*)); + eprintln!("\x1b[38:5:204mERROR \x1b[0m {}", format!($($arg)*)); std::process::exit(1); }) } @@ -79,21 +79,21 @@ macro_rules! error { #[macro_export] macro_rules! warn { ($($arg:tt)*) => ({ - eprintln!("\x1b[103m WARN \x1b[0m {}", format!($($arg)*)); + eprintln!("\x1b[38:5:192mWARN \x1b[0m {}", format!($($arg)*)); }) } #[macro_export] macro_rules! info { ($($arg:tt)*) => ({ - println!("\x1b[44m INFO \x1b[0m {}", format!($($arg)*)); + println!("\x1b[38:5:86mINFO \x1b[0m {}", format!($($arg)*)); }) } #[macro_export] macro_rules! debug { ($($arg:tt)*) => ({ - println!("\x1b[48:5:57m DEBUG \x1b[0m {}", format!($($arg)*)); + println!("\x1b[38:5:63mDEBUG \x1b[0m {}", format!($($arg)*)); }) } From d70cfb25883c756a66d17e633afa002dcbce63b3 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 19:37:37 +0300 Subject: [PATCH 08/12] Fix CSS bug in search, update docs --- Cargo.lock | 2 +- Cargo.toml | 2 +- docs/pages/docs/configuration.mdx | 5 +++-- docs/pages/docs/configuration/socket.mdx | 10 ++++++++++ web/src/components/Search.tsx | 6 +++--- web/tailwind.config.js | 10 +++++++--- 6 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 docs/pages/docs/configuration/socket.mdx diff --git a/Cargo.lock b/Cargo.lock index b41c11b..a95f40a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -339,7 +339,7 @@ dependencies = [ [[package]] name = "cup" -version = "2.3.1" +version = "2.4.0" dependencies = [ "bollard", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 719db00..13d389d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cup" -version = "2.3.1" +version = "2.4.0" edition = "2021" [dependencies] diff --git a/docs/pages/docs/configuration.mdx b/docs/pages/docs/configuration.mdx index ee3128f..f4e8ccf 100644 --- a/docs/pages/docs/configuration.mdx +++ b/docs/pages/docs/configuration.mdx @@ -1,5 +1,5 @@ import { Steps, Callout, Card, Cards } from "nextra-theme-docs"; -import { IconPaint, IconLockOpen, IconKey } from '@tabler/icons-react'; +import { IconPaint, IconLockOpen, IconKey, IconPlug } from '@tabler/icons-react'; # Configuration @@ -13,7 +13,8 @@ For example, if using Podman, you might do $ cup -s /run/user/1000/podman/podman.sock check ``` -This option will hopefully be moved to the configuration file soon. +This option is also available in the configuration file and it's best to put it there. +} title="Custom Docker socket" href="/docs/configuration/socket" /> ## Configuration file diff --git a/docs/pages/docs/configuration/socket.mdx b/docs/pages/docs/configuration/socket.mdx new file mode 100644 index 0000000..737b503 --- /dev/null +++ b/docs/pages/docs/configuration/socket.mdx @@ -0,0 +1,10 @@ +# Socket + +If you need to specify a custom Docker socket (e.g. because you're using Podman), you can use the `socket` option. Here's an example: + +```json +{ + "socket": "/run/user/1000/podman/podman.sock" + // Other options +} +``` \ No newline at end of file diff --git a/web/src/components/Search.tsx b/web/src/components/Search.tsx index 28e7a95..dc77ce8 100644 --- a/web/src/components/Search.tsx +++ b/web/src/components/Search.tsx @@ -25,19 +25,19 @@ export default function Search({ return (
{showClear && ( - )} diff --git a/web/tailwind.config.js b/web/tailwind.config.js index 8d292ac..0570cb6 100644 --- a/web/tailwind.config.js +++ b/web/tailwind.config.js @@ -20,12 +20,16 @@ export default { }, { pattern: /bg-(gray|neutral)-800/, - variants: ["before:dark", "after:dark"], + variants: ["before:dark", "after:dark", "dark"], }, { - pattern: /text-(gray|neutral)-400/, + pattern: /text-(gray|neutral)-600/, variants: ["hover"] }, + { + pattern: /text-(gray|neutral)-400/, + variants: ["hover", "dark", "dark:hover"] + }, { pattern: /text-(gray|neutral)-500/, variants: ["dark", "placeholder"], @@ -35,7 +39,7 @@ export default { variants: ["dark"], }, { - pattern: /border-(gray|neutral)-200/, + pattern: /border-(gray|neutral)-300/, }, { pattern: /border-(gray|neutral)-700/, From 789afd772334854a84d89c62a5b7f185a8003da4 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 20:52:33 +0300 Subject: [PATCH 09/12] Update README --- README.md | 11 +++++------ screenshots/web_dark.png | Bin 85114 -> 92294 bytes screenshots/web_light.png | Bin 84903 -> 92479 bytes 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7d4cc3d..6d1cef0 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,11 @@ _If you like this project and/or use Cup, please consider starring the project ## Features -- Extremely fast. Cup takes full advantage of your CPU and is hightly optimized, resulting in lightning fast speed. On my test machine, it took ~12 seconds for ~95 images. +- Extremely fast. Cup takes full advantage of your CPU and is hightly optimized, resulting in lightning fast speed. On my Raspberry Pi 5, it took 3.7 seconds for 58 images! - Supports most registries, including Docker Hub, ghcr.io, Quay, lscr.io and even Gitea (or derivatives) - Doesn't exhaust any rate limits. This is the original reason I created Cup. It was inspired by [What's up docker?](https://github.com/fmartinou/whats-up-docker) which would always use it up. - Beautiful CLI and web interface for checking on your containers any time. -- The binary is tiny! At the time of writing it's just 5.1 MB. No more pulling 100+ MB docker images for a such a simple program. +- The binary is tiny! At the time of writing it's just 5.2 MB. No more pulling 100+ MB docker images for a such a simple program. - JSON output for both the CLI and web interface so you can connect Cup to integrations. It's easy to parse and makes webhooks and pretty dashboards simple to set up! ## Documentation @@ -26,11 +26,10 @@ Take a look at https://sergi0g.github.io/cup/docs! ## Limitations -Cup is a work in progress. It might not have as many features as What's up Docker. If one of these features is really important for you, please consider using another tool. +Cup is a work in progress. It might not have as many features as other alternatives. If one of these features is really important for you, please consider using another tool. -- ~~Cup currently doesn't support registries which use repositories without slashes. This includes Azure. This problem may sound a bit weird, but it's due to the regex that's used at the moment. This will (hopefully) be fixed in the future.~~ -- ~~Cup doesn't support private images. This is on the roadmap. Currently, it just returns unknown for those images.~~ -- Cup cannot trigger your integrations. If you want that to happen automatically, please use What's up docker instead. Cup was created to be simple. The data is there, and it's up to you to retrieve it (e.g. by running `cup check -r` with a cronjob or periodically requesting the `/json` url from the server) +- Cup (currently) does not support semver. +- Cup cannot directly trigger your integrations. If you want that to happen automatically, please use What's up Docker instead. Cup was created to be simple. The data is there, and it's up to you to retrieve it (e.g. by running `cup check -r` with a cronjob or periodically requesting the `/json` url from the server). ## Roadmap Take a sneak peek at what's coming up in future releases on the [roadmap](https://github.com/users/sergi0g/projects/2)! diff --git a/screenshots/web_dark.png b/screenshots/web_dark.png index 7b327bcfec3f28555fbb15994bcfd7c259038a38..575b16a832049767adae73e5ac3df5fa8fda91a7 100644 GIT binary patch literal 92294 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%0Dd+e0@z$z^K9`&z$nu{8O*u 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 Gz5E|laKKRj diff --git a/screenshots/web_light.png b/screenshots/web_light.png index 0359a1367e701ae1c7d3b1dcbdc6b74fca4e6681..5e7eb2e62f41dcaeb8ef3ffc14f34036de899c0e 100644 GIT binary patch literal 92479 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%0D_e4dyD)|B4ZG5>gW~eNCzX7w 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%0Ad)8~O% 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 RV7;ojIeT8Jy?FiC{|1@xE7t%3 From 19d09ea0a18b1ce15085f3acf66c34a636711c44 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 21:09:54 +0300 Subject: [PATCH 10/12] Update docs --- docs/pages/docs/usage/cli.mdx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/pages/docs/usage/cli.mdx b/docs/pages/docs/usage/cli.mdx index bb9e64b..2d79022 100644 --- a/docs/pages/docs/usage/cli.mdx +++ b/docs/pages/docs/usage/cli.mdx @@ -20,12 +20,21 @@ rockylinux:9-minimal Up to date rabbitmq:3.11.9-management Up to date ... some/deleted:image Unknown +[38:5:86mINFO ✨ Checked 1 images in 1310ms ``` -### Check for updates to a specific image +### Check for updates to specific images +```ansi +$ cup check node:latest +node:latest Update available ``` + +```ansi $ cup check node:latest -node:latest has an update available +nextcloud:30 Update available +postgres:14 Update available +mysql:8.0 Up to date +[38:5:86mINFO ✨ Checked 3 images in 1769ms ``` ## Enable icons @@ -46,7 +55,7 @@ $ cup check -r Here is how it would look in Typescript: ```ts -type CupData = { +interface CupData { metrics: { monitored_images: number, up_to_date: number, From 4811754c230cd4db7c3a38087e2bbc61a1301baf Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 21:12:25 +0300 Subject: [PATCH 11/12] Remove unused function --- src/utils.rs | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/utils.rs b/src/utils.rs index f043b10..8fe908b 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,5 +1,3 @@ -use std::path::PathBuf; - use json::{object, JsonValue}; use reqwest_middleware::{ClientBuilder, ClientWithMiddleware}; use reqwest_retry::{policies::ExponentialBackoff, RetryTransientMiddleware}; @@ -22,24 +20,6 @@ pub fn sort_update_vec(updates: &[(String, Option)]) -> Vec<(String, Optio sorted_updates.to_vec() } -/// Tries to load the config from the path provided and perform basic validation -pub fn load_config(config_path: Option) -> JsonValue { - let raw_config = match &config_path { - Some(path) => std::fs::read_to_string(path), - None => Ok(String::from("{\"theme\":\"default\"}")), - }; - if raw_config.is_err() { - panic!( - "Failed to read config file from {}. Are you sure the file exists?", - &config_path.unwrap().to_str().unwrap() - ) - }; - match json::parse(&raw_config.unwrap()) { - Ok(v) => v, - Err(e) => panic!("Failed to parse config!\n{}", e), - } -} - pub fn to_json(updates: &[(String, Option)]) -> JsonValue { let mut json_data: JsonValue = object! { metrics: object! {}, From 7e74f6b671cc73105bdd77decae8ee59e0756e14 Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 11 Oct 2024 21:13:21 +0300 Subject: [PATCH 12/12] Update docs --- docs/pages/docs/usage/cli.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/pages/docs/usage/cli.mdx b/docs/pages/docs/usage/cli.mdx index 2d79022..dd59c75 100644 --- a/docs/pages/docs/usage/cli.mdx +++ b/docs/pages/docs/usage/cli.mdx @@ -20,20 +20,21 @@ rockylinux:9-minimal Up to date rabbitmq:3.11.9-management Up to date ... some/deleted:image Unknown -[38:5:86mINFO ✨ Checked 1 images in 1310ms +[38:5:86mINFO ✨ Checked 58 images in 3772ms ``` ### Check for updates to specific images ```ansi $ cup check node:latest node:latest Update available +[38:5:86mINFO ✨ Checked 1 images in 1310ms ``` ```ansi $ cup check node:latest nextcloud:30 Update available -postgres:14 Update available -mysql:8.0 Up to date +postgres:14 Update available +mysql:8.0 Up to date [38:5:86mINFO ✨ Checked 3 images in 1769ms ```