File:  [Coherent Logic Development] / freem / doc / env.conf.5
Revision 1.3: download - view: text, annotated - select for diffs
Sun Apr 20 03:13:17 2025 UTC (6 weeks, 6 days ago) by snw
Branches: MAIN
CVS tags: HEAD
Updates to init_execution_context

.\" To display this man page, either:
.\"   1) Install this file along with the other subject.1 files in your
.\"      system's man1 directory (usually this is /usr/man/man1) and
.\"      enter the command:
.\"        man freem
.\"   or
.\"   2) Specify the input (this file) and the output (your favorite pager)
.\"      explicitly.  For example, if this file is in your current working
.\"      directory, you can use the following to view the formatted man page
.\"      using the "less" pager:
.\"        man ./freem.1 | less
.\"
.\" To print this man page to a PostScript printer:
.\"   man -t ./freem.1 | lpr
.\"
.\"   $Id: env.conf.5,v 1.3 2025/04/20 03:13:17 snw Exp $
.\"    FreeM env.conf man page
.\"
.\"  
.\"   Author: Serena Willis <snw@coherent-logic.com>
.\"    Copyright (C) 1998 MUG Deutschland
.\"    Copyright (C) 2020, 2025 Coherent Logic Development LLC
.\"
.\"
.\"   This file is part of FreeM.
.\"
.\"   FreeM is free software: you can redistribute it and/or modify
.\"   it under the terms of the GNU Affero Public License as published by
.\"   the Free Software Foundation, either version 3 of the License, or
.\"   (at your option) any later version.
.\"
.\"   FreeM is distributed in the hope that it will be useful,
.\"   but WITHOUT ANY WARRANTY; without even the implied warranty of
.\"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\"   GNU Affero Public License for more details.
.\"
.\"   You should have received a copy of the GNU Affero Public License
.\"   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
.\"
.\"   $Log: env.conf.5,v $
.\"   Revision 1.3  2025/04/20 03:13:17  snw
.\"   Updates to init_execution_context
.\"
.\"   Revision 1.2  2025/04/17 17:57:35  snw
.\"   Major updates to man pages
.\"
.\"   Revision 1.1  2025/04/17 15:55:21  snw
.\"   Add env.conf man page
.\"
.\"
.TH env.conf 5 "17 April 2025" FreeM "FreeM User Manual"
.SH NAME
env.conf - FreeM environment catalog
.SH DESCRIPTION
.PP
$PREFIX/etc/env.conf
contains configuration information for FreeM environments.

A FreeM environment is a collection of FreeM resources comprising the following elements:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
One and only one environment daemon responsible for managing shared environment resources, including the lock table, job table, memory-backed globals, and inter-process communication
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
At least two namespaces: minimally,
\fISYSTEM\fR
and
\fIUSER\fR
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
A set of pre-installed vendor routines located in the environment's
\fISYSTEM\fR
namespace.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Zero or more instances of the FreeM interpreter running M application code
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Zero or more fmadm processes for managing the environment
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Optionally, an after-image journal, providing recoverability under certain abnormal conditions
.RE
.PP
The file is organized into a series of sections, such as
\fI[DEFAULT]\fR
, indicating the environment name to which the configuration values beneath it will apply
.RE
.SH CONFIGURABLE OPTIONS
.TP
user
.RS 4
The user account under which the environment will run - the default is
\fIfreem\fR
.RE
.TP
group
.RS 4
The group under which the environment will run - note that any users wishing to interact with the environment will need to belong to this group, and the default is
.RE
\fIfreem\fR
.TP
enabled
.RS 4
A
\fItrue\fR
or
\fIfalse\fR
value indicating whether or not the environment is administratively enabled - default is
\fItrue\fR
.RE
.TP
env_path
.RS 4
An absolute filesystem path to the root of the filesystem - default is
\fI$PREFIX/var/freem/<environment-name>\fR
.RE
.TP
log_threshold_file
.RS 4
The minimum threshold at which log messages will be sent to
\fI/var/log/freem/<environment-name>.log\fR
(may be overridden for a specific process by setting the
\fI$FREEM_LOG_THRESHOLD_FILE\fR
environment variable prior to launching the process)

(see the
\fBLOG THRESHOLD VALUES\fR
section for details)
.RE
.TP
log_threshold_syslog
.RS 4
The minimum threshold at which log messages will be sent to the system's
\fIsyslog\fR
facility, if supported on your platform
(may be overridden for a specific process by setting the
\fI$FREEM_LOG_THRESHOLD_SYSLOG\fR
environment variable prior to launching the process)

(see the
\fBLOG THRESHOLD VALUES\fR
section for details)
.RE
.TP
log_threshold_stderr
.RS 4
The minimum threshold at which log messages will be echoed to
\fIstderr\fR
(may be overridden for a specific process by setting the
\fI$FREEM_LOG_THRESHOLD_STDERR\fR
environment variable prior to launching the process)

(see the
\fBLOG THRESHOLD VALUES\fR
section for details)
.RE
.SH LOG THRESHOLD VALUES
This section details the valid values for each of the
\fIlog_threshold_*\fR
values, and each value indicates a minimum diagnostic level at which the indicated class of message will be delivered through the selected mechanism. All messages with an equal or higher diagnostic level than the class indicated will be delivered, i.e., if
\fIwarning\fR
is selected, messages with a diagnostic class of
\fIwarning, error, and fatal\fR
will be delivered through the selected mechanism.

Valid values for each of these configuration keys are as follows:
.TP
debug
.RS 4
Messages useful mostly for developers contributing to FreeM itself. Will produce a high volume of log messages, and is likely to impact system performance. Not recommended for production usage.
.RE
.TP
info
.RS 4
Includes messages of an informational nature. Will produce a moderately high volume of log messages. For heavily multi-user and multi-process systems, it is recommended to use
\fIwarning\fR
instead.
.RE
.TP
warning
.RS 4
Includes warning messages. These indicate conditions (including retries when attempting to acquire semaphores) that warrant further investigation by the system operator, but do not typically prevent applications from running.
.RE
.TP
error
.RS 4
Includes error messages. This class of messages indicates that a recoverable error has occurred in the FreeM engine. Warrants immediate attention by the system operator.
.RE
.TP
fatal
.RS 4
Includes messages indicating errors that are not recoverable. If this class of message occurs, the process that triggered the message has terminated abnormally. Requires immediate system operator intervention, and can indicate gross misconfiguration of the FreeM engine or the host operating system environment, or even a FreeM bug.
.RE
.SH AUTHOR
Written by Serena Willis (snw@coherent-logic.com)
.SH COPYRIGHT
Copyright (C) 2025 Coherent Logic Development LLC

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover texts, and with no Back-Cover Texts.

.SH "FILES"
.PP
$PREFIX/etc/freem/env.conf
.RS 4
FreeM environment catalog
.RE
.SH "SEE ALSO"
.PP
\fBfreem\fR(1),
\fBfmadm\fR(8),
\fBfreem.conf\fR(5)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>