YEP: | 104 |
---|---|
Title: | Daemon Entry Points |
Authors: | Kyle Sunden |
Status: | accepted |
Tags: | standard |
Post-History: | 2020-04-14, 2020-04-22, 2020-07-02 |
This YEP defines the standard for entry points for yaq daemons.
The entry point executable name is defined as yaqd-<kind>
where <kind>
is a lower case name for the daemon with words separated by hyphens.
Additionally, this defines flags required on the entry points.
There is a 1-to-1 correspondence between entry point invocations and YEP-102 configuration files.
As such, multiple daemons MAY be started in a single entry point.
A standard for names and options available makes for a consistent, easy to swap out way of initiating daemons.
The standard entry point to initiate a daemon SHALL be yaqd-<kind>
where <kind>
is a lowercase name for the daemon with words separated by hyphens, as returned by the id
method of the daemon.
Examples of valid entry points include yaqd-hardware
, yaqd-micro-hr
, and yaqd-zaber-binary
.
The entry point SHALL accept the option --help
and the short form -h
of this option, which prints usage information and exts without starting daemons.
The entry point SHALL accept the option --config <filepath>
and the short form -c
of this option.
Each daemon specified by the config file SHALL be started.
They MAY (and for technical reasons must in some cases) be served from the same process.
The entry point SHALL accept the option --version
which prints version information, and exits without starting daemons.
The version of the implementation package (in whatever language) MUST be included.
Relevant versions such as core implementation and language MAY be included.
Each MUST be clearly identified.
The entry point SHALL accept the option --log-level <level>
and the short form -l
which sets the filter level of the log entries. The log level is the lower case name as defined in YEP-106.
The entry point SHALL accept the option --verbose
and the short form -v
, which is equivalent to --log-level debug
, as defined in YEP-106.
The entry point SHALL accept the option --protocol
which prints the YEP-107 Avro protocol json.
This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.
built 2023-10-10 23:52:42 CC0: no copyright