All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.touk.nussknacker.k8s.manager.K8sDeploymentManagerConfig.scala Maven / Gradle / Ivy

package pl.touk.nussknacker.k8s.manager

import com.typesafe.config.{Config, ConfigFactory}
import pl.touk.nussknacker.engine.util.config.ConfigEnrichments.RichConfig
import pl.touk.nussknacker.engine.version.BuildInfo
import pl.touk.nussknacker.k8s.manager.deployment.K8sScalingConfig
import pl.touk.nussknacker.k8s.manager.ingress.IngressConfig
import K8sScalingConfig.valueReader
import net.ceedubs.ficus.Ficus._
import net.ceedubs.ficus.readers.ArbitraryTypeReader._
import pl.touk.nussknacker.engine.util.config.ScalaMajorVersionConfig
import scala.concurrent.duration._

object K8sDeploymentManagerConfig {
  def parse(config: Config): K8sDeploymentManagerConfig = config.rootAs[K8sDeploymentManagerConfig]
}

case class K8sDeploymentManagerConfig(
    dockerImageName: String = "touk/nussknacker-lite-runtime-app",
    dockerImageTag: String = s"${BuildInfo.version}_scala-${ScalaMajorVersionConfig.scalaMajorVersion}",
    scalingConfig: Option[K8sScalingConfig] = None,
    configExecutionOverrides: Config = ConfigFactory.empty(),
    k8sDeploymentConfig: Config = ConfigFactory.empty(),
    nussknackerInstanceName: Option[String] = None,
    logbackConfigPath: Option[String] = None,
    commonConfigMapForLogback: Option[String] = None,
    ingress: Option[IngressConfig] = None,
    servicePort: Int = 80,
    scenarioStateIdleTimeout: FiniteDuration = 3 seconds
)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy