GithubHelp home page GithubHelp logo

isabella232 / mattermost-plugin-cloud Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mattermost/mattermost-plugin-cloud

0.0 0.0 0.0 4.45 MB

License: Apache License 2.0

Makefile 4.62% Go 82.55% HTML 0.06% JavaScript 12.42% SCSS 0.08% TypeScript 0.28%

mattermost-plugin-cloud's Introduction

Mattermost Cloud Plugin

This plugin allows for the creation and management of Mattermost kubernetes installations directly from Mattermost. Commands are exposed that can be used to communicate with a remote cloud server.

Getting Started

  1. Install the plugin.
  2. Enter configuration information for your environment and enable the plugin.
  3. From any channel or DM, run /cloud -h for information on using the plugin.

Developing

  1. Run a Mattermost server and web app locally, see https://developers.mattermost.com/contribute/server/developer-setup/ and https://developers.mattermost.com/contribute/webapp/developer-setup/
  2. Log in to create the system admin account
  3. Run a cloud provisioning server locally, see https://github.com/mattermost/mattermost-cloud#developing
  4. Create a webhook from your provisioning server to your Mattermost server with:
cloud webhook create --owner cloud-plugin --url http://localhost:8065/plugins/com.mattermost.cloud/webhook
  1. Set the following env variables:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_USERNAME=<your-sysadmin-username>
export MM_ADMIN_PASSWORD=<your-sysadmin-password>
  1. From the plugin directory, run make deploy to deploy the plugin to your local Mattermost server
  2. Log in to the Mattermost server as the system admin, go to Plugins -> Mattermost Private Cloud and set the following settings:
Setting Value
Provisioning Server URL http://localhost:8075
Installation DNS dev.cloud.mattermost.com
Mattermost E10 License E10 license file contents
Mattermost E20 License E20 license file contents
  1. Enable the plugin The plugin is now usable. Make changes to your plugin and run make deploy again to run those changes on your local Mattermost server.

Release

To release a new version of the cloud plugin please do the following steps:

  • Bump the version to the desire version in plugin.json and then run make apply

  • Create a PR with the changes, see example

  • After the PR is merged, generate the release notes. Here will show the commands but if need more information please refer to the internal docs

$ GO111MODULE=on go get k8s.io/release/cmd/release-notes
$ export GITHUB_TOKEN=<personal_github_api_token>
$ release-notes --github-org mattermost \
  --github-repo mattermost-plugin-cloud \
  --start-sha START_SHA \ # the GIT SHA from the previous release
  --end-sha END_SHA \ # the GIT SHA from the current release
  --debug \
  --output ./relnote.md \
  --required-author ""

This generates the release notes in the relnote.md you can apply any changes.

  • Update your local repository and create a tag with the same version that you used in the previous step and add the v as prefix, for example:
$ git fetch origin --prune
$ git pull origin master
$ git tag vX.Y.Z
$ git push origin vX.Y.Z

This will kick the CI job to build/package and release the plugin in GitHub.

  • Create a new Release by clicking and editing the Tag that is created in GitHub and paste the release notes that was generated in the step before.
  • After the CI job is complete the package will be available in the Release as well.

mattermost-plugin-cloud's People

Contributors

dependabot[bot] avatar gabrieljackson avatar gsagula avatar indushas avatar jwilander avatar mickmister avatar szymongib avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.