Chat bridges¶
This page documents the bridge services maintained by the FOSS@RIT Tech Team. Chat bridges are used to “bridge” different chat rooms together (e.g. a Telegram group to an IRC channel).
Matterbridge¶
Matterbridge is an open source chat bridge that supports various chat platforms. Currently, FOSS@RIT uses it to connect the RITlug Slack to IRC channels on Freenode (see IRC (Freenode)).
Maintenance¶
The FOSS@RIT Matterbridge instance is deployed on RITlug infrastructure hosted in RIT’s Institute Hall data center. Configuration and deployment details are managed in FOSSRIT/infrastructure as an Ansible Role. The upstream Ansible Role is maintained at jwflory/ansible-role-matterbridge.
Upgrading¶
Upgrading Matterbridge requires changing two variables in the Ansible Role:
Version number (
matterbridge_config.version
)Binary checksum (
matterbridge_config.binary_checksum
)
Both the version and binary checksum are found on Matterbridge’s releases page.
You can find the binary checksum in the checksums.txt
file, attached as an artifact to Matterbridge releases.
We use the hash for the linux-64bit
compiled binary.
See the following pull requests for examples:
TeleIRC¶
TeleIRC is an open source chat bridge for connecting Telegram groups to IRC channels. It is maintained by the RIT Linux Users Group. Currently, FOSS@RIT uses it to connect various Telegram groups to IRC channels on Freenode (see Telegram, IRC (Freenode)).
Maintenance¶
All FOSS@RIT TeleIRC instances are deployed on RITlug infrastructure hosted in RIT’s Institute Hall data center. Configuration and deployment details are managed in FOSSRIT/infrastructure as an Ansible Role. The upstream Ansible Role is maintained at jwflory/ansible-role-teleirc.
Upgrading¶
There are two types of upgrades: TeleIRC and the Ansible Role.
TeleIRC¶
Only one variable in the Ansible Role needs to be changed in most cases: default_version
.
Change this variable to the targeted version and run the Ansible playbook to deploy the update.
See the following pull requests for examples:
Ansible Role¶
Occasionally the upstream Ansible Role will change. When this happens, the Ansible Role needs to be upgraded in the downstream repository, i.e. FOSSRIT/infrastructure. The upgrade can be done from the root directory of the repo with the following commands:
ansible-galaxy role install --force jwflory.teleirc
git checkout HEAD roles/jwflory.teleirc/vars/{main,vault}.yml
An example of an upgrade is found in FOSSRIT/infrastructure@75c0bbc.