From 6ec91e7a7e1c9757312a0c41f8a964c5b5985116 Mon Sep 17 00:00:00 2001 From: "Michael N. Lipp" Date: Thu, 17 Aug 2023 15:43:04 +0200 Subject: [PATCH] Support additional metadata for services continued. --- org.jdrupes.vmoperator.manager/config-sample.yaml | 6 +++--- .../org/jdrupes/vmoperator/manager/ServiceReconciler.java | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/org.jdrupes.vmoperator.manager/config-sample.yaml b/org.jdrupes.vmoperator.manager/config-sample.yaml index 1ab38ab..19e0f05 100644 --- a/org.jdrupes.vmoperator.manager/config-sample.yaml +++ b/org.jdrupes.vmoperator.manager/config-sample.yaml @@ -15,10 +15,10 @@ ramOvercommit: 1.5 # Additional metadata (labels and annotations) to be merged - # into the service - # additionalServiceMetdata: + # into the service. Must be provided as nested YAML + # additionalServiceMetadata: | # labels: {} - # annotations: {} + # annotations: {} # Only for development: # namespace: vmop-dev diff --git a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/ServiceReconciler.java b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/ServiceReconciler.java index 3a9ed98..008f676 100644 --- a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/ServiceReconciler.java +++ b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/ServiceReconciler.java @@ -97,8 +97,10 @@ import org.yaml.snakeyaml.constructor.SafeConstructor; @SuppressWarnings("unchecked") var asmData = Optional.of(model) .map(m -> (Map) m.get("config")) - .map(c -> (Map) c.get("additionalServiceMetadata")) - .orElseGet(() -> new HashMap<>()); + .map(c -> (String) c.get("additionalServiceMetadata")) + .map(y -> (Map) new Yaml( + new SafeConstructor(new LoaderOptions())).load(y)) + .orElseGet(() -> new HashMap()); var json = channel.client().getJSON(); JsonObject cfgMeta = json.deserialize(json.serialize(asmData), JsonObject.class);