izumi.distage.roles

Members list

Concise view

Type members

Classlikes

object DebugProperties extends DebugProperties

Attributes

Graph
Supertypes
trait DebugProperties
class Object
trait Matchable
class Any
Self type
class RoleAppBootArgsModule[F[_]](args: ArgV, requiredRoles: RequiredRoles)(implicit evidence$1: Tag[F], evidence$2: DefaultModule[F]) extends ModuleDef

Attributes

Graph
Supertypes
trait ModuleDef
trait ModuleDefDSL
trait TagsDSL
trait IncludesDSL
trait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]
trait AbstractBindingDefDSLMacro[MakeDSL]
trait Module
trait ModuleBase
trait CachedHashcode
class Object
trait Matchable
class Any
class RoleAppBootConfigModule[F[_]]()(implicit evidence$1: Tag[F], evidence$2: DefaultModule[F]) extends ModuleDef

Attributes

Graph
Supertypes
trait ModuleDef
trait ModuleDefDSL
trait TagsDSL
trait IncludesDSL
trait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]
trait AbstractBindingDefDSLMacro[MakeDSL]
trait Module
trait ModuleBase
trait CachedHashcode
class Object
trait Matchable
class Any
class RoleAppBootLoggerModule[F[_]]()(implicit evidence$1: Tag[F], evidence$2: DefaultModule[F]) extends ModuleDef

Attributes

Graph
Supertypes
trait ModuleDef
trait ModuleDefDSL
trait TagsDSL
trait IncludesDSL
trait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]
trait AbstractBindingDefDSLMacro[MakeDSL]
trait Module
trait ModuleBase
trait CachedHashcode
class Object
trait Matchable
class Any
class RoleAppBootModule[F[_]](shutdownStrategy: AppShutdownStrategy[F], pluginConfig: PluginConfig, bootstrapPluginConfig: PluginConfig, appArtifact: IzArtifact, unusedValidAxisChoices: Set[AxisChoice])(implicit evidence$1: Tag[F], evidence$2: DefaultModule[F]) extends ModuleDef

This module is only used by the application launcher, but NOT by distage-testkit

This module is only used by the application launcher, but NOT by distage-testkit

Application flow:

  1. Parse commandline parameters
  2. Create "early logger" (console sink & configurable log level)
  3. Show startup banner
  4. Load raw config
  5. Create "late logger" using config
  6. Enumerate app plugins and bootstrap plugins
  7. Enumerate available roles, show role info and and apply merge strategy/conflict resolution
  8. Validate loaded roles (for non-emptyness and conflicts between bootstrap and app plugins)
  9. Build plan for izumi.functional.quasi.QuasiIORunner
  10. Build plan for integration checks
  11. Build plan for application
  12. Run role tasks
  13. Run role services
  14. Await application termination
  15. Run finalizers
  16. Shutdown executors

Attributes

Graph
Supertypes
trait ModuleDef
trait ModuleDefDSL
trait TagsDSL
trait IncludesDSL
trait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]
trait AbstractBindingDefDSLMacro[MakeDSL]
trait Module
trait ModuleBase
trait CachedHashcode
class Object
trait Matchable
class Any
class RoleAppBootPlatformModule[F[_]]()(implicit evidence$1: Tag[F], evidence$2: DefaultModule[F]) extends ModuleDef

Attributes

Graph
Supertypes
trait ModuleDef
trait ModuleDefDSL
trait TagsDSL
trait IncludesDSL
trait AbstractBindingDefDSL[MakeDSL, MakeDSLUnnamedAfterFrom, SetDSL]
trait AbstractBindingDefDSLMacro[MakeDSL]
trait Module
trait ModuleBase
trait CachedHashcode
class Object
trait Matchable
class Any
abstract class RoleAppMain[F[_]](implicit val tagK: Tag[F], val defaultModule: DefaultModule[F], val artifact: IzArtifactMaterializer) extends RoleCheckableApp[F]

Create a launcher for role-based applications by extending this in a top-level object

Create a launcher for role-based applications by extending this in a top-level object

Attributes

See also:
Example:
import izumi.distage.framework.RoleAppMain
import izumi.distage.plugins.PluginConfig
object RoleLauncher extends RoleAppMain.LauncherBIO[zio.IO] {
 override def pluginConfig: PluginConfig = {
   PluginConfig.cached(pluginsPackage = "my.example.app.plugins")
 }
}
Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type