object DynamicConfigApp extends ServerApp[DynamicConfigOptions]
A server with dynamic configuration. This is the default main and a good place to start extending for a new domain.
This provides a base config of:
- initial state defined by configuration file or command line arguments
- all service fragments under glngn.server.services are enabled
- operations interfaces for all instantiated services
- ad-hoc definition of singleton services and operations by operators
- TODO: dynamic loading of service fragment jars built using the SDK (of this jar)
- Grouped
- Alphabetic
- By Inheritance
- DynamicConfigApp
- ServerApp
- IOLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
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: DynamicConfigOptions, appCommand: AppCommand): AppUIO[Int]
- Definition Classes
- ServerApp
-
def
clusteredNodeCommandHandler(params: ServerParams[DynamicConfigOptions], appCommand: AppCommand): AppTask[Int]
- Definition Classes
- ServerApp
-
def
clusteredRunUntilTerm(params: ServerParams[DynamicConfigOptions]): 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.
- Definition Classes
- ServerApp
-
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
.
- Definition Classes
- ServerApp
-
def
dispatchOnCommandParse(appParams: DynamicConfigOptions, commandName: String, isCommandUsage: Boolean, isCommandHelp: Boolean, maybeAppCommand: Either[caseapp.core.Error, AppCommand]): prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerApp
-
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
- Definition Classes
- ServerApp
-
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]
- Definition Classes
- ServerApp
-
def
printCommandUsage(commandName: String): prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerApp
-
def
printConfigThenExit: ServerTask[Int]
- Definition Classes
- ServerApp
-
def
printConfigThenExit(config: Config): prelude.Task[Int]
- Definition Classes
- ServerApp
-
def
printFullConfigThenExit: ServerTask[Int]
- Definition Classes
- ServerApp
-
def
printFullConfigThenExit(config: Config): prelude.Task[Int]
- Definition Classes
- ServerApp
-
def
printHelpThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerApp
-
def
printUsageThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerApp
-
def
printVersionThenExit: prelude.Task[Int]
- Definition Classes
- ServerApp
-
def
resolveConfig(deploymentConfig: DeploymentConfig, appParams: DynamicConfigOptions): AppTask[Config]
- Definition Classes
- DynamicConfigApp → ServerApp
-
def
resolveDeploymentConfig(appParams: DynamicConfigOptions): AppTask[DeploymentConfig]
- Definition Classes
- DynamicConfigApp → ServerApp
-
def
resolveDeploymentConfig(deploymentName: DeploymentName, appParams: DynamicConfigOptions): AppTask[DeploymentConfig]
Given a name of the deployment and application parameters, resolve the configuration of this deployment.
Given a name of the deployment and application parameters, resolve the configuration of this deployment.
- Definition Classes
- ServerApp
-
def
resolveEffectBindings(deploymentConfig: DeploymentConfig, appParams: DynamicConfigOptions): AppTask[List[EffectBinding]]
TODO: no supported mechanism to config
TODO: no supported mechanism to config
- Definition Classes
- DynamicConfigApp → ServerApp
-
def
resolvePrelude(deploymentConfig: DeploymentConfig, appParams: DynamicConfigOptions): AppTask[Prelude]
TODO: no supported mechanism to config
TODO: no supported mechanism to config
- Definition Classes
- DynamicConfigApp → ServerApp
-
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)
- Definition Classes
- ServerApp
-
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.
- Definition Classes
- ServerApp
-
def
serverParamsForApp(deploymentConfig: DeploymentConfig, appParams: DynamicConfigOptions): AppTask[ServerParams[DynamicConfigOptions]]
- Definition Classes
- ServerApp
-
def
standaloneAppCommand(deploymentConfig: DeploymentConfig, appParams: DynamicConfigOptions, appCommand: AppCommand): AppUIO[Int]
- Definition Classes
- ServerApp
-
def
standaloneRunUntilTerm(deploymentConfig: DeploymentConfig, appParams: DynamicConfigOptions, stateDir: prelude.Path, options: Run): App[TermReason]
- Definition Classes
- ServerApp
-
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.