(
&self,
payload: &DeprecatedApiCheckRequest,
kubeconfig_path: &std::path::Path,
kube_credentials: &[(String, String)],
command_envs: &[(&str, &str)],
)
| 187 | } |
| 188 | |
| 189 | fn run_deprecated_api_check( |
| 190 | &self, |
| 191 | payload: &DeprecatedApiCheckRequest, |
| 192 | kubeconfig_path: &std::path::Path, |
| 193 | kube_credentials: &[(String, String)], |
| 194 | command_envs: &[(&str, &str)], |
| 195 | ) -> Result<String, Box<EngineError>> { |
| 196 | let target_version = payload |
| 197 | .target_kubernetes_version |
| 198 | .as_ref() |
| 199 | .map(|version| { |
| 200 | VersionsNumber::from_str(version) |
| 201 | .map_err(|_| self.invalid_payload_error(format!("Invalid Kubernetes target version `{version}`"))) |
| 202 | }) |
| 203 | .transpose()?; |
| 204 | let kube_client = QubeClient::new( |
| 205 | self.get_event_details(ClusterAnalysisStep::DeprecatedApiCheck), |
| 206 | Some(kubeconfig_path.to_path_buf()), |
| 207 | kube_credentials.to_vec(), |
| 208 | )?; |
| 209 | let deprecations = |
| 210 | crate::services::kubernetes_api_deprecation_service::KubernetesApiDeprecationService::default() |
| 211 | .get_deprecated_kubernetes_apis( |
| 212 | kubeconfig_path, |
| 213 | target_version.as_ref(), |
| 214 | command_envs, |
| 215 | KubernetesApiDeprecationServiceGranuality::WithQoveryMetadata { |
| 216 | kube_client: kube_client.as_ref(), |
| 217 | }, |
| 218 | ) |
| 219 | .map_err(|error| { |
| 220 | Box::new(EngineError::new_unknown( |
| 221 | self.get_event_details(ClusterAnalysisStep::DeprecatedApiCheck), |
| 222 | "Kubernetes deprecated API analysis failed".to_string(), |
| 223 | Some(CommandError::new(error.to_string(), Some(format!("{error:?}")), None)), |
| 224 | None, |
| 225 | None, |
| 226 | )) |
| 227 | })?; |
| 228 | |
| 229 | Ok(format_deprecations(&deprecations, payload.output_format)) |
| 230 | } |
| 231 | |
| 232 | fn invalid_payload_error(&self, message: String) -> Box<EngineError> { |
| 233 | Box::new(EngineError::new_invalid_engine_payload( |
no test coverage detected