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);