diff options
author | Matthias Beyer <matthias.beyer@ifm.com> | 2022-07-21 10:53:35 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@ifm.com> | 2022-08-30 13:54:48 +0200 |
commit | 54dc321407419737e6a29355fea81e95c062a7cd (patch) | |
tree | 4747424902f89b5beacd61f3d861e0034e6d2aca | |
parent | 08a32f3294d65b4011e54838fc67c792cf8f3ff0 (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.rs | 16 |
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 |