abstract class ServerApp[AppParams] extends prelude.IOLogging
A ZIO application hosting at least one server node.
Start with DynamicConfigApp then FixedDomainApp.
- Grouped
- Alphabetic
- By Inheritance
- ServerApp
- IOLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Type Members
-  type BaseEnvironment = Blocking with Clock with Console with System
Abstract Value Members
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        resolveDeploymentConfig(appParams: AppParams): AppTask[DeploymentConfig]
      
      
      Given the application parameters provide the glngn deployment configuration. 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        resolveEffectBindings(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[List[EffectBinding]]
      
      
      Given the application parameters resolve the effect bindings for this deployment. 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        resolvePrelude(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[Prelude]
      
      
      Given the server parameters, resolve the prelude for this server deployment. 
Concrete Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        lazy val
      
      
        _unsafeLogger: prelude.Logger
      
      
      - Attributes
- protected
- Definition Classes
- IOLogging
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
 
-  def clusteredAppCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, appCommand: AppCommand): AppUIO[Int]
-  def clusteredNodeCommandHandler(params: ServerParams[AppParams], appCommand: AppCommand): AppTask[Int]
- 
      
      
      
        
      
    
      
        
        def
      
      
        clusteredRunUntilTerm(params: ServerParams[AppParams]): ServerIO[node.Error, node.TermReason]
      
      
      Does not complete until this cluster node completes. Does not complete until this cluster node completes. Returns cause of termination. Error occurs if the server is unable to start. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        dispatchOnArgs(args: List[String]): prelude.ZIO[BaseEnvironment, Nothing, Int]
      
      
      Given a list of arguments and a AppCommandHandlereither return a program for assisting with usage that exits immediately or dispatches toonAppCommand.Given a list of arguments and a AppCommandHandlereither return a program for assisting with usage that exits immediately or dispatches toonAppCommand.Specifically, this is one of: 0. on no args provided: a program that reports the error and exits with status code 1. - on failure to parse param args a program that reports the error and exits with status code 1.
- on failure to parse a command a program that reports the error and exits with status code 1.
    2. on usage or help request a program that provides the requested output and exits with
    status code 0.
    3. on command the parsed command and params are provided to onAppCommand.
 
-  def dispatchOnCommandParse(appParams: AppParams, commandName: String, isCommandUsage: Boolean, isCommandHelp: Boolean, maybeAppCommand: Either[caseapp.core.Error, AppCommand]): prelude.ZIO[BaseEnvironment, Nothing, Int]
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      - Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      - Definition Classes
- Any
 
-  final def main(args: Array[String]): Unit
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native()
 
-  def printCommandHelp(commandName: String): prelude.ZIO[BaseEnvironment, Nothing, Int]
-  def printCommandUsage(commandName: String): prelude.ZIO[BaseEnvironment, Nothing, Int]
-  def printConfigThenExit: ServerTask[Int]
-  def printConfigThenExit(config: Config): prelude.Task[Int]
-  def printFullConfigThenExit: ServerTask[Int]
-  def printFullConfigThenExit(config: Config): prelude.Task[Int]
-  def printHelpThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]
-  def printUsageThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]
-  def printVersionThenExit: prelude.Task[Int]
-  def resolveConfig(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[Config]
- 
      
      
      
        
      
    
      
        
        def
      
      
        resolveDeploymentConfig(deploymentName: DeploymentName, appParams: AppParams): AppTask[DeploymentConfig]
      
      
      Given a name of the deployment and application parameters, resolve the configuration of this deployment. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        run(args: List[String]): prelude.ZIO[BaseEnvironment, Nothing, Int]
      
      
      Given application arguments as a list of strings (EG: executable args provided to main). Given application arguments as a list of strings (EG: executable args provided to main). Provide a server application that, when run, will complete once the server completes. Returning the numeric exit code of the server application. Default implementation: dispatchOnArgs(args) 
- 
      
      
      
        
      
    
      
        
        def
      
      
        runUntilExit[R <: Logging](app: prelude.ZIO[R, Error, TermReason]): prelude.ZIO[R, Nothing, Int]
      
      
      Does not complete until the server completes. Does not complete until the server completes. Returns process exit code. An exit code of 0 indicates the server completed due to a normal event. An exit code of non-0 indicates an unrecoverable error occurred. 
-  def serverParamsForApp(deploymentConfig: DeploymentConfig, appParams: AppParams): AppTask[ServerParams[AppParams]]
-  def standaloneAppCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, appCommand: AppCommand): AppUIO[Int]
-  def standaloneRunUntilTerm(deploymentConfig: DeploymentConfig, appParams: AppParams, stateDir: prelude.Path, options: Run): App[TermReason]
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
 
- 
      
      
      
        
      
    
      
        
        object
      
      
        logger
      
      
      - Definition Classes
- IOLogging
 
glngn server is a low-code business process as a service rapid development system. Conceptually similar to a programmable Microsoft Access or Apple FileMaker for scalable event sourced business services. In addition to a library, a standalone application is provided that is useful with minimal ceremony. This can be customized with a simple API. As well as deployed to a kubernetes cluster should those advantages be required.
A deployment is cluster glngn.server.Nodes serving a dynamic composition of glngn.server.ServiceFragments. Deployments are designed to be fully usable as a standalone local application or a kubernetes service.
Contact support@dogheadbone.com for support and licensing.