File tree Expand file tree Collapse file tree
kotlin/eu/openanalytics/shinyproxyoperator Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package eu.openanalytics.shinyproxyoperator.components
22
3+ import com.fasterxml.jackson.databind.ObjectMapper
4+ import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
35import eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController
46import eu.openanalytics.shinyproxyoperator.crd.ShinyProxy
57import io.fabric8.kubernetes.api.model.ConfigMap
68import io.fabric8.kubernetes.api.model.ConfigMapBuilder
79import io.fabric8.kubernetes.client.KubernetesClient
810import mu.KotlinLogging
911
12+
1013class ConfigMapFactory (private val kubeClient : KubernetesClient ) {
1114
1215 private val logger = KotlinLogging .logger {}
16+ private val mapper = ObjectMapper (YAMLFactory ())
1317
1418 fun create (shinyProxy : ShinyProxy ): ConfigMap {
1519 val configMapDefinition: ConfigMap = ConfigMapBuilder ()
@@ -24,7 +28,7 @@ class ConfigMapFactory(private val kubeClient: KubernetesClient) {
2428 .withNewUid(shinyProxy.metadata.uid)
2529 .endOwnerReference()
2630 .endMetadata()
27- .addToData(" application-in.yml" , shinyProxy.spec.applicationYaml)
31+ .addToData(" application-in.yml" , mapper.writeValueAsString( shinyProxy.spec.applicationYaml) )
2832 .build()
2933
3034 val createdConfigMap = kubeClient.configMaps().inNamespace(shinyProxy.metadata.namespace).create(configMapDefinition)
Original file line number Diff line number Diff line change @@ -2,12 +2,13 @@ package eu.openanalytics.shinyproxyoperator.crd
22
33import com.fasterxml.jackson.annotation.JsonProperty
44import com.fasterxml.jackson.databind.JsonDeserializer
5+ import com.fasterxml.jackson.databind.JsonNode
56import com.fasterxml.jackson.databind.annotation.JsonDeserialize
67import io.fabric8.kubernetes.api.model.KubernetesResource
78
89@JsonDeserialize(using = JsonDeserializer .None ::class )
910class ShinyProxySpec : KubernetesResource {
1011
1112 @JsonProperty(" application.yml" )
12- lateinit var applicationYaml: String
13+ lateinit var applicationYaml: JsonNode
1314}
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ kind: ShinyProxy
33metadata :
44 name : example-shinyproxy
55spec :
6- application.yml : |
6+ application.yml :
77 proxy :
88 title : Open Analytics Shiny Proxy
99 logo-url : http://www.openanalytics.eu/sites/www.openanalytics.eu/themes/oa/logo.png
Original file line number Diff line number Diff line change 3131 type : object
3232 properties :
3333 application.yml :
34- type : string
34+ type : object
3535 required :
3636 - application.yml
3737 status :
You can’t perform that action at this time.
0 commit comments