onlineconf-bot is used to send OnlineConf configuration changes notifications to subscribed users using Myteam or Mattermost messengers.
OnlineConf (onlineconf-admin) >= v3.5.0
onlineconf-bot uses MySQL database to store user subscriptions and intermediate information.
The database must be created and then populated with tables using schema.sql.
An address and credentials of the database must be stored in the /database parameters (see below).
The only one instance of onlineconf-bot daemon should be run simultaneously.
Two separate binaries will be built for each messenger supported, see Dockerfile for an example.
onlineconf-bot uses OnlineConf BotAPI to retrieve notifications from OnlineConf.
To add BotAPI user for onlineconf-bot the following configuration is required:
/onlineconf/botapi/bot/onlineconf-bot- the parameter name is the username, a value is SHA256 of a password (required)/onlineconf/botapi/bot/onlineconf-bot/scopes=notifications(list, required)
onlineconf-bot is configured using OnlineConf itself, it reads onlineconf-bot module (/usr/local/etc/onlineconf-bot.cdb file).
The module must be configured to contain the following /-separated parameters:
databasebase- database name (default:onlineconf_bot)host- database host (required)pass- database password (required)user- database username (default:onlineconf_bot)
mattermost(only used byonlineconf-mattermost-bot)api-url- Mattermost API base URL (i.e. scheme and hostname)ws-url- Mattermost Websocket base URLtoken- Mattermost bot token
myteam(only used byonlineconf-myteam-bot)token- a bot token retrieved from Metabot (required)url- URL of an alternative Myteam installation
onlineconfbotapipassword- password (required)url- URL of OnlineConf BotAPI (required)username- username (default:onlineconf-myteam-bot)wait- long polling wait time (default:60)
link-url- URL of OnlineConf UI (required)
userdomain- domain name appended to OnlineConf username to match the messenger accountmap- YAML/JSON-mapping of non-standard usernames from OnlineConf to the messenger account (without domain name)
This configuration must be placed in OnlineConf under /onlineconf/module/onlineconf-bot.
The best way to achieve the described configuration on a server (or a container) where only onlineconf-bot is run is to create the following parameters:
| Path | Type | Value |
|---|---|---|
/onlineconf/botapi/bot/onlineconf-bot |
Text | SHA256 of a password used by onlineconf-bot to connect to OnlineConf BotAPI |
/onlineconf/botapi/bot/onlineconf-bot/scopes |
List | notifications |
/onlineconf/service/onlineconf-bot |
Text | SHA256 of a password used by onlineconf-updater/onlineconf-csi-driver |
/onlineconf/module |
Case | key: service = onlineconf-botvalue: symlink to /onlineconf/chroot/onlineconf-bot |
/onlineconf/chroot/onlineconf-bot |
YAML | delimiter: / |
/onlineconf/chroot/onlineconf-bot/onlineconf-bot |
Symlink | /onlineconf/bot |
/onlineconf/bot |
Null | value is Null, children must contain the module structure described above |