istore

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)