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]]
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"
checksum = "f0612b3272f9d7c50e4ac8a8e04da1a7293117bac5268925cba25f82e79ebede"
checksum = "4297bc070973a14d63e7722bff28b0448eb58f6c70087f76cc9a24972c2e7b43"
dependencies = [
"convert_case",
"glob",

View File

@ -10,11 +10,11 @@ repository = "https://git.syndicate-lang.org/syndicate-lang/syndicate-rs"
license = "Apache-2.0"
[build-dependencies]
preserves-schema = "2.0.0-rc.3"
preserves-schema = "2.0.0-rc.4"
syndicate = { path = "../syndicate", version = "^0.12.0"}
[dependencies]
preserves-schema = "2.0.0-rc.3"
preserves-schema = "2.0.0-rc.4"
syndicate = { path = "../syndicate", version = "^0.12.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 crate::language::language;
use crate::schemas::external_services::DaemonService;
use crate::schemas::external_services::{DaemonService, DaemonSpec};
use syndicate_macros::during;
@ -28,14 +28,19 @@ fn run(
t: &mut Activation,
config_ds: Arc<Cap>,
_root_ds: Arc<Cap>,
captures: DaemonService,
service: DaemonService,
) -> ActorResult {
{
let spec = language().unparse(&captures);
let spec = language().unparse(&service);
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"]
[build-dependencies]
preserves-schema = "2.0.0-rc.3"
preserves-schema = "2.0.0-rc.4"
[dependencies]
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-util = "0.6"