The Plugin Marketplace is a collection of plugins for use with Mattermost. This repository houses the stateless HTTP service that is run at https://api.integrations.mattermost.com. It is meant to be queried by the Mattermost server to enable plugin discovery by System Admins.
Although Mattermost hosts the Marketplace as an AWS Lambda function backed by S3 and CloudFront, the core feature set is designed for use in any hosting environment, enabling private, self-hosted collections of plugins.
Read more about the Plugin Marketplace Architecture.
This repository houses the open-source components of the Plugin Marketplace. Other resources are linked below:
- Install Go
Simply run the following:
$ make run-server
Running all tests:
$ make test
To fetch all new release from GitHub, run
make plugins.json
Make sure to double check the diff
of plugins.json
to ensure every release get added correctly.
If you run this command multiple times, GitHub might rate limit you. Using an API token does help:
export GITHUB_TOKEN=<github token>
In addition to running as a standalone server, the Marketplace is also designed to run as a Lambda function, compiling the plugins.json
database into the binary for immediate access without further configuration.
Changes merged to master
are automatically deployed to https://api.staging.integrations.mattermost.com.
Changes merged to production
are automatically deployed to https://api.integrations.mattermost.com.
When adding or updating the plugins database (or corresponding tooling), submit the changes directly to production
, and then merge production
immediately back to master
to reduce unnecessary merge conflicts. All other changes should be committed directly to master
. Changes pending release from master
should be merged to production
after qualification and in coordination with any supporting Mattermost server release.
Simply run the following:
$ SLS_STAGE=staging make deploy-lambda
To iterate quickly after the Cloud Formation stack is up, simply run:
$ SLS_STAGE=staging make deploy-lambda-fast