This is an ansible-role to set up the opencast-bigbluebutton-integration to work with exisiting BigBlueButton and Opencast installations.
This role can be used to configure the respective BigBlueButton servers and install all the necessary components. For the Opencast instance you still need to create the respective workflow and the users. However, this is usually just copying the workflow file to the correct destination on your installation. You can find examples of valid workflow files here: https://github.com/elan-ev/opencast-bigbluebutton-integration/tree/master/post-archive
This role assumes that the file /etc/bigbluebutton/bbb-web.properties
is already present (if not you need to create it beforehand).
There are some required variables to be able to connect to opencast. Without them this role will not work. They are:
Variable | Example Value | Description |
---|---|---|
bbb_oc_workflow |
post-archive or post-publish |
The workflow to use |
bbb_oc_opencast_server |
https://develop.opencast.org |
The opencast server that ingests the recordings |
bbb_oc_opencast_user |
admin |
The user that can access opencast |
bbb_oc_opencast_password |
your-password |
The password for that user |
The role uses the ansible.builtin.git
-module
to download the ruby scripts for the integration from their repository.
You can checkout the desired version with the bbb_oc_version
variable that is directly passed to the module's parameter version
. The default for this variable is HEAD
.
There are further variables you can use to configure the integration. For a full overview of all the configuration options have a look at the defaults-file. For a better understanding you should probably also have a look at the configuration of the opencast-bigbluebutton-integration and of course BigBlueButton and Opencast themselves.
Your playbook might look like this:
---
- hosts: all
become: true
vars:
bbb_oc_workflow: post-archive
bbb_oc_opencast_server: https://develop.opencast.org
bbb_oc_opencast_user: admin
bbb_oc_opencast_password: '{{ your_password_from_vault }}'
roles:
- role: elan.bbb_opencast_integration
For linting and role development you can use the tools defined in development requirements. You can install them in a python virtual environment like this:
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
. venv/bin/activate
# Install the dependencies
pip install -r .dev_requirements.txt
E.g. you can then run the linter (yamllint -c .yamllint .
) or test your setup with molecule
.