mirror of
https://github.com/moghtech/komodo.git
synced 2026-04-30 14:25:22 -05:00
fix filter by split
This commit is contained in:
@@ -16,6 +16,7 @@ use monitor_client::entities::{
|
|||||||
};
|
};
|
||||||
use mungos::mongodb::Collection;
|
use mungos::mongodb::Collection;
|
||||||
use periphery_client::api::container::RemoveContainer;
|
use periphery_client::api::container::RemoveContainer;
|
||||||
|
use serror::serialize_error_pretty;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
helpers::{
|
helpers::{
|
||||||
@@ -177,42 +178,64 @@ impl super::MonitorResource for Deployment {
|
|||||||
DeploymentState::NotDeployed | DeploymentState::Unknown
|
DeploymentState::NotDeployed | DeploymentState::Unknown
|
||||||
) {
|
) {
|
||||||
// container needs to be destroyed
|
// container needs to be destroyed
|
||||||
let server =
|
let server = match super::get::<Server>(
|
||||||
super::get::<Server>(&deployment.config.server_id).await;
|
&deployment.config.server_id,
|
||||||
if let Err(e) = server {
|
)
|
||||||
update.push_error_log(
|
.await
|
||||||
"remove container",
|
{
|
||||||
format!(
|
Ok(server) => server,
|
||||||
"failed to retrieve server at {} from db | {e:#?}",
|
Err(e) => {
|
||||||
deployment.config.server_id
|
update.push_error_log(
|
||||||
),
|
|
||||||
);
|
|
||||||
} else if let Ok(server) = server {
|
|
||||||
match periphery_client(&server) {
|
|
||||||
Ok(periphery) => match periphery
|
|
||||||
.request(RemoveContainer {
|
|
||||||
name: deployment.name.clone(),
|
|
||||||
signal: deployment.config.termination_signal.into(),
|
|
||||||
time: deployment.config.termination_timeout.into(),
|
|
||||||
})
|
|
||||||
.await
|
|
||||||
{
|
|
||||||
Ok(log) => update.logs.push(log),
|
|
||||||
Err(e) => update.push_error_log(
|
|
||||||
"remove container",
|
|
||||||
format!(
|
|
||||||
"failed to remove container on periphery | {e:#?}"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
},
|
|
||||||
Err(e) => update.push_error_log(
|
|
||||||
"remove container",
|
"remove container",
|
||||||
format!(
|
format!(
|
||||||
"failed to remove container on periphery | {e:#?}"
|
"failed to retrieve server at {} from db.\n\nerror: {}",
|
||||||
|
deployment.config.server_id,
|
||||||
|
serialize_error_pretty(&e)
|
||||||
),
|
),
|
||||||
),
|
);
|
||||||
};
|
return Ok(());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if !server.config.enabled {
|
||||||
|
// Don't need to
|
||||||
|
update.push_simple_log(
|
||||||
|
"remove container",
|
||||||
|
"skipping container removal, server is disabled.",
|
||||||
|
);
|
||||||
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
let periphery = match periphery_client(&server) {
|
||||||
|
Ok(periphery) => periphery,
|
||||||
|
Err(e) => {
|
||||||
|
// This case won't ever happen, as periphery_client only fallible if the server is disabled.
|
||||||
|
// Leaving it for completeness sake
|
||||||
|
update.push_error_log(
|
||||||
|
"remove container",
|
||||||
|
format!(
|
||||||
|
"failed to remove container on periphery.\n\nerror: {}",
|
||||||
|
serialize_error_pretty(&e),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
match periphery
|
||||||
|
.request(RemoveContainer {
|
||||||
|
name: deployment.name.clone(),
|
||||||
|
signal: deployment.config.termination_signal.into(),
|
||||||
|
time: deployment.config.termination_timeout.into(),
|
||||||
|
})
|
||||||
|
.await
|
||||||
|
{
|
||||||
|
Ok(log) => update.logs.push(log),
|
||||||
|
Err(e) => update.push_error_log(
|
||||||
|
"remove container",
|
||||||
|
format!(
|
||||||
|
"failed to remove container.\n\nerror: {}",
|
||||||
|
serialize_error_pretty(&e)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ pub struct CopyDeployment {
|
|||||||
|
|
||||||
/// Deletes the deployment at the given id, and returns the deleted deployment.
|
/// Deletes the deployment at the given id, and returns the deleted deployment.
|
||||||
/// Response: [Deployment].
|
/// Response: [Deployment].
|
||||||
|
///
|
||||||
|
/// Note. If the associated container is running, it will be deleted as part of
|
||||||
|
/// the deployment clean up.
|
||||||
#[typeshare]
|
#[typeshare]
|
||||||
#[derive(
|
#[derive(
|
||||||
Serialize, Deserialize, Debug, Clone, Request, EmptyTraits,
|
Serialize, Deserialize, Debug, Clone, Request, EmptyTraits,
|
||||||
|
|||||||
@@ -475,7 +475,7 @@ const Stage = ({
|
|||||||
const new_stage = () => ({
|
const new_stage = () => ({
|
||||||
name: "Stage",
|
name: "Stage",
|
||||||
enabled: true,
|
enabled: true,
|
||||||
executions: [],
|
executions: [default_enabled_execution()],
|
||||||
});
|
});
|
||||||
|
|
||||||
const default_enabled_execution: () => Types.EnabledExecution = () => ({
|
const default_enabled_execution: () => Types.EnabledExecution = () => ({
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ export const filterBySplit = <T>(
|
|||||||
return (
|
return (
|
||||||
(split.length
|
(split.length
|
||||||
? items?.filter((item) => {
|
? items?.filter((item) => {
|
||||||
const target = extract(item);
|
const target = extract(item).toLowerCase();
|
||||||
return split.every((term) => target.includes(term));
|
return split.every((term) => target.includes(term));
|
||||||
})
|
})
|
||||||
: items) ?? []
|
: items) ?? []
|
||||||
|
|||||||
Reference in New Issue
Block a user