diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index c72a543b..e81dade6 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1,7 +1,7 @@ # Trow Architecture Trow started with a front-end and a backend communicating via gRPC, -gRPC was removed to simplify the structure, but you will still find that the trow_server +gRPC was removed to simplify the structure, but you will still find that the registry module is very distinct from the rest of the trow crate. diff --git a/src/lib.rs b/src/lib.rs index 89ef5382..a0cadac4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,8 +3,7 @@ pub mod response; mod routes; pub mod types; -pub mod registry_interface; -pub mod trow_server; +pub mod registry; #[cfg(feature = "sqlite")] mod users; @@ -17,7 +16,7 @@ use anyhow::{Context, Result}; use axum::extract::FromRef; use axum::Router; use thiserror::Error; -use trow_server::{ImageValidationConfig, RegistryProxiesConfig, TrowServer}; +use registry::{ImageValidationConfig, RegistryProxiesConfig, TrowServer}; use uuid::Uuid; //TODO: Make this take a cause or description @@ -164,16 +163,16 @@ impl TrowConfig { std::process::exit(0); } - let ts_builder = trow_server::build_server( + let ts_builder = registry::build_server( self.data_dir.clone(), self.proxy_registry_config.clone(), self.image_validation_config.clone(), ); - let trow_server = ts_builder.get_server()?; + let registry = ts_builder.get_server()?; let server_state = TrowServerState { config: self.clone(), - client: trow_server, + client: registry, }; Ok(routes::create_app(server_state)) } diff --git a/src/trow_server/admission.rs b/src/registry/admission.rs similarity index 100% rename from src/trow_server/admission.rs rename to src/registry/admission.rs diff --git a/src/trow_server/api_types.rs b/src/registry/api_types.rs similarity index 100% rename from src/trow_server/api_types.rs rename to src/registry/api_types.rs diff --git a/src/registry_interface/blob_storage.rs b/src/registry/blob_storage.rs similarity index 100% rename from src/registry_interface/blob_storage.rs rename to src/registry/blob_storage.rs diff --git a/src/registry_interface/catalog_operations.rs b/src/registry/catalog_operations.rs similarity index 100% rename from src/registry_interface/catalog_operations.rs rename to src/registry/catalog_operations.rs diff --git a/src/registry_interface/digest.rs b/src/registry/digest.rs similarity index 98% rename from src/registry_interface/digest.rs rename to src/registry/digest.rs index 13b11e20..eff340a3 100644 --- a/src/registry_interface/digest.rs +++ b/src/registry/digest.rs @@ -142,7 +142,7 @@ fn digest(reader: &mut R) -> io::Result mod test { use std::io::BufReader; - use crate::registry_interface::digest::{Digest, DigestAlgorithm}; + use crate::registry::digest::{Digest, DigestAlgorithm}; #[test] fn sha256_digest_test() { diff --git a/src/trow_server/image.rs b/src/registry/image.rs similarity index 100% rename from src/trow_server/image.rs rename to src/registry/image.rs diff --git a/src/trow_server/manifest.rs b/src/registry/manifest.rs similarity index 99% rename from src/trow_server/manifest.rs rename to src/registry/manifest.rs index 7ad20226..b124a1b4 100644 --- a/src/trow_server/manifest.rs +++ b/src/registry/manifest.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use serde_json::{self, Value}; use thiserror::Error; -use crate::registry_interface::digest::{Digest, DigestError}; +use crate::registry::digest::{Digest, DigestError}; pub trait FromJson { fn from_json(raw: &Value) -> Result @@ -220,7 +220,7 @@ mod test { use serde_json::{self, Value}; use super::{FromJson, Manifest, OCIManifest}; - use crate::registry_interface::Digest; + use crate::registry::Digest; #[test] fn valid_v2_2() { diff --git a/src/registry_interface/manifest_storage.rs b/src/registry/manifest_storage.rs similarity index 100% rename from src/registry_interface/manifest_storage.rs rename to src/registry/manifest_storage.rs diff --git a/src/trow_server/metrics.rs b/src/registry/metrics.rs similarity index 100% rename from src/trow_server/metrics.rs rename to src/registry/metrics.rs diff --git a/src/registry_interface/mod.rs b/src/registry/mod.rs similarity index 61% rename from src/registry_interface/mod.rs rename to src/registry/mod.rs index de19b64e..f9d9e29a 100644 --- a/src/registry_interface/mod.rs +++ b/src/registry/mod.rs @@ -1,19 +1,33 @@ -pub use admission::AdmissionValidation; +mod admission; +pub mod api_types; +mod image; +pub mod manifest; +mod metrics; +mod proxy_auth; +mod server; +pub mod storage; +mod temporary_file; + +use std::path::PathBuf; + +pub use admission::ImageValidationConfig; +use anyhow::Result; +pub use proxy_auth::{RegistryProxiesConfig, SingleRegistryProxyConfig}; +pub use server::TrowServer; + + pub use blob_storage::{BlobReader, BlobStorage, ContentInfo, UploadInfo}; pub use catalog_operations::{CatalogOperations, ManifestHistory}; pub use digest::{Digest, DigestAlgorithm}; pub use manifest_storage::{ManifestReader, ManifestStorage}; -pub use metrics::{Metrics, MetricsError}; use thiserror::Error; use tokio::io::{AsyncRead, AsyncSeek}; -pub mod admission; pub mod blob_storage; pub mod catalog_operations; #[allow(dead_code)] pub mod digest; pub mod manifest_storage; -pub mod metrics; // Storage Driver Error #[derive(Error, Debug)] @@ -48,3 +62,31 @@ pub trait RegistryStorage: ManifestStorage + BlobStorage + CatalogOperations { /// individually. This significantly decrease the memory usage of the registry fn support_streaming(&self) -> bool; } + +pub struct TrowServerBuilder { + data_path: PathBuf, + proxy_registry_config: Option, + image_validation_config: Option, +} + +pub fn build_server( + data_path: PathBuf, + proxy_registry_config: Option, + image_validation_config: Option, +) -> TrowServerBuilder { + TrowServerBuilder { + data_path, + proxy_registry_config, + image_validation_config, + } +} + +impl TrowServerBuilder { + pub fn get_server(self) -> Result { + TrowServer::new( + self.data_path, + self.proxy_registry_config, + self.image_validation_config, + ) + } +} diff --git a/src/trow_server/proxy_auth.rs b/src/registry/proxy_auth.rs similarity index 100% rename from src/trow_server/proxy_auth.rs rename to src/registry/proxy_auth.rs diff --git a/src/trow_server/server.rs b/src/registry/server.rs similarity index 85% rename from src/trow_server/server.rs rename to src/registry/server.rs index ad1857b1..3acf8b3e 100644 --- a/src/trow_server/server.rs +++ b/src/registry/server.rs @@ -11,20 +11,20 @@ use reqwest::header::{HeaderMap, HeaderValue}; use reqwest::{self, Method}; use thiserror::Error; use tracing::{event, Level}; -use trow_server::api_types::MetricsResponse; +use registry::api_types::MetricsResponse; use super::image::RemoteImage; use super::manifest::{manifest_media_type, Manifest, OCIManifest}; use super::proxy_auth::{ProxyClient, SingleRegistryProxyConfig}; use super::storage::{is_path_writable, StorageBackendError, TrowStorageBackend}; use super::{metrics, ImageValidationConfig, RegistryProxiesConfig}; -use crate::registry_interface::blob_storage::Stored; -use crate::registry_interface::catalog_operations::HistoryEntry; -use crate::registry_interface::digest::Digest; -use crate::registry_interface::{BlobReader, ContentInfo, ManifestReader, StorageDriverError}; -use crate::trow_server; -use crate::trow_server::api_types::Status; -use crate::trow_server::storage::WriteBlobRangeError; +use crate::registry::blob_storage::Stored; +use crate::registry::catalog_operations::HistoryEntry; +use crate::registry::digest::Digest; +use crate::registry::{BlobReader, ContentInfo, ManifestReader, StorageDriverError}; +use crate::registry; +use crate::registry::api_types::Status; +use crate::registry::storage::WriteBlobRangeError; use crate::types::*; pub static SUPPORTED_DIGESTS: [&str; 1] = ["sha256"]; @@ -274,35 +274,6 @@ impl TrowServer { Ok(()) } - // pub async fn delete_blob(&self, name: &str, digest: &Digest) -> Result<(), StorageDriverError> { - // event!( - // Level::INFO, - // "Attempting to delete blob {} in {}", - // digest, - // name - // ); - // let rn = (name.to_string()); - - // self.delete_blob_local(&rn, digest) - // .await - // .map_err(|_| StorageDriverError::InvalidDigest)?; - // Ok(()) - // } - - // async fn get_catalog( - // &self, - // start_value: Option<&str>, - // num_results: Option, - // ) -> Result, StorageDriverError> { - // let num_results = num_results.unwrap_or(u32::MAX); - // let start_value = start_value.unwrap_or_default(); - - // self.get_catalog_part(num_results, start_value) - // .await - // .map_err(|_| StorageDriverError::Internal) - // .map(|rc| rc.raw()) - // } - pub async fn get_tags( &self, repo: &str, @@ -331,104 +302,8 @@ impl TrowServer { .await .map_err(|_| StorageDriverError::Internal) } - - // async fn validate_admission( - // &self, - // admission_req: &AdmissionRequest, - // host_name: &str, - // ) -> AdmissionResponse { - // self.validate_admission_internal(admission_req, host_name) - // .await - // .unwrap_or_else(|e| { - // AdmissionResponse::from(admission_req).deny(format!("Internal error: {}", e)) - // }) - // } - - // async fn mutate_admission( - // &self, - // admission_req: &AdmissionRequest, - // host_name: &str, - // ) -> AdmissionResponse { - // self.mutate_admission_internal(admission_req, host_name) - // .await - // .unwrap_or_else(|e| { - // AdmissionResponse::from(admission_req).deny(format!("Internal error: {}", e)) - // }) - // } - - // async fn is_healthy(&self) -> bool { - // self.is_healthy().await.is_healthy - // } - - // async fn is_ready(&self) -> bool { - // self.is_ready().await.is_ready - // } - - // async fn get_metrics( - // &self, - // ) -> Result { - // self.get_metrics().await.map_err(|_| MetricsError::Internal) - // } - - // async fn complete_upload( - // &self, - // repo_name: &str, - // uuid: &str, - // digest: &Digest, - // ) -> Result<(), Status> { - // event!( - // Level::INFO, - // "Complete Upload called for repository {} with upload id {} digest {}", - // repo_name, - // uuid, - // digest - // ); - - // let req = CompleteRequest { - // repo_name: repo_name.to_string(), - // uuid: uuid.to_string(), - // user_digest: digest.to_string(), - // }; - - // self.trow_server.complete_upload(req).await?; - - // Ok(()) - // } - - // async fn get_manifest_history( - // &self, - // repo_name: &str, - // reference: &str, - // limit: u32, - // last_digest: &str, - // ) -> Result { - // event!( - // Level::INFO, - // "Getting manifest history for repo {} ref {} limit {} last_digest {}", - // repo_name, - // reference, - // limit, - // last_digest - // ); - // let mr = ManifestHistoryRequest { - // tag: reference.to_owned(), - // repo_name: repo_name.to_string(), - // limit, - // last_digest: last_digest.to_owned(), - // }; - // let stream = self.trow_server.get_manifest_history(mr).await?; - // let mut history = ManifestHistory::new(format!("{}:{}", repo_name, reference)); - - // for entry in stream { - // history.insert(entry.digest, entry.date); - // } - - // Ok(history) - // } } -//////////////////////////////////////////////////////////////////////////////////////////////////// - impl TrowServer { pub fn new( data_path: PathBuf, diff --git a/src/trow_server/storage.rs b/src/registry/storage.rs similarity index 98% rename from src/trow_server/storage.rs rename to src/registry/storage.rs index 72e38ac5..d22d627c 100644 --- a/src/trow_server/storage.rs +++ b/src/registry/storage.rs @@ -17,10 +17,10 @@ use walkdir::WalkDir; use super::manifest::{Manifest, ManifestError}; use super::server::{PROXY_DIR, SUPPORTED_DIGESTS}; -use crate::registry_interface::blob_storage::Stored; -use crate::registry_interface::catalog_operations::HistoryEntry; -use crate::registry_interface::Digest; -use crate::trow_server::temporary_file::TemporaryFile; +use crate::registry::blob_storage::Stored; +use crate::registry::catalog_operations::HistoryEntry; +use crate::registry::Digest; +use crate::registry::temporary_file::TemporaryFile; use crate::types::BoundedStream; // Storage Driver Error @@ -530,7 +530,7 @@ mod tests { use std::io::Write; use super::*; - use crate::trow_server::manifest; + use crate::registry::manifest; #[test] fn trow_storage_backend_new() { diff --git a/src/trow_server/temporary_file.rs b/src/registry/temporary_file.rs similarity index 100% rename from src/trow_server/temporary_file.rs rename to src/registry/temporary_file.rs diff --git a/src/registry_interface/admission.rs b/src/registry_interface/admission.rs deleted file mode 100644 index 810200ae..00000000 --- a/src/registry_interface/admission.rs +++ /dev/null @@ -1,19 +0,0 @@ -use k8s_openapi::api::core::v1::Pod; -use kube::core::admission::{AdmissionRequest, AdmissionResponse}; - -#[axum::async_trait] -pub trait AdmissionValidation { - // This function signature is very tied to the implementation. - // If you develop a new front-end and have problems here, we should change it. - async fn validate_admission( - &self, - admission_req: &AdmissionRequest, - host_name: &str, - ) -> AdmissionResponse; - - async fn mutate_admission( - &self, - admission_req: &AdmissionRequest, - host_name: &str, - ) -> AdmissionResponse; -} diff --git a/src/registry_interface/metrics.rs b/src/registry_interface/metrics.rs deleted file mode 100644 index fb68a531..00000000 --- a/src/registry_interface/metrics.rs +++ /dev/null @@ -1,16 +0,0 @@ -use thiserror::Error; - -use crate::trow_server::api_types::MetricsResponse; - -#[derive(Error, Debug)] -pub enum MetricsError { - #[error("Internal metrics error")] - Internal, -} - -#[axum::async_trait] -pub trait Metrics { - async fn is_healthy(&self) -> bool; - async fn is_ready(&self) -> bool; - async fn get_metrics(&self) -> Result; -} diff --git a/src/response/accepted_upload.rs b/src/response/accepted_upload.rs index d813847b..d09b5621 100644 --- a/src/response/accepted_upload.rs +++ b/src/response/accepted_upload.rs @@ -32,7 +32,7 @@ mod test { use axum::http::StatusCode; use axum::response::IntoResponse; - use crate::registry_interface::{Digest, DigestAlgorithm}; + use crate::registry::{Digest, DigestAlgorithm}; use crate::types::{AcceptedUpload, Uuid}; #[tokio::test] diff --git a/src/response/blob_reader.rs b/src/response/blob_reader.rs index 0df94648..bedc5d71 100644 --- a/src/response/blob_reader.rs +++ b/src/response/blob_reader.rs @@ -5,7 +5,7 @@ use futures::AsyncRead; use tokio_util::codec::{BytesCodec, FramedRead}; use tokio_util::compat::FuturesAsyncReadCompatExt; -use crate::registry_interface::BlobReader; +use crate::registry::BlobReader; impl IntoResponse for BlobReader { fn into_response(self) -> Response { diff --git a/src/response/content_info.rs b/src/response/content_info.rs index 56728e7a..3129a83f 100644 --- a/src/response/content_info.rs +++ b/src/response/content_info.rs @@ -3,7 +3,7 @@ use axum::http::request::Parts; use axum::http::StatusCode; use tracing::{event, Level}; -use crate::registry_interface::blob_storage::ContentInfo; +use crate::registry::blob_storage::ContentInfo; use crate::response::errors::Error; /** diff --git a/src/response/health.rs b/src/response/health.rs index a0e5a461..03ef57e4 100644 --- a/src/response/health.rs +++ b/src/response/health.rs @@ -1,7 +1,7 @@ use axum::http::{header, StatusCode}; use axum::response::{IntoResponse, Response}; -use crate::trow_server::api_types::HealthStatus; +use crate::registry::api_types::HealthStatus; impl IntoResponse for HealthStatus { fn into_response(self) -> Response { @@ -30,7 +30,7 @@ mod test { use axum::http::StatusCode; use axum::response::IntoResponse; - use crate::trow_server::api_types::HealthStatus; + use crate::registry::api_types::HealthStatus; fn build_healthy_response() -> HealthStatus { HealthStatus { diff --git a/src/response/manifest_history.rs b/src/response/manifest_history.rs index 7d09adf1..eeade444 100644 --- a/src/response/manifest_history.rs +++ b/src/response/manifest_history.rs @@ -2,7 +2,7 @@ use axum::body::Body; use axum::http::header; use axum::response::{IntoResponse, Response}; -use crate::registry_interface::ManifestHistory; +use crate::registry::ManifestHistory; impl IntoResponse for ManifestHistory { fn into_response(self) -> Response { diff --git a/src/response/manifest_reader.rs b/src/response/manifest_reader.rs index 906856c5..9d0e38e9 100644 --- a/src/response/manifest_reader.rs +++ b/src/response/manifest_reader.rs @@ -2,7 +2,7 @@ use axum::body; use axum::http::header; use axum::response::{IntoResponse, Response}; -use crate::registry_interface::ManifestReader; +use crate::registry::ManifestReader; impl IntoResponse for ManifestReader { fn into_response(self) -> Response { diff --git a/src/response/metrics.rs b/src/response/metrics.rs index b8f927b0..84879b9a 100644 --- a/src/response/metrics.rs +++ b/src/response/metrics.rs @@ -2,7 +2,7 @@ use axum::body::Body; use axum::http::{header, StatusCode}; use axum::response::{IntoResponse, Response}; -use crate::trow_server::api_types::MetricsResponse; +use crate::registry::api_types::MetricsResponse; impl IntoResponse for MetricsResponse { fn into_response(self) -> Response { @@ -21,7 +21,7 @@ mod test { use axum::http::StatusCode; use axum::response::IntoResponse; - use crate::trow_server::api_types::MetricsResponse; + use crate::registry::api_types::MetricsResponse; fn build_metrics_response() -> MetricsResponse { MetricsResponse { diff --git a/src/response/readiness.rs b/src/response/readiness.rs index ce05e7b2..1c012a02 100644 --- a/src/response/readiness.rs +++ b/src/response/readiness.rs @@ -1,7 +1,7 @@ use axum::http::{header, StatusCode}; use axum::response::{IntoResponse, Response}; -use crate::trow_server::api_types::ReadyStatus; +use crate::registry::api_types::ReadyStatus; impl IntoResponse for ReadyStatus { fn into_response(self) -> Response { @@ -29,7 +29,7 @@ mod test { use axum::http::StatusCode; use axum::response::IntoResponse; - use crate::trow_server::api_types::ReadyStatus; + use crate::registry::api_types::ReadyStatus; fn build_ready_response() -> ReadyStatus { ReadyStatus { diff --git a/src/response/verified_manifest.rs b/src/response/verified_manifest.rs index 2d79610f..366fcf28 100644 --- a/src/response/verified_manifest.rs +++ b/src/response/verified_manifest.rs @@ -28,7 +28,7 @@ mod test { use axum::http::StatusCode; use axum::response::IntoResponse; - use crate::registry_interface::{Digest, DigestAlgorithm}; + use crate::registry::{Digest, DigestAlgorithm}; use crate::types::VerifiedManifest; #[test] diff --git a/src/routes/blob.rs b/src/routes/blob.rs index 218f16a0..26a2a769 100644 --- a/src/routes/blob.rs +++ b/src/routes/blob.rs @@ -8,11 +8,11 @@ use tracing::{event, Level}; use super::extracts::AlwaysHost; use super::macros::endpoint_fn_7_levels; -use crate::registry_interface::{digest, BlobReader, ContentInfo, StorageDriverError}; +use crate::registry::{digest, BlobReader, ContentInfo, StorageDriverError}; use crate::response::errors::Error; use crate::response::trow_token::TrowToken; use crate::response::upload_info::UploadInfo; -use crate::trow_server::storage::StorageBackendError; +use crate::registry::storage::StorageBackendError; use crate::types::{AcceptedUpload, BlobDeleted, DigestQuery, Upload, Uuid}; use crate::TrowServerState; diff --git a/src/routes/catalog.rs b/src/routes/catalog.rs index 87fed025..1651185e 100644 --- a/src/routes/catalog.rs +++ b/src/routes/catalog.rs @@ -5,7 +5,7 @@ use axum::extract::{Path, Query, State}; use serde_derive::Deserialize; use super::macros::endpoint_fn_7_levels; -use crate::registry_interface::ManifestHistory; +use crate::registry::ManifestHistory; use crate::response::errors::Error; use crate::response::trow_token::TrowToken; use crate::types::{RepoCatalog, TagList}; diff --git a/src/routes/health.rs b/src/routes/health.rs index 1b71b448..dec01905 100644 --- a/src/routes/health.rs +++ b/src/routes/health.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use axum::extract::State; -use crate::trow_server::api_types::HealthStatus; +use crate::registry::api_types::HealthStatus; use crate::TrowServerState; /* * Trow health endpoint diff --git a/src/routes/manifest.rs b/src/routes/manifest.rs index 3a8c635b..730a6c8f 100644 --- a/src/routes/manifest.rs +++ b/src/routes/manifest.rs @@ -6,7 +6,7 @@ use digest::Digest; use super::extracts::AlwaysHost; use super::macros::endpoint_fn_7_levels; -use crate::registry_interface::{digest, ManifestReader, StorageDriverError}; +use crate::registry::{digest, ManifestReader, StorageDriverError}; use crate::response::errors::Error; use crate::response::trow_token::TrowToken; use crate::types::{ManifestDeleted, VerifiedManifest}; diff --git a/src/routes/metrics.rs b/src/routes/metrics.rs index a0edb344..dd8dc2c0 100644 --- a/src/routes/metrics.rs +++ b/src/routes/metrics.rs @@ -4,7 +4,7 @@ use anyhow::Result; use axum::extract::State; use crate::response::errors::Error; -use crate::trow_server::api_types::MetricsResponse; +use crate::registry::api_types::MetricsResponse; use crate::TrowServerState; /* diff --git a/src/routes/readiness.rs b/src/routes/readiness.rs index ef5b73d2..c33831da 100644 --- a/src/routes/readiness.rs +++ b/src/routes/readiness.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use axum::extract::State; -use crate::trow_server::api_types::ReadyStatus; +use crate::registry::api_types::ReadyStatus; use crate::TrowServerState; /* diff --git a/src/trow_server/mod.rs b/src/trow_server/mod.rs deleted file mode 100644 index 8463708a..00000000 --- a/src/trow_server/mod.rs +++ /dev/null @@ -1,44 +0,0 @@ -mod admission; -pub mod api_types; -mod image; -pub mod manifest; -mod metrics; -mod proxy_auth; -mod server; -pub mod storage; -mod temporary_file; - -use std::path::PathBuf; - -pub use admission::ImageValidationConfig; -use anyhow::Result; -pub use proxy_auth::{RegistryProxiesConfig, SingleRegistryProxyConfig}; -pub use server::TrowServer; - -pub struct TrowServerBuilder { - data_path: PathBuf, - proxy_registry_config: Option, - image_validation_config: Option, -} - -pub fn build_server( - data_path: PathBuf, - proxy_registry_config: Option, - image_validation_config: Option, -) -> TrowServerBuilder { - TrowServerBuilder { - data_path, - proxy_registry_config, - image_validation_config, - } -} - -impl TrowServerBuilder { - pub fn get_server(self) -> Result { - TrowServer::new( - self.data_path, - self.proxy_registry_config, - self.image_validation_config, - ) - } -} diff --git a/src/types.rs b/src/types.rs index b778d3de..56594d4c 100644 --- a/src/types.rs +++ b/src/types.rs @@ -4,7 +4,7 @@ use derive_more::Display; use futures::AsyncRead; use serde::{Deserialize, Serialize}; -use crate::registry_interface::Digest; +use crate::registry::Digest; // TODO: Kill this file. Move types and methods to where they're used. diff --git a/tests/admission_mutation.rs b/tests/admission_mutation.rs index fe1d6c26..0fb87e93 100644 --- a/tests/admission_mutation.rs +++ b/tests/admission_mutation.rs @@ -13,7 +13,7 @@ mod admission_mutation_tests { use kube::core::admission::AdmissionReview; use reqwest::StatusCode; use tower::ServiceExt; - use trow::trow_server::{RegistryProxiesConfig, SingleRegistryProxyConfig}; + use trow::registry::{RegistryProxiesConfig, SingleRegistryProxyConfig}; use crate::common; diff --git a/tests/admission_validation.rs b/tests/admission_validation.rs index c816a901..ad5002a8 100644 --- a/tests/admission_validation.rs +++ b/tests/admission_validation.rs @@ -12,7 +12,7 @@ mod validation_tests { use kube::core::admission::AdmissionReview; use reqwest::{header, StatusCode}; use tower::ServiceExt; - use trow::trow_server::ImageValidationConfig; + use trow::registry::ImageValidationConfig; use crate::common; diff --git a/tests/cli.rs b/tests/cli.rs index 0c1a9be9..45cefdec 100644 --- a/tests/cli.rs +++ b/tests/cli.rs @@ -5,7 +5,7 @@ mod common; mod cli { use predicates::prelude::*; use test_temp_dir::test_temp_dir; - use trow::trow_server::{ + use trow::registry::{ ImageValidationConfig, RegistryProxiesConfig, SingleRegistryProxyConfig, }; diff --git a/tests/common/mod.rs b/tests/common/mod.rs index 679594d5..332d7b48 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -12,8 +12,8 @@ use reqwest::StatusCode; use serde::de::DeserializeOwned; use serde::Serialize; use tower::ServiceExt; -use trow::registry_interface::digest::Digest; -use trow::trow_server::manifest; +use trow::registry::digest::Digest; +use trow::registry::manifest; /* None of these are dead code, they are called from tests */ #[allow(dead_code)] diff --git a/tests/manifest_history.rs b/tests/manifest_history.rs index 5b09c853..80e37146 100644 --- a/tests/manifest_history.rs +++ b/tests/manifest_history.rs @@ -15,7 +15,7 @@ mod interface_tests { use test_temp_dir::test_temp_dir; use tower::ServiceExt; use tracing_test::traced_test; - use trow::registry_interface::digest; + use trow::registry::digest; use crate::common::{self, response_body_vec}; diff --git a/tests/proxy_registry.rs b/tests/proxy_registry.rs index 84da5c51..79c77c54 100644 --- a/tests/proxy_registry.rs +++ b/tests/proxy_registry.rs @@ -12,7 +12,7 @@ mod interface_tests { use reqwest::StatusCode; use test_temp_dir::test_temp_dir; use tower::ServiceExt; - use trow::trow_server::{manifest, RegistryProxiesConfig, SingleRegistryProxyConfig}; + use trow::registry::{manifest, RegistryProxiesConfig, SingleRegistryProxyConfig}; use crate::common; diff --git a/tests/registry_interface.rs b/tests/registry_interface.rs index 42cf683f..6e6efef0 100644 --- a/tests/registry_interface.rs +++ b/tests/registry_interface.rs @@ -13,9 +13,9 @@ mod interface_tests { use reqwest::StatusCode; use test_temp_dir::test_temp_dir; use tower::ServiceExt; - use trow::registry_interface::digest; - use trow::trow_server::api_types::{HealthStatus, ReadyStatus}; - use trow::trow_server::manifest; + use trow::registry::digest; + use trow::registry::api_types::{HealthStatus, ReadyStatus}; + use trow::registry::manifest; use trow::types::{RepoCatalog, TagList}; use crate::common;