Я могу прочитать мои секреты kubernetes, когда запускаю ниже, но все еще пытаюсь обернуть мою голову вокруг Cats IO. Есть ли какой-нибудь рекомендуемый способ передать значения из полученного IO[Config]
? Так что, основываясь на примере проекта, часть, которая меня смущает, - фактическая передача конфигурации. Итак, если у меня есть это:
def load: IO[Config] =
for {
apiClient <- defaultApiClient[IO]
secret = secretInNamespace[IO]("secrets", apiClient)
config <- configWith(secret).orRaiseThrowable
} yield config
как я могу просто получить объект конфигурации и значения свойств и передать их в объектный файл или функцию? то есть.
def myPropertyFunc(cfg: Config) =
val myprop = cfg.http.host.value
Пример проекта имеет следующий код, который я не знаю, как включить в мою собственную упрощенную функцию:
Config.load.flatMap { config =>
IO(println(config.show)) >>
startHttpApi[IO](config)
}
Прямо сейчас я могу добраться до свойствазначение следующим образом, но вместо этого ищите рекомендуемый путь: val myprop = load.unsafeRunSync().http.host.value