Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mattermost Plugin: Create plugin with configuration #10219

Closed
Dschoordsch opened this issue Sep 12, 2024 · 2 comments · Fixed by #10237
Closed

Mattermost Plugin: Create plugin with configuration #10219

Dschoordsch opened this issue Sep 12, 2024 · 2 comments · Fixed by #10237
Assignees

Comments

@Dschoordsch
Copy link
Contributor

Dschoordsch commented Sep 12, 2024

As a mattermost admin I want to be able to add the Parabol plugin and configure it from the system console to communicate with my parabol instance of choice.

This includes implementation on Parabol and the plugin itself.

@Dschoordsch Dschoordsch added this to the Mattermost Plugin milestone Sep 12, 2024
@github-project-automation github-project-automation bot moved this to To triage in Product Sep 12, 2024
@Dschoordsch Dschoordsch moved this from To triage to In progress in Product Sep 12, 2024
@Dschoordsch Dschoordsch self-assigned this Sep 17, 2024
@Dschoordsch
Copy link
Contributor Author

Communication from Mattermost to Parabol needs to be authenticated. Possibly the simples way is to have a shared key and sign the messages. For signing I will try a RFC9421 library and as algorithm use HMAC-SHA256 because we consider it secure enough for our JWT.

@Dschoordsch
Copy link
Contributor Author

Two way communication can be established with the message signing above.
For notifications, Parabol will send a REST request to the mattermost plugin. Therefore we must know the address of the plugin. There are 2 possible solutions to this:

  1. We globally configure the address of mattermost. This means one mattermost instance is tightly coupled with one Parabol instance. When we start a meeting, we always send a notification to the Plugin and the Plugin itself checks if a channel is configured to receive the notification. Alternatively we could add an additional table where we store which teams should receive notifications, but then we're close to solution 2)
  2. We add a new IntegrationProvider type. This will be associated with an organization (global would be possible too) and a mattermost instance. In this case every time a channel is configured to receive notifications, the plugin contacts Parabol and adds an additional Integration'Auth entry for the team. This has the advantage to fit into the current notification architecture.

I will try to go with 2) and a global provider which is configured in postdeploy based on env.

@Dschoordsch Dschoordsch moved this from In progress to In review in Product Oct 17, 2024
@Dschoordsch Dschoordsch moved this from In review to In progress in Product Oct 17, 2024
@github-project-automation github-project-automation bot moved this from In progress to Done in Product Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant