summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@ifm.com>2022-07-21 10:53:35 +0200
committerMatthias Beyer <matthias.beyer@ifm.com>2022-08-30 13:54:48 +0200
commit54dc321407419737e6a29355fea81e95c062a7cd (patch)
tree4747424902f89b5beacd61f3d861e0034e6d2aca
parent08a32f3294d65b4011e54838fc67c792cf8f3ff0 (diff)
Add configuration option for restart policy of plugins
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
-rw-r--r--crates/core/tedge_core/src/configuration.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/crates/core/tedge_core/src/configuration.rs b/crates/core/tedge_core/src/configuration.rs
index 987be958..56defb99 100644
--- a/crates/core/tedge_core/src/configuration.rs
+++ b/crates/core/tedge_core/src/configuration.rs
@@ -23,10 +23,26 @@ pub struct TedgeConfiguration {
pub struct PluginInstanceConfiguration {
kind: PluginKind,
+ #[serde(default)]
+ restart_policy: RestartPolicy,
+
#[serde(flatten)]
configuration: InstanceConfiguration,
}
+#[derive(serde::Deserialize, Debug)]
+pub enum RestartPolicy {
+ Never,
+ Once,
+ Always,
+}
+
+impl Default for RestartPolicy {
+ fn default() -> Self {
+ Self::Never
+ }
+}
+
impl PluginInstanceConfiguration {
pub fn kind(&self) -> &PluginKind {
&self.kind