2021-06-17 12:57:06 +00:00
|
|
|
version 1 .
|
2021-07-22 12:12:53 +00:00
|
|
|
embeddedType EntityRef.Cap .
|
2021-06-17 12:57:06 +00:00
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# Asserts that a service should begin (and stay) running after waiting
|
|
|
|
# for its dependencies and considering reverse-dependencies, blocks,
|
|
|
|
# and so on.
|
2021-06-25 07:45:38 +00:00
|
|
|
RequireService = <require-service @serviceName any>.
|
2021-09-24 10:55:41 +00:00
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# Asserts that a service should begin (and stay) running RIGHT NOW,
|
|
|
|
# without considering its dependencies.
|
2021-09-24 10:55:41 +00:00
|
|
|
RunService = <run-service @serviceName any>.
|
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# Asserts one or more current states of service `serviceName`. The
|
|
|
|
# overall state of the service is the union of asserted `state`s.
|
|
|
|
#
|
|
|
|
# Only a few combinations make sense:
|
|
|
|
# - `started`
|
|
|
|
# - `started` + `ready`
|
|
|
|
# - `failed`
|
|
|
|
# - `complete`
|
|
|
|
#
|
2021-09-27 11:48:26 +00:00
|
|
|
ServiceState = <service-state @serviceName any @state State>.
|
2021-09-24 10:55:41 +00:00
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# A running service publishes zero or more of these. The details of
|
|
|
|
# the object vary by service.
|
|
|
|
#
|
2021-10-06 19:51:08 +00:00
|
|
|
ServiceObject = <service-object @serviceName any @object any>.
|
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# Possible service states.
|
2021-09-27 11:48:26 +00:00
|
|
|
State =
|
2023-10-31 20:56:44 +00:00
|
|
|
/ # The service has begun its startup routine, and may or may not be
|
|
|
|
# ready to take requests from other parties.
|
2021-09-27 11:50:29 +00:00
|
|
|
=started
|
2023-10-31 20:56:44 +00:00
|
|
|
/ # The service is ready to take requests from other parties.
|
|
|
|
# (This state is special in that it is asserted *in addition* to `started`.)
|
2021-09-27 11:50:29 +00:00
|
|
|
=ready
|
2023-10-31 20:56:44 +00:00
|
|
|
/ # The service has failed.
|
2021-09-27 11:50:29 +00:00
|
|
|
=failed
|
2023-10-31 20:56:44 +00:00
|
|
|
/ # The service has completed execution.
|
2021-09-27 11:50:29 +00:00
|
|
|
=complete
|
2023-10-31 20:56:44 +00:00
|
|
|
/ # Extension or user-defined state
|
2022-02-03 21:55:06 +00:00
|
|
|
@userDefined any
|
2021-09-27 11:48:26 +00:00
|
|
|
.
|
2021-09-24 10:55:41 +00:00
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# Asserts that, when `depender` is `require-service`d, it should not be started until
|
|
|
|
# `dependee` has been asserted, and also that `dependee`'s `serviceName` should be
|
|
|
|
# `require-service`d.
|
2021-09-27 11:48:26 +00:00
|
|
|
ServiceDependency = <depends-on @depender any @dependee ServiceState>.
|
2021-09-24 10:55:41 +00:00
|
|
|
|
2023-10-31 20:56:44 +00:00
|
|
|
# Message. Triggers a service restart.
|
2022-01-07 14:29:20 +00:00
|
|
|
RestartService = <restart-service @serviceName any>.
|