abstract class FixedDomainHost[AppParams] extends ServerHost[AppParams]
A glngn server application with a fixed deployment name and top level domain. Simplifies building a server application that includes only a specific set of services bundled with the server jar. Also enables adding domain specific parameters to the application.
- Grouped
- Alphabetic
- By Inheritance
- FixedDomainHost
- ServerHost
- IOLogging
- PreludeBuilders
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Type Members
-
type
BaseEnvironment = Blocking with Clock with Console with System
- Definition Classes
- ServerHost
Abstract Value Members
-
abstract
val
deploymentName: String
Name of this application.
-
abstract
def
deploymentPrelude: prelude.Prelude
The prelude (List of
PreludeEntry
) included in this deployment.The prelude (List of
PreludeEntry
) included in this deployment. The structure declared here takes precedence.
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]
- Definition Classes
- ServerHost
-
def
clusteredNodeCommandHandler(params: ServerParams[AppParams], hostCommand: HostCommand): HostTask[Int]
- Definition Classes
- ServerHost
-
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.
- Definition Classes
- ServerHost
-
val
deploymentEffectBindings: List[EffectBinding]
Injectible values for this deployment.
-
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
.
- Definition Classes
- ServerHost
-
def
dispatchOnCommandParse(appParams: AppParams, commandName: String, isCommandUsage: Boolean, isCommandHelp: Boolean, maybeHostCommand: Either[caseapp.core.Error, HostCommand]): prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerHost
-
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
- Definition Classes
- ServerHost
-
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
- ServerHost
-
def
printCommandUsage(commandName: String): prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerHost
-
def
printConfigThenExit: ServerTask[Int]
- Definition Classes
- ServerHost
-
def
printConfigThenExit(config: Config): prelude.Task[Int]
- Definition Classes
- ServerHost
-
def
printFullConfigThenExit: ServerTask[Int]
- Definition Classes
- ServerHost
-
def
printFullConfigThenExit(config: Config): prelude.Task[Int]
- Definition Classes
- ServerHost
-
def
printHelpThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerHost
-
def
printUsageThenExit: prelude.ZIO[BaseEnvironment, Nothing, Int]
- Definition Classes
- ServerHost
-
def
printVersionThenExit: prelude.Task[Int]
- Definition Classes
- ServerHost
-
def
resolveConfig(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[Config]
- Definition Classes
- ServerHost
-
def
resolveDeploymentConfig(appParams: AppParams): HostTask[DeploymentConfig]
- Definition Classes
- FixedDomainHost → ServerHost
-
def
resolveDeploymentConfig(deploymentName: DeploymentName, appParams: AppParams): HostTask[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
- ServerHost
-
def
resolveEffectBindings(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[List[EffectBinding]]
- Definition Classes
- FixedDomainHost → ServerHost
-
def
resolvePrelude(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[prelude.Prelude]
Derive the deployment prelude dynamically.
Derive the deployment prelude dynamically.
By default, this is exactly:
Task(deploymentPrelude)
- Definition Classes
- FixedDomainHost → ServerHost
-
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
- ServerHost
-
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
- ServerHost
-
def
serverParamsForHost(deploymentConfig: DeploymentConfig, appParams: AppParams): HostTask[ServerParams[AppParams]]
- Definition Classes
- ServerHost
-
def
setGroupName(groupId: GroupId, groupName: GroupName): Prelude
- Definition Classes
- PreludeBuilders
-
def
standaloneHostCommand(deploymentConfig: DeploymentConfig, appParams: AppParams, hostCommand: HostCommand): HostUIO[Int]
- Definition Classes
- ServerHost
-
def
standaloneRunUntilTerm(deploymentConfig: DeploymentConfig, appParams: AppParams, stateDir: prelude.Path, options: Run): Host[TermReason]
- Definition Classes
- ServerHost
-
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
- Definition Classes
- ServerHost
-
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.