m/cup
1
0
mirror of https://github.com/sergi0g/cup.git synced 2025-11-17 09:33:38 -05:00

Ignore registries before retrieving auth tokens

This commit is contained in:
Sergio
2025-03-02 13:05:23 +02:00
parent 7b3745d095
commit 6d4df20f54

View File

@@ -120,6 +120,16 @@ pub async fn get_updates(
.iter() .iter()
.map(|image| &image.parts.registry) .map(|image| &image.parts.registry)
.unique() .unique()
.filter(|&registry| match ctx.config.registries.get(registry) {
Some(config) => {
if config.ignore {
false
} else {
true
}
}
None => true,
})
.collect::<Vec<&String>>(); .collect::<Vec<&String>>();
// Create request client. All network requests share the same client for better performance. // Create request client. All network requests share the same client for better performance.
@@ -138,7 +148,7 @@ pub async fn get_updates(
// Retrieve an authentication token (if required) for each registry. // Retrieve an authentication token (if required) for each registry.
let mut tokens: FxHashMap<&str, Option<String>> = FxHashMap::default(); let mut tokens: FxHashMap<&str, Option<String>> = FxHashMap::default();
for registry in registries { for registry in registries.clone() {
let credentials = if let Some(registry_config) = ctx.config.registries.get(registry) { let credentials = if let Some(registry_config) = ctx.config.registries.get(registry) {
&registry_config.authentication &registry_config.authentication
} else { } else {
@@ -163,24 +173,11 @@ pub async fn get_updates(
ctx.logger.debug(format!("Tokens: {:?}", tokens)); ctx.logger.debug(format!("Tokens: {:?}", tokens));
let ignored_registries = ctx
.config
.registries
.iter()
.filter_map(|(registry, registry_config)| {
if registry_config.ignore {
Some(registry)
} else {
None
}
})
.collect::<Vec<&String>>();
let mut handles = Vec::with_capacity(images.len()); let mut handles = Vec::with_capacity(images.len());
// Loop through images check for updates // Loop through images check for updates
for image in &images { for image in &images {
let is_ignored = ignored_registries.contains(&&image.parts.registry) let is_ignored = !registries.contains(&&image.parts.registry)
|| ctx || ctx
.config .config
.images .images