Packages

package roles

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package bundled
  2. package launcher
  3. package model

Type Members

  1. class RoleAppBootArgsModule[F[_]] extends ModuleDef
  2. class RoleAppBootConfigModule[F[_]] extends ModuleDef
  3. class RoleAppBootLoggerModule[F[_]] extends ModuleDef
  4. class RoleAppBootModule[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

  5. class RoleAppBootPlatformModule[F[_]] extends ModuleDef
  6. abstract class RoleAppMain[F[_]] 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

    Example:
    1. 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")
        }
      
      }
    See also

    Roles

    Plugins

Ungrouped