Environment variable controlled container registry

This commit is contained in:
Gabriel Simmer 2022-12-12 18:46:49 +00:00
parent 2031f4c527
commit 26ab081875
Signed by: arch
GPG key ID: C81B106D46C5B875

View file

@ -1,6 +1,6 @@
mod css;
use std::{boxed, error};
use std::{boxed, error, env};
use dkregistry::v2::Client;
use maud::{html, Markup, DOCTYPE};
use axum::{Router, routing::get, response::IntoResponse};
@ -57,10 +57,10 @@ fn footer() -> Markup {
async fn root() -> Markup {
let c = get_images().await.unwrap_or_else(|e| panic!("{}", e));
html! {
(header("/"))
(header("/DREF"))
body {
main {
h1 { "DREF" }
h1 { "/DREF" }
hr;
@for image in &c {
div {
@ -81,10 +81,10 @@ async fn root() -> Markup {
}
async fn get_images() -> Result<Vec<Image>, boxed::Box<dyn error::Error>> {
let host = "icr.gmem.ca";
let host = env::var("DREF_REGISTRY").unwrap();
let dclient = Client::configure()
.insecure_registry(false)
.registry(host)
.registry(&host)
.build()?;
let catalog = dclient.get_catalog(None).collect::<Vec<_>>().await
.into_iter()
@ -96,10 +96,10 @@ async fn get_images() -> Result<Vec<Image>, boxed::Box<dyn error::Error>> {
}
async fn get_tags(image: String) -> Result<Vec<Tag>, boxed::Box<dyn error::Error>> {
let host = "icr.gmem.ca";
let host = env::var("DREF_REGISTRY").unwrap();
let dclient = Client::configure()
.insecure_registry(false)
.registry(host)
.registry(&host)
.build()?;
let tags = dclient.get_tags(image.as_str(), None).collect::<Vec<_>>().await
.into_iter()