istore(8gx)

Name
istore — Gromox Information Store launcher

Synopsis
/usr/libexec/gromox/istore [-c config]

Description
The Gromox Information Store, exmdb_provider(4gx), is built as a shared object, and can be either be loaded by gromox-http(8) or run in a separate process which is gromox-istore. The benefit of a separate process is improved debuggability.

Options

-c config
    Read configuration directives from the given file. If this option is not specified, /etc/gromox/gromox.cfg will be read if it exists.

-x userdir
    Used internally by istore to re-launch itself as a single-store worker process. This option is not meant to be used by administrators.

Configuration directives (gromox.cfg)
The following directives are recognized when reading from /etc/gromox/gromox.cfg, or when the -c option is used to specify a custom file:

config_file_path
    Colon-separated list of directories which will be scanned when locating further configuration files, especially those used by subcomponent instances. (For example, mysql_adaptor(4gx) would be directed to look at /etc/gromox/istore/mysql_adaptor.cfg before /etc/gromox/mysql_adaptor.cfg.)
    Default: /etc/gromox/istore:/etc/gromox

daemons_fd_limit
    In gromox-istore, this is treated as an alias for istore_fd_limit.

data_file_path
    Colon-separated list of directories which will be scanned when locating data files.
    Default: /usr/share/gromox/istore:/usr/share/gromox

host_id
    A unique identifier for this system. It is used for the Server HTTP responses header, for components like exmdb_provider(4gx), which makes use of it for SMTP HELO lines, for DSN report texts, for MIDB database/EML cache. The identifier should only use characters allowed for hostnames.
    Default: (system hostname)

istore_fd_limit
    Request that the file descriptor table be at least this large. The magic value 0 indicates that the system default hard limit (rlim_max, cf. setrlimit(2)) should be used.
    Default: 0

istore_log_file
    Target for log messages here. Special values: "-" (stderr/syslog depending on parent PID) or "syslog" are recognized.
    Default: - (auto)

istore_log_level
    Maximum verbosity of logging. 1=crit, 2=error, 3=warn, 4=notice, 5=info, 6=debug.
    Default: 4 (notice)

istore_standalone
    A bitmask controlling how the Information Store code should split itself up to run as separate processes in separate address spaces.
    Flag 0x1: Separation of the Information Store from the HTTP server. If set, the Information Store is to be launched from /usr/libexec/gromox/istore (e.g. the gromox-istore.service systemd unit) and not from /usr/libexec/gromox/http (gromox-http.service).
    Flag 0x2: Separation of individual stores. If set, the Information Store director, i.e. the code that has the port 5000 listening socket open, will spawn worker processes instead of threads.
    Default: 0

running_identity
    An unprivileged user account to switch the process to after startup. To inhibit the switch, assign the empty value.
    Default: gromox

Signals
Upon receipt of SIGHUP, configuration files are re-read, but only a few select directives can be changed this way, as many parts do not implement reload.

See also
gromox(7), exmdb_provider(4gx)