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

Function using_json_path_parameter

app/src/main.rs:210–329  ·  view source on GitHub ↗

the engine can be launch using a json file given in parameter

(
    logger: Box<dyn Logger>,
    deploy_from_file: String,
    workspace_root_dir: String,
    lib_root_dir: String,
    aws_apn_id: String,
    test_cluster: bool,
    deployment_type: TaskSelector

Source from the content-addressed store, hash-verified

208
209// the engine can be launch using a json file given in parameter
210pub fn using_json_path_parameter(
211 logger: Box<dyn Logger>,
212 deploy_from_file: String,
213 workspace_root_dir: String,
214 lib_root_dir: String,
215 aws_apn_id: String,
216 test_cluster: bool,
217 deployment_type: TaskSelector,
218 docker: Arc<Docker>,
219 deployed_engine_version: DeployedEngineVersion,
220 metrics_registry: Box<dyn MetricsRegistry>,
221) -> Result<(), Error> {
222 // check if file json config file exist
223 if !Path::new(&deploy_from_file).exists() {
224 error!("{} : No such file or directory", deploy_from_file);
225 process::exit(1);
226 }
227 info!("Using {} configuration file", deploy_from_file);
228
229 let file = BufReader::new(File::open(deploy_from_file)?);
230
231 let task: Box<dyn Task> = match deployment_type {
232 TaskSelector::Blueprint => {
233 let mut deserialized_request = serde_json::Deserializer::from_reader(file);
234 let mut request: BlueprintEngineRequest = serde_path_to_error::deserialize(&mut deserialized_request)
235 .map_err(|err| {
236 error!("Impossible to parse json file: {}", err);
237 process::exit(1);
238 })
239 .unwrap();
240 request.test_cluster = test_cluster;
241 Box::new(BlueprintTask::new(
242 request,
243 workspace_root_dir,
244 lib_root_dir,
245 aws_apn_id,
246 deployed_engine_version.clone(),
247 docker,
248 logger,
249 metrics_registry,
250 Box::new(FakeQoveryApi {}),
251 None,
252 ))
253 }
254 TaskSelector::Environment => {
255 let mut deserialized_req = serde_json::Deserializer::from_reader(file);
256 let mut request: EnvironmentEngineRequest = serde_path_to_error::deserialize(&mut deserialized_req)
257 .map_err(|err| {
258 error!("Impossible to parse json file: {}", err);
259 process::exit(1);
260 })
261 .unwrap();
262
263 request.test_cluster = test_cluster;
264 Box::new(EnvironmentTask::new(
265 request,
266 workspace_root_dir,
267 deployed_engine_version.clone(),

Callers 1

mainFunction · 0.85

Calls 4

deserializeFunction · 0.85
get_qovery_app_versionFunction · 0.70
cloneMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected