private void processArtifactSetResources(Set<URL> artifactSet, Function<List<HasMetadata>, Void> function) {
for (URL url : artifactSet) {
try {
InputStream is = url.openStream();
if (is != null) {
log.debug("Processing Kubernetes YAML in at: %s", url);
KubernetesList resources = new ObjectMapper(new YAMLFactory()).readValue(is, KubernetesList.class);
List<HasMetadata> items = resources.getItems();
if (items.size() == 0 && Objects.equals("Template", resources.getKind())) {
is = url.openStream();
Template template = new ObjectMapper(new YAMLFactory()).readValue(is, Template.class);
if (template != null) {
items.add(template);
}
}
for (HasMetadata item : items) {
KubernetesResourceUtil.setSourceUrlAnnotationIfNotSet(item, url.toString());
log.debug(" found %s %s", KubernetesHelper.getKind(item), KubernetesHelper.getName(item));
}
function.apply(items);
}
} catch (IOException e) {
getLog().debug("Skipping %s: %s", url, e);
}
}
}