adnv 1.5.0

CLI that tracks, checks and auto-updates infrastructure dependency versions across Terraform, Helm, Docker, Git and npm
Documentation
use super::{ListOptions, Tag};
use crate::sources::data::DockerSource;
use crate::{Error, Result};

mod docker_io;
mod github;
mod gitlab;

pub async fn list_tags(source: &DockerSource, options: &ListOptions<'_>) -> Result<Vec<Tag>> {
    use crate::util::url::UrlExt;

    let url = source.url();

    match (url.host_str(), url.scheme_secondary()) {
        (Some("gitlab.com"), _) | (_, Some("gitlab")) => gitlab::fetch(url, options).await,
        (Some("ghcr.io"), _) => github::fetch(url, options).await,
        (Some("docker.io"), _) | (_, None) => docker_io::fetch(url, options).await,
        _ => Err(Error::UnsupportedDockerRegistry(url.clone())),
    }
}