package wf.servitor.common.config import com.uchuhimo.konf.source.toml import com.uchuhimo.konf.Config.Companion as KonfConfig fun createConfig(file: String? = null): Config { val config = run { var config = KonfConfig { addSpec(QueueSpec) } .from.toml.file("/etc/servitor/config.toml", optional = true) .from.json.file("/etc/servitor/config.json", optional = true) if (file !== null) { config = if (file.endsWith("json")) { config.from.json.file(file) } else { config.from.toml.file(file) } } config } return Config( Queue( config[QueueSpec.url], config[QueueSpec.username], config[QueueSpec.password], Queue.Names( config[QueueSpec.Names.namePrefix], config[QueueSpec.Names.task], config[QueueSpec.Names.relay], config[QueueSpec.Names.observation] ) ) ) }