mirror of
https://github.com/sergi0g/cup.git
synced 2025-11-13 07:33:48 -05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ebb7c18bca | ||
|
|
b542f1bac5 | ||
|
|
34ae9cb36f | ||
|
|
e015afbaca |
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -376,7 +376,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cup"
|
name = "cup"
|
||||||
version = "3.3.0"
|
version = "3.4.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bollard",
|
"bollard",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "cup"
|
name = "cup"
|
||||||
version = "3.4.0"
|
version = "3.4.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
use serde::Deserializer;
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
@@ -64,6 +65,7 @@ pub struct Config {
|
|||||||
pub agent: bool,
|
pub agent: bool,
|
||||||
pub ignore_update_type: UpdateType,
|
pub ignore_update_type: UpdateType,
|
||||||
pub images: ImageConfig,
|
pub images: ImageConfig,
|
||||||
|
#[serde(deserialize_with = "empty_as_none")]
|
||||||
pub refresh_interval: Option<String>,
|
pub refresh_interval: Option<String>,
|
||||||
pub registries: FxHashMap<String, RegistryConfig>,
|
pub registries: FxHashMap<String, RegistryConfig>,
|
||||||
pub servers: FxHashMap<String, String>,
|
pub servers: FxHashMap<String, String>,
|
||||||
@@ -151,3 +153,15 @@ impl Default for Config {
|
|||||||
Self::new()
|
Self::new()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn empty_as_none<'de, D>(deserializer: D) -> Result<Option<String>, D::Error>
|
||||||
|
where
|
||||||
|
D: Deserializer<'de>,
|
||||||
|
{
|
||||||
|
let s = String::deserialize(deserializer)?;
|
||||||
|
if s.is_empty() {
|
||||||
|
Ok(None)
|
||||||
|
} else {
|
||||||
|
Ok(Some(s))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ pub async fn get_latest_digest(
|
|||||||
protocol, &image.parts.registry, &image.parts.repository, &image.parts.tag
|
protocol, &image.parts.registry, &image.parts.repository, &image.parts.tag
|
||||||
);
|
);
|
||||||
let authorization = to_bearer_string(&token);
|
let authorization = to_bearer_string(&token);
|
||||||
let headers = [("Accept", Some("application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.index.v1+json")), ("Authorization", authorization.as_deref())];
|
let headers = [("Accept", Some("application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.index.v1+json, application/vnd.oci.image.manifest.v1+json")), ("Authorization", authorization.as_deref())];
|
||||||
|
|
||||||
let response = client.head(&url, &headers).await;
|
let response = client.head(&url, &headers).await;
|
||||||
let time = start.elapsed().unwrap().as_millis() as u32;
|
let time = start.elapsed().unwrap().as_millis() as u32;
|
||||||
|
|||||||
Reference in New Issue
Block a user