Передача объекта конфигурации из загрузчика Ciris-Kubernetes - PullRequest
0 голосов
/ 30 сентября 2019

Я могу прочитать мои секреты 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

...