Retrieve daemon config

This commit is contained in:
Tony Garnock-Jones 2021-09-20 15:43:00 +02:00
parent 9a09cac5f7
commit 988a22afde
4 changed files with 16 additions and 11 deletions

4
Cargo.lock generated
View File

@ -1067,9 +1067,9 @@ dependencies = [
[[package]] [[package]]
name = "preserves-schema" name = "preserves-schema"
version = "2.0.0-rc.3" version = "2.0.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0612b3272f9d7c50e4ac8a8e04da1a7293117bac5268925cba25f82e79ebede" checksum = "4297bc070973a14d63e7722bff28b0448eb58f6c70087f76cc9a24972c2e7b43"
dependencies = [ dependencies = [
"convert_case", "convert_case",
"glob", "glob",

View File

@ -10,11 +10,11 @@ repository = "https://git.syndicate-lang.org/syndicate-lang/syndicate-rs"
license = "Apache-2.0" license = "Apache-2.0"
[build-dependencies] [build-dependencies]
preserves-schema = "2.0.0-rc.3" preserves-schema = "2.0.0-rc.4"
syndicate = { path = "../syndicate", version = "^0.12.0"} syndicate = { path = "../syndicate", version = "^0.12.0"}
[dependencies] [dependencies]
preserves-schema = "2.0.0-rc.3" preserves-schema = "2.0.0-rc.4"
syndicate = { path = "../syndicate", version = "^0.12.0"} syndicate = { path = "../syndicate", version = "^0.12.0"}
syndicate-macros = { path = "../syndicate-macros", version = "^0.7.0"} syndicate-macros = { path = "../syndicate-macros", version = "^0.7.0"}

View File

@ -6,7 +6,7 @@ use syndicate::actor::*;
use syndicate::supervise::{Supervisor, SupervisorConfiguration}; use syndicate::supervise::{Supervisor, SupervisorConfiguration};
use crate::language::language; use crate::language::language;
use crate::schemas::external_services::DaemonService; use crate::schemas::external_services::{DaemonService, DaemonSpec};
use syndicate_macros::during; use syndicate_macros::during;
@ -28,14 +28,19 @@ fn run(
t: &mut Activation, t: &mut Activation,
config_ds: Arc<Cap>, config_ds: Arc<Cap>,
_root_ds: Arc<Cap>, _root_ds: Arc<Cap>,
captures: DaemonService, service: DaemonService,
) -> ActorResult { ) -> ActorResult {
{ {
let spec = language().unparse(&captures); let spec = language().unparse(&service);
config_ds.assert(t, &(), &syndicate_macros::template!("<service-running =spec>")); config_ds.assert(t, &(), &syndicate_macros::template!("<service-running =spec>"));
} }
tracing::info!("daemon {:?}", &captures); let id = service.id.0.clone();
Ok(()) Ok(during!(t, config_ds, language(), <daemon #(id) $config>, |_t| {
if let Ok(config) = language().parse::<DaemonSpec>(&config) {
tracing::info!("daemon {:?} {:?}", &service, &config);
}
Ok(())
}))
} }

View File

@ -13,11 +13,11 @@ license = "Apache-2.0"
vendored-openssl = ["openssl/vendored"] vendored-openssl = ["openssl/vendored"]
[build-dependencies] [build-dependencies]
preserves-schema = "2.0.0-rc.3" preserves-schema = "2.0.0-rc.4"
[dependencies] [dependencies]
preserves = "2.0.0-rc.2" preserves = "2.0.0-rc.2"
preserves-schema = "2.0.0-rc.3" preserves-schema = "2.0.0-rc.4"
tokio = { version = "1.10", features = ["io-util", "macros", "rt", "rt-multi-thread", "time"] } tokio = { version = "1.10", features = ["io-util", "macros", "rt", "rt-multi-thread", "time"] }
tokio-util = "0.6" tokio-util = "0.6"