izumi.distage.roles
package izumi.distage.roles
Members list
Packages
package izumi.distage.roles.bundled
package izumi.distage.roles.launcher
package izumi.distage.roles.model
Type members
Classlikes
object DebugProperties extends DebugProperties
Attributes
- Supertypes
- Self type
-
DebugProperties.type
class RoleAppBootArgsModule(args: ArgV, requiredRoles: RequiredRoles) extends ModuleDef, RoleAppBootArgsModulePlatformSpecific
Attributes
- Supertypes
-
trait ModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait Moduletrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class RoleAppBootArgsModule
class RoleAppBootConfigModule() extends ModuleDef
Attributes
- Supertypes
-
trait ModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait Moduletrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
class RoleAppBootLoggerModule(crashLogRouterRef: Option[CrashLogRouterRef]) extends ModuleDef
Attributes
- Supertypes
-
trait ModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait Moduletrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
class RoleAppBootModule[F[_]](shutdownStrategy: AppShutdownStrategy[F], pluginConfig: PluginConfig, bootstrapPluginConfig: PluginConfig, appArtifact: IzArtifact, unusedValidAxisChoices: Set[AxisChoice], crashLogRouterRef: Option[CrashLogRouterRef])(using 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:
- Parse commandline parameters
- Create "early logger" (console sink & configurable log level)
- Show startup banner
- Load raw config
- Create "late logger" using config
- Enumerate app plugins and bootstrap plugins
- Enumerate available roles, show role info and apply merge strategy/conflict resolution
- Validate loaded roles (for non-emptyness and conflicts between bootstrap and app plugins)
- Build plan for izumi.functional.quasi.QuasiIORunner
- Build plan for integration checks
- Build plan for application
- Run role tasks
- Run role services
- Await application termination
- Run finalizers
- Shutdown executors
Attributes
- Supertypes
-
trait ModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait Moduletrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
class RoleAppBootPlatformModule(crashLogRouterRef: Option[CrashLogRouterRef]) extends ModuleDef
Attributes
- Supertypes
-
trait ModuleDeftrait ModuleDefDSLtrait TagsDSLtrait IncludesDSLtrait Moduletrait ModuleBasetrait CachedHashcodeclass Objecttrait Matchableclass AnyShow all
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
- Supertypes
- Known subtypes
-
class LauncherBIO[F]class LauncherIdentity
object RoleAppMain
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
RoleAppMain.type
In this article