DockerProviderExtensions

izumi.distage.docker.DockerContainer.DockerProviderExtensions
final implicit class DockerProviderExtensions[F[_], T](self: Functoid[ContainerResource[F, T]]) extends AnyVal

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any

Members list

Value members

Concrete methods

def connectToNetwork(networkDecl: ContainerNetworkDef)(implicit tag1: Tag[ContainerNetwork[networkDecl.Tag]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
def connectToNetwork[T2](implicit tag1: Tag[ContainerNetwork[T2]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
def dependOnContainer(containerDecl: ContainerDef)(implicit tag: Tag[DockerContainer[containerDecl.Tag]]): Functoid[ContainerResource[F, T]]
def dependOnContainer[T2](implicit tag: Tag[DockerContainer[T2]]): Functoid[ContainerResource[F, T]]
def dependOnContainerPorts(containerDecl: ContainerDef)(ports: (Int, String)*)(implicit tag1: Tag[DockerContainer[containerDecl.Tag]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]

Export as environment variables inside the container the randomized values of ports of the argument running docker container

Export as environment variables inside the container the randomized values of ports of the argument running docker container

Attributes

Example
class KafkaDockerModule[F[_]: TagK] extends ModuleDef {
 make[KafkaDocker.Container].fromResource {
   KafkaDocker
     .make[F]
     .connectToNetwork(KafkaZookeeperNetwork)
     .dependOnContainerPorts(ZookeeperDocker)(2181 -> "KAFKA_ZOOKEEPER_CONNECT")
 }
}
def dependOnContainerPorts[T2](ports: (Int, String)*)(implicit tag1: Tag[DockerContainer[T2]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
def modifyConfig(modify: Functoid[ContainerConfig[T] => ContainerConfig[T]])(implicit tag: Tag[ContainerResource[F, T]]): Functoid[ContainerResource[F, T]]

Allows you to modify Docker.ContainerConfig while summoning additional dependencies from the object graph using izumi.distage.model.providers.Functoid.

Allows you to modify Docker.ContainerConfig while summoning additional dependencies from the object graph using izumi.distage.model.providers.Functoid.

Example:

 KafkaDocker
   .make[F]
   .modifyConfig {
     (zookeeperDocker: ZookeeperDocker.Container, net: KafkaZookeeperNetwork.Network) =>
       (old: KafkaDocker.Config) =>
         val zkEnv = KafkaDocker.config.env ++ Map("KAFKA_ZOOKEEPER_CONNECT" -> s"${zookeeperDocker.hostName}:2181")
         val zkNet = KafkaDocker.config.networks + net
         old.copy(env = zkEnv, networks = zkNet)
   }

Attributes