adnv 1.5.0

CLI that tracks, checks and auto-updates infrastructure dependency versions across Terraform, Helm, Docker, Git and npm
Documentation
#[derive(Debug, Clone, PartialEq, Eq, serde::Deserialize)]
pub struct DockerSource(pub url::Url);

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Registry {
    Gitlab,
    Github,
    DockerHub,
}

impl DockerSource {
    pub fn url(&self) -> &url::Url {
        &self.0
    }

    pub fn registry(&self) -> Option<Registry> {
        use crate::util::url::UrlExt;

        match (self.url().host_str(), self.url().scheme_secondary()) {
            (Some("gitlab.com"), _) | (_, Some("gitlab")) => Some(Registry::Gitlab),
            (Some("ghcr.io"), _) => Some(Registry::Github),
            (Some("docker.io"), _) | (_, None) => Some(Registry::DockerHub),
            _ => None,
        }
    }

    pub fn describe(&self) -> String {
        self.url().to_string()
    }
}