feat: add ingress score #32
							
								
								
									
										17
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -1172,6 +1172,16 @@ dependencies = [ | ||||
|  "percent-encoding", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "fqdn" | ||||
| version = "0.4.6" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "c0f5d7f7b3eed2f771fc7f6fcb651f9560d7b0c483d75876082acb4649d266b3" | ||||
| dependencies = [ | ||||
|  "punycode", | ||||
|  "serde", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "funty" | ||||
| version = "2.0.0" | ||||
| @ -1397,6 +1407,7 @@ dependencies = [ | ||||
|  "directories", | ||||
|  "dockerfile_builder", | ||||
|  "env_logger", | ||||
|  "fqdn", | ||||
|  "harmony_macros", | ||||
|  "harmony_types", | ||||
|  "helm-wrapper-rs", | ||||
| @ -3016,6 +3027,12 @@ dependencies = [ | ||||
|  "unicode-ident", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "punycode" | ||||
| version = "0.4.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "e9e1dcb320d6839f6edb64f7a4a59d39b30480d4d1765b56873f7c858538a5fe" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "quote" | ||||
| version = "1.0.40" | ||||
|  | ||||
| @ -39,3 +39,11 @@ lazy_static = "1.5.0" | ||||
| dockerfile_builder = "0.1.5" | ||||
| temp-file = "0.1.9" | ||||
| convert_case.workspace = true | ||||
| fqdn = { version = "0.4.6", features = [ | ||||
|  | ||||
|     "domain-label-cannot-start-or-end-with-hyphen", | ||||
|     "domain-label-length-limited-to-63", | ||||
|     "domain-name-without-special-chars", | ||||
|     "domain-name-length-limited-to-255", | ||||
|     "punycode", | ||||
|     "serde", | ||||
| ] } | ||||
|  | ||||
| @ -12,10 +12,10 @@ use super::resource::{K8sResourceInterpret, K8sResourceScore}; | ||||
| 
 | ||||
| #[derive(Debug, Clone, Serialize)] | ||||
| pub struct K8sIngressScore { | ||||
|     pub name: String, | ||||
|     pub host: String, | ||||
|     pub backend_service: String, | ||||
|     pub port: String, | ||||
|     pub name: fqdn::FQDN, | ||||
|     pub host: fqdn::FQDN, | ||||
|     pub backend_service: fqdn::FQDN, | ||||
|     pub port: u16, | ||||
|     pub path: Option<String>, | ||||
|     pub path_type: Option<String>, | ||||
|     pub namespace: Option<String>, | ||||
| @ -67,6 +67,6 @@ impl<T: Topology + K8sclient> Score<T> for K8sIngressScore { | ||||
|     } | ||||
| 
 | ||||
|     fn name(&self) -> String { | ||||
|         "K8sIngressScore".to_string() | ||||
|         format!("{} K8sIngressScore", self.name) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| use convert_case::{Case, Casing}; | ||||
| use dockerfile_builder::instruction::{CMD, COPY, ENV, EXPOSE, FROM, RUN, WORKDIR}; | ||||
| use dockerfile_builder::{Dockerfile, instruction_builder::EnvBuilder}; | ||||
| use fqdn::fqdn; | ||||
| use non_blank_string_rs::NonBlankString; | ||||
| use serde_json::json; | ||||
| use std::collections::HashMap; | ||||
| @ -134,10 +135,10 @@ impl<T: Topology + K8sclient + HelmCommand> Interpret<T> for LAMPInterpret { | ||||
|         info!("LAMP deployment_score {deployment_score:?}"); | ||||
| 
 | ||||
|         let lamp_ingress = K8sIngressScore { | ||||
|             name: "lamp-ingress".to_string(), | ||||
|             host: "test".to_string(), | ||||
|             backend_service: "test".to_string(), | ||||
|             port: "8080".to_string(), | ||||
|             name: fqdn!("lamp-ingress"), | ||||
|             host: fqdn!("test"), | ||||
|             backend_service: fqdn!("test"), | ||||
|             port: 8080, | ||||
|             path: None, | ||||
|             path_type: None, | ||||
|             namespace: self.get_namespace().map(|nbs| nbs.to_string()), | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#rfc-1035-label-names