abstract class ServerHost[AppParams] extends PreludeBuilders with prelude.IOLogging
An application hosting at least one server node.
Start with DynamicConfigHost then FixedDomainHost.
- Grouped
- Alphabetic
- By Inheritance
- ServerHost
- IOLogging
- PreludeBuilders
- 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): HostTask[DeploymentConfig]
Given the application parameters resolve the deployment configuration.
-
abstract
def
resolveEffectBindings(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[List[EffectBinding]]
Given the application parameters resolve the effect bindings for this deployment.
-
abstract
def
resolvePrelude(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[Prelude]
Given the server parameters, resolve the prelude for this server deployment.
Given the server parameters, resolve the prelude for this server deployment.
The standardPrelude is prefixed to this glngn.server.model.Prelude.
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 clusteredHostCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, hostCommand: HostCommand): HostUIO[Int]
- def clusteredNodeCommandHandler(params: ServerParams[AppParams], hostCommand: HostCommand): HostTask[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
HostCommandHandler
either return a program for assisting with usage that exits immediately or dispatches toonHostCommand
.Given a list of arguments and a
HostCommandHandler
either return a program for assisting with usage that exits immediately or dispatches toonHostCommand
.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
onHostCommand
.
- def dispatchOnCommandParse(appParams: AppParams, commandName: String, isCommandUsage: Boolean, isCommandHelp: Boolean, maybeHostCommand: Either[caseapp.core.Error, HostCommand]): prelude.ZIO[BaseEnvironment, Nothing, Int]
-
val
empty: Prelude
- Definition Classes
- PreludeBuilders
-
def
enableGroup(groupId: GroupId, entry: Enable): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableGroup(groupId: GroupId, groupName: Option[GroupName], operators: Option[Set[Identity]]): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableGroup(groupId: GroupId, groupName: GroupName, operators: Set[Identity]): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableGroup(groupId: GroupId, operators: Set[Identity]): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableGroup(groupId: GroupId, groupName: GroupName): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableGroup(groupId: GroupId): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableService(groupId: GroupId, serviceId: ServiceId, logicalServiceId: LogicalServiceId): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableService(groupId: GroupId, serviceId: ServiceId, serviceFragment: ServiceFragment): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableService(logicalServiceId: LogicalServiceId, serviceFragment: ServiceFragment): Prelude
- Definition Classes
- PreludeBuilders
-
def
enableService(serviceFragment: ServiceFragment): Prelude
- Definition Classes
- PreludeBuilders
-
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): HostTask[Config]
-
def
resolveDeploymentConfig(deploymentName: DeploymentName, appParams: AppParams): HostTask[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 serverParamsForHost(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[ServerParams[AppParams]]
-
def
setGroupName(groupId: GroupId, groupName: GroupName): Prelude
- Definition Classes
- PreludeBuilders
- def standaloneHostCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, hostCommand: HostCommand): HostUIO[Int]
- def standaloneRunUntilTerm(deploymentConfig: DeploymentConfig, appParams: AppParams, stateDir: prelude.Path, options: Run): Host[TermReason]
-
def
standardPrelude: Prelude
The standardPrelude is prefixed to resolvePrelude.
The standardPrelude is prefixed to resolvePrelude. This adds the services under glngn.server.services to the set of available services but does not instantiate any of these services.
To remove all standard services:
override def standardPrelude: Prelude = Prelude.empty
-
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 of glngn.server.node.AppNodes 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.