From c2e8585801f7c48f66de7fc25f50d911d36b0430 Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Thu, 15 Aug 2019 17:40:25 -0700 Subject: [PATCH] Docs updates --- docs/administration-faq.rst | 9 +- docs/environment-variables.rst | 222 ++++++++++++++++++++++++++++++++- 2 files changed, 227 insertions(+), 4 deletions(-) diff --git a/docs/administration-faq.rst b/docs/administration-faq.rst index 1cb3bca..9fa880d 100644 --- a/docs/administration-faq.rst +++ b/docs/administration-faq.rst @@ -3,7 +3,7 @@ Administration FAQ ================== -.. topic:: Duplicate log entries when using log() function +.. topic:: Duplicate log entries when using :func:`log()` function Because GenieACS uses a full fledged scripting language for device configuration, the only way to guarantee that it has satisfied the 'desired @@ -14,7 +14,7 @@ Administration FAQ scripts themselves are pure functions in the context of a session (e.g. Date.now() always returns the same value within the session). - To illustrate further, consider following script: + To illustrate with an example, consider the following script: .. code:: javascript @@ -25,4 +25,7 @@ Administration FAQ This will set the value of the 'Device.param' to 1, then to 2. Then as the script is run again the value is set back to 1 and so on. A stable state will never be reached so GenieACS will execute the script a few times until it - gives up and throws a fault. + gives up and throws a fault. This is an edge case that should be avoided. A + more typical case is where the script is run once or twice. Essentially if an + execution doesn't result in any request to the CPE or a change in the data + model then a stable state is deemed to have been reached. diff --git a/docs/environment-variables.rst b/docs/environment-variables.rst index e76ce10..6b6673d 100644 --- a/docs/environment-variables.rst +++ b/docs/environment-variables.rst @@ -3,4 +3,224 @@ Environment Variables ===================== -TODO \ No newline at end of file +Configuring GenieACS services can be done through the following environment +variables: + +.. attention:: + + All GenieACS environment variables must be prefixed with ``GENIEACS_``. + +MONGODB_CONNECTION_URL + MongoDB connection string. + + Default: ``mongodb://127.0.0.1/genieacs`` + +EXT_DIR + The directory from which to look up extension scripts. + + Default: ``/config/ext`` + +EXT_TIMEOUT + Timeout (in milliseconds) to allow for calls to extensions to return a + response. + + Default: ``3000`` + +DEBUG_FILE + File to dump CPE debug log. + + Default: unset + +DEBUG_FORMAT + Debug log format. Valid values are 'yaml' and 'json'. + + Default: ``yaml`` + +LOG_FORMAT + The format used for the log entries in ``CWMP_LOG_FILE``, ``NBI_LOG_FILE``, + ``FS_LOG_FILE``, and ``UI_LOG_FILE``. Possible values are ``simple`` and + ``json``. + + Default: ``simple`` + +ACCESS_LOG_FORMAT + The format used for the log entries in ``CWMP_ACCESS_LOG_FILE``, + ``NBI_ACCESS_LOG_FILE``, ``FS_ACCESS_LOG_FILE``, and ``UI_ACCESS_LOG_FILE``. + Possible values are ``simple`` and ``json``. + + Default: ``simple`` + +CWMP_WORKER_PROCESSES + The number of worker processes to spawn for genieacs-cwmp. A value of 0 means + as many as there are CPU cores available. + + Default: ``0`` + +CWMP_PORT + The TCP port that genieacs-cwmp listens on. + + Default: ``7547`` + +CWMP_INTERFACE + The network interface that genieacs-cwmp binds to. + + Default: ``0.0.0.0`` + +CWMP_SSL_CERT + Path to certificate file. If omitted, non-secure HTTP will be used. + + Default: unset + +CWMP_SSL_KEY + Path to certificate key file. If omitted, non-secure HTTP will be used. + + Default: unset + +CWMP_LOG_FILE + File to log process related events for genieacs-cwmp. If omitted, logs will + go to stderr. + + Default: unset + +CWMP_ACCESS_LOG_FILE + File to log incoming requests for genieacs-cwmp. If omitted, logs will go to + stdout. + + Default: unest + +CWMP_KEEP_ALIVE_TIMEOUT + How long (in milliseconds) to maintain an open TCP connection while waiting + for the CPE to send the next HTTP request. If a CPE takes longer to respond + the server will terminate the TCP connection and store the session details + temporarily in the DB cache. This results in a performance hit. Adjust this + for better performance if your devices often take longer than 5 seconds to + respond. + + Default: ``5000`` (Node's default) + +NBI_WORKER_PROCESSES + The number of worker processes to spawn for genieacs-nbi. A value of 0 means + as many as there are CPU cores available. + + Default: ``0`` + +NBI_PORT + The TCP port that genieacs-nbi listens on. + + Default: ``7557`` + +NBI_INTERFACE + The network interface that genieacs-nbi binds to. + + Default: ``0.0.0.0`` + +NBI_SSL_CERT + Path to certificate file. If omitted, non-secure HTTP will be used. + + Default: unest + +NBI_SSL_KEY + Path to certificate key file. If omitted, non-secure HTTP will be used. + + Default: unset + +NBI_LOG_FILE + File to log process related events for genieacs-nbi. If omitted, logs will go + to stderr. + + Default: unset + +NBI_ACCESS_LOG_FILE + File to log incoming requests for genieacs-nbi. If omitted, logs will go to + stdout. + + Default: unset + +FS_WORKER_PROCESSES + The number of worker processes to spawn for genieacs-fs. A value of 0 means + as many as there are CPU cores available. + + Default: ``0`` + +FS_PORT + The TCP port that genieacs-fs listens on. + + Default: ``7567`` + +FS_INTERFACE + The network interface that genieacs-fs binds to. + + Default: ``0.0.0.0`` + +FS_SSL_CERT + Path to certificate file. If omitted, non-secure HTTP will be used. + + Default: unset + +FS_SSL_KEY + Path to certificate key file. If omitted, non-secure HTTP will be used. + + Default: unset + +FS_LOG_FILE + File to log process related events for genieacs-fs. If omitted, logs will go + to stderr. + + Default: unset + +FS_ACCESS_LOG_FILE + File to log incoming requests for genieacs-fs. If omitted, logs will go to + stdout. + + Default: unset + +FS_HOSTNAME + The hostname to use when generating the file URL for TR-069 Download + requests. Set this if the hostname where genieacs-fs is listening differs + from the hostname in the ACS URL. + + Default: the hostname from the ACS URL + +UI_WORKER_PROCESSES + The number of worker processes to spawn for genieacs-ui. A value of 0 means + as many as there are CPU cores available. + + Default: ``0`` + +UI_PORT + The TCP port that genieacs-ui listens on. + + Default: ``3000`` + +UI_INTERFACE + The network interface that genieacs-ui binds to. + + Default: ``0.0.0.0`` + +UI_SSL_CERT + Path to certificate file. If omitted, non-secure HTTP will be used. + + Default: unset + +UI_SSL_KEY + Path to certificate key file. If omitted, non-secure HTTP will be used. + + Default: unset + +UI_LOG_FILE + File to log process related events for genieacs-ui. If omitted, logs will go + to stderr. + + Default: unset + +UI_ACCESS_LOG_FILE + File to log incoming requests for genieacs-ui. If omitted, logs will go to + stdout. + + Default: unset + +UI_JWT_SECRET + The key used for signing JWT tokens that are stored in browser cookies. The + string can be up to 64 characters in length. + + Default: unset