feat: add ingress score #32
							
								
								
									
										17
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -1172,6 +1172,16 @@ dependencies = [ | |||||||
|  "percent-encoding", |  "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]] | [[package]] | ||||||
| name = "funty" | name = "funty" | ||||||
| version = "2.0.0" | version = "2.0.0" | ||||||
| @ -1397,6 +1407,7 @@ dependencies = [ | |||||||
|  "directories", |  "directories", | ||||||
|  "dockerfile_builder", |  "dockerfile_builder", | ||||||
|  "env_logger", |  "env_logger", | ||||||
|  |  "fqdn", | ||||||
|  "harmony_macros", |  "harmony_macros", | ||||||
|  "harmony_types", |  "harmony_types", | ||||||
|  "helm-wrapper-rs", |  "helm-wrapper-rs", | ||||||
| @ -3016,6 +3027,12 @@ dependencies = [ | |||||||
|  "unicode-ident", |  "unicode-ident", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "punycode" | ||||||
|  | version = "0.4.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "e9e1dcb320d6839f6edb64f7a4a59d39b30480d4d1765b56873f7c858538a5fe" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "quote" | name = "quote" | ||||||
| version = "1.0.40" | version = "1.0.40" | ||||||
|  | |||||||
| @ -39,3 +39,11 @@ lazy_static = "1.5.0" | |||||||
| dockerfile_builder = "0.1.5" | dockerfile_builder = "0.1.5" | ||||||
| temp-file = "0.1.9" | temp-file = "0.1.9" | ||||||
| convert_case.workspace = true | 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)] | #[derive(Debug, Clone, Serialize)] | ||||||
| pub struct K8sIngressScore { | pub struct K8sIngressScore { | ||||||
|     pub name: String, |     pub name: fqdn::FQDN, | ||||||
|     pub host: String, |     pub host: fqdn::FQDN, | ||||||
|     pub backend_service: String, |     pub backend_service: fqdn::FQDN, | ||||||
|     pub port: String, |     pub port: u16, | ||||||
|     pub path: Option<String>, |     pub path: Option<String>, | ||||||
|     pub path_type: Option<String>, |     pub path_type: Option<String>, | ||||||
|     pub namespace: Option<String>, |     pub namespace: Option<String>, | ||||||
| @ -67,6 +67,6 @@ impl<T: Topology + K8sclient> Score<T> for K8sIngressScore { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     fn name(&self) -> String { |     fn name(&self) -> String { | ||||||
|         "K8sIngressScore".to_string() |         format!("{} K8sIngressScore", self.name) | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| use convert_case::{Case, Casing}; | use convert_case::{Case, Casing}; | ||||||
| use dockerfile_builder::instruction::{CMD, COPY, ENV, EXPOSE, FROM, RUN, WORKDIR}; | use dockerfile_builder::instruction::{CMD, COPY, ENV, EXPOSE, FROM, RUN, WORKDIR}; | ||||||
| use dockerfile_builder::{Dockerfile, instruction_builder::EnvBuilder}; | use dockerfile_builder::{Dockerfile, instruction_builder::EnvBuilder}; | ||||||
|  | use fqdn::fqdn; | ||||||
| use non_blank_string_rs::NonBlankString; | use non_blank_string_rs::NonBlankString; | ||||||
| use serde_json::json; | use serde_json::json; | ||||||
| use std::collections::HashMap; | use std::collections::HashMap; | ||||||
| @ -134,10 +135,10 @@ impl<T: Topology + K8sclient + HelmCommand> Interpret<T> for LAMPInterpret { | |||||||
|         info!("LAMP deployment_score {deployment_score:?}"); |         info!("LAMP deployment_score {deployment_score:?}"); | ||||||
| 
 | 
 | ||||||
|         let lamp_ingress = K8sIngressScore { |         let lamp_ingress = K8sIngressScore { | ||||||
|             name: "lamp-ingress".to_string(), |             name: fqdn!("lamp-ingress"), | ||||||
|             host: "test".to_string(), |             host: fqdn!("test"), | ||||||
|             backend_service: "test".to_string(), |             backend_service: fqdn!("test"), | ||||||
|             port: "8080".to_string(), |             port: 8080, | ||||||
|             path: None, |             path: None, | ||||||
|             path_type: None, |             path_type: None, | ||||||
|             namespace: self.get_namespace().map(|nbs| nbs.to_string()), |             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