MCPcopy Create free account
hub / github.com/Qovery/engine / run_deprecated_api_check

Method run_deprecated_api_check

lib-engine/src/cluster_analysis/task.rs:189–230  ·  view source on GitHub ↗
(
        &self,
        payload: &DeprecatedApiCheckRequest,
        kubeconfig_path: &std::path::Path,
        kube_credentials: &[(String, String)],
        command_envs: &[(&str, &str)],
    )

Source from the content-addressed store, hash-verified

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(

Callers 1

run_analysisMethod · 0.80

Calls 5

format_deprecationsFunction · 0.85
as_refMethod · 0.80
invalid_payload_errorMethod · 0.80
get_event_detailsMethod · 0.45

Tested by

no test coverage detected