yaq-yeps/104


Daemon Entry Points

YEP:104
Title:Daemon Entry Points
Authors:Kyle Sunden
Status:accepted
Tags:standard
Post-History:2020-04-14, 2020-04-22, 2020-07-02

Abstract

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 correspondance between entry point invocations and YEP-102 confguration files. As such, multiple daemons MAY be started in a single entry point.

Table of Contents

Motivation

A standard for names and options available makes for a consistent, easy to swap out way of initiating daemons.

Specification

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.

Discussion

Discussion can be found on the gitlab issue for this YEP.

Copyright

This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.


built 2020-10-30 18:08:48                                      CC0: no copyright