def apply()

in lease-kubernetes/src/main/scala/org/apache/pekko/coordination/lease/kubernetes/KubernetesSettings.scala [44:67]


  def apply(config: Config, leaseTimeoutSettings: TimeoutSettings): KubernetesSettings = {

    val apiServerRequestTimeout =
      if (config.hasDefined("api-server-request-timeout"))
        config.getDuration("api-server-request-timeout").asScala
      else
        leaseTimeoutSettings.operationTimeout * 2 / 5 // 2/5 gives two API operations + a buffer

    require(
      apiServerRequestTimeout < leaseTimeoutSettings.operationTimeout,
      "'api-server-request-timeout can not be less than 'lease-operation-timeout'")

    new KubernetesSettings(
      config.getString("api-ca-path"),
      config.getString("api-token-path"),
      config.getString("api-service-host"),
      config.getInt("api-service-port"),
      config.optDefinedValue("namespace"),
      config.getString("namespace-path"),
      apiServerRequestTimeout,
      secure = config.getBoolean("secure-api-server"),
      apiServerRequestTimeout / 2)

  }