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
AppCommandHandler
either return a program for assisting with usage that exits immediately or dispatches toonAppCommand
.Given a list of arguments and a
AppCommandHandler
either 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.