-
Hueser, Christian authoredHueser, Christian authored
README.md 5.68 KiB
Mattermost Plugin for the Helmholtz Cloud Agent
This is the documentation of the Mattermost Plugin for the Helmholtz Cloud Agent (HCA).
Possible Configuration Variables for HCA
Variable | Default | Description |
---|---|---|
HCA_USERNAME |
"hca" |
The username to authenticate to RabbitMQ. Will be assigned for each plugin. |
HCA_PASSWORD |
"supersecret" |
The password to authenticate to RabbitMQ. Will be assigned for each plugin. |
HCA_SERVICE_ID |
"d4c32c0e-6375-4f31-9360-5d5d62172703" |
The ID in Cloud Portal for this service. It is used to match messages to the right plugin. |
HCA_RABBITMQ_USE_SSL |
False |
Use SSL to connect to RabbitMQ. |
HCA_RABBITMQ_CA_FILE |
"/etc/ssl/certs/ca-certificates.crt" |
Location of the CA bundle to use to verify the server certificate. |
HCA_RABBITMQ_HOSTNAME |
"hifis-rabbitmq.desy.de" |
The hostname of the RabbitMQ server. |
HCA_RABBITMQ_PORT |
5672 |
The port of the RabbitMQ server. |
HCA_RABBITMQ_VIRTUAL_HOST |
"test-provider" |
The RabbitMQ virtual host. Each provider will get its own. |
HCA_RABBITMQ_RETRY_DELAY |
20 |
Time to wait to retry connection attempt to RabbitMQ in case of failure. |
HCA_RABBITMQ_CONNECTION_ATTEMPTS |
3 |
Number of connections attempts to RabbitMQ |
HCA_RABBITMQ_HEARTBEAT |
0 |
Enable RabbitMQ heartbeat mechanism. https://pika.readthedocs.io/en/stable/modules/parameters.html?highlight=heartbeat#pika.connection.ConnectionParameters.heartbeat |
HCA_LOG_LEVEL |
"INFO" |
The output log level. |
Prerequisites
Docker and Docker Compose plugin are installed.
Running the Plugin
Place a .env
file into folder src/mattermost
with the following content:
MM_TOKEN = "<Mattermost Token>"
GL_TOKEN = "<GitLab Token>"
MM_URL = "<Matttermost domain>"
GL_URL = "<GitLab URL>"
MM_BOT_USERNAME = "<Username of the Mattermost Bot>"
Build the container for the Mattermost plugin:
docker build -t hca_mattermost_plugin .
Place a .env
file into root folder of the project with the following content:
HCA_USERNAME = "<HCA username>"
HCA_PASSWORD = "<HCA password>"
HCA_SERVICE_ID = "<HCA service id>"
HCA_RABBITMQ_HOSTNAME = "<RabbitMQ hostname>"
HCA_RABBITMQ_USE_SSL = "true"
HCA_RABBITMQ_PORT = "5671"
HCA_RABBITMQ_VIRTUAL_HOST = "<RabbitMQ virtual host>"
HCA_RABBITMQ_HEARTBEAT = "1"
Set the following mtu
configuration in file /etc/docker/daemon.json
if a
different mtu
is needed by taking the needed configurations file daemon.json
of this project:
{
"mtu": 1500,
"default-network-opts": {
"bridge": {
"com.docker.network.bridge.mtu": "1500"
}
}
}
Then you need to restart the Docker service:
sudo systemctl restart docker.service
You might also want to adapt the mtu
in file docker-compose.yml
:
[...]
networks:
default:
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1500
Run the application by spinning up the container: