mattermost-cloud

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2019 License: Apache-2.0

README

Mattermost Private Cloud CircleCI branch

Mattermost Private Cloud is a SaaS offering meant to smooth and accelerate the customer journey from trial to full adoption. There is a significant amount of friction for a customer to set up a trial of Mattermost, and even more friction to run an extended length proof of concept. Both require hardware and technical personnel resources that create a significant barrier to potential customers. Mattermost Cloud aims to remove this barrier by providing a service to provision and host Mattermost instances that can be used by customers who have no technical experience. This will accelerate the customer journey to a full adoption of Mattermost either in the form of moving to a self-hosted instance or by continuing to use the cloud service.

Read more about the Mattermost Private Cloud Architecture.

Other Resources

This repository houses the open-source components of Mattermost Private Cloud. Other resources are linked below:

Get Involved

Developing

Environment Setup
  1. Install Go
  2. Install Terraform version v0.11.14
  3. Install kops version 1.13.X
  4. Install Helm
  5. Install kubectl
  6. Generate an AWS Access and Secret key pair, then export them in your bash profile:
export AWS_ACCESS_KEY_ID=YOURACCESSKEYID
export AWS_SECRET_ACCESS_KEY=YOURSECRETACCESSKEY
  1. Create an S3 bucket to store the kops state
  2. Clone this repository into your GOPATH (or anywhere if you have Go Modules enabled)
Building

Simply run the following:

$ go install ./cmd/cloud
Running

Before running the server the first time you must set up the DB with:

$ cloud schema migrate

To run the server you will need a certificate ARN, private and public Route53 IDs, and a private DNS from AWS. For staff developers you can get these in our dev AWS account.

Run the server with:

$ cloud server --state-store=<your-s3-bucket> --private-dns dev.cloud.internal.mattermost.com --private-route53-id=<private-route53-id> --route53-id=<public-route53-id> --certificate-aws-arn <certifcate-aws-arn>
Testing

Run the go tests to test:

$ go test ./...

Directories

Path Synopsis
cmd
cloud
Package main is the entry point to the Mattermost Cloud provisioning server and CLI.
Package main is the entry point to the Mattermost Cloud provisioning server and CLI.
internal
api
tools/exechelper
Package exechelper streamlines the running of external commands while both capturing and logging their output.
Package exechelper streamlines the running of external commands while both capturing and logging their output.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL