Skip to content

Commit

Permalink
Add ability to spin up installation with multitenant rds (mattermost#45)
Browse files Browse the repository at this point in the history
  • Loading branch information
jwilander committed May 18, 2020
1 parent 5a378a8 commit d48fb99
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 6 deletions.
4 changes: 3 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ go 1.13
require (
github.com/gorilla/websocket v1.4.2 // indirect
github.com/heroku/docker-registry-client v0.0.0-20190909225348-afc9e1acc3d5
github.com/mattermost/mattermost-cloud v0.18.3-0.20200422184813-335489fc317a
github.com/mattermost/mattermost-cloud v0.18.3-0.20200515180538-72899a2283ce
github.com/mattermost/mattermost-server v1.4.1-0.20190926112648-af3ffeed1a4a
github.com/pkg/errors v0.9.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.5.1
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
golang.org/x/tools v0.0.0-20200325203130-f53864d0dba1 // indirect
)

// Pinned to kubernetes-1.16.7
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -657,6 +657,8 @@ github.com/mattermost/ldap v3.0.4+incompatible h1:SOeNnz+JNR+foQ3yHkYqijb9MLPhXN
github.com/mattermost/ldap v3.0.4+incompatible/go.mod h1:b4reDCcGpBxJ4WX0f224KFY+OR0npin7or7EFpeIko4=
github.com/mattermost/mattermost-cloud v0.18.3-0.20200422184813-335489fc317a h1:yBdYB1xZxIW8FuZWbGv6iPXtVL59p4MDLc50QOFcnw0=
github.com/mattermost/mattermost-cloud v0.18.3-0.20200422184813-335489fc317a/go.mod h1:BYz4EVCdiKAWltIcg+HcYb5nIHEqG0ouTcOXdZVPF2k=
github.com/mattermost/mattermost-cloud v0.18.3-0.20200515180538-72899a2283ce h1:/16L1RBdZrE5fqLbCT7JsW6NtW8jMThu0xeU4MdogtQ=
github.com/mattermost/mattermost-cloud v0.18.3-0.20200515180538-72899a2283ce/go.mod h1:w27wM2t2VVDsO9XEYxEi2RgCNqx0RnIOYcz4+Csv144=
github.com/mattermost/mattermost-operator v1.3.0 h1:q3HSCKyeEm8R1SNJX2n6GzF02GdzsbfItlHC9CEkKEY=
github.com/mattermost/mattermost-operator v1.3.0/go.mod h1:qZ0P5FBGr9U91b11rYrjzCwFCPWGtqUxBKPga00GLpg=
github.com/mattermost/mattermost-server v1.4.1-0.20190926112648-af3ffeed1a4a h1:Vq44zXWe1kK6+JpdIbGCbdfv3kjLjfEnxv9aRR5dE9w=
Expand Down
6 changes: 4 additions & 2 deletions server/command_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func parseCreateArgs(args []string, install *Installation) error {
}

if !validDatabaseOption(install.Database) {
return fmt.Errorf("invalid database option %s; must be %s or %s", install.Database, databaseOptionRDS, databaseOptionOperator)
return fmt.Errorf("invalid database option %s; must be %s, %s or %s", install.Database, databaseOptionRDS, databaseOptionOperator, databaseOptionMultitenant)
}

install.Filestore, err = createFlagSet.GetString("filestore")
Expand Down Expand Up @@ -140,9 +140,11 @@ func (p *Plugin) runCreateCommand(args []string, extra *model.CommandArgs) (*mod

database := ""
if install.Database == databaseOptionRDS {
database = cloud.InstallationDatabaseAwsRDS
database = cloud.InstallationDatabaseSingleTenantRDS
} else if install.Database == databaseOptionOperator {
database = cloud.InstallationDatabaseMysqlOperator
} else if install.Database == databaseOptionMultitenant {
database = cloud.InstallationDatabaseMultiTenantRDS
}

if len(database) == 0 {
Expand Down
5 changes: 3 additions & 2 deletions server/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ const (
licenseOptionE20 = "e20"
licenseOptionTE = "te"

databaseOptionRDS = "aws-rds"
databaseOptionOperator = "operator"
databaseOptionRDS = "aws-rds"
databaseOptionOperator = "operator"
databaseOptionMultitenant = "aws-multitenant-rds"

filestoreOptionS3 = "aws-s3"
filestoreOptionOperator = "operator"
Expand Down
2 changes: 1 addition & 1 deletion server/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func validLicenseOption(license string) bool {
}

func validDatabaseOption(databaseChoice string) bool {
return databaseChoice == databaseOptionRDS || databaseChoice == databaseOptionOperator
return databaseChoice == databaseOptionRDS || databaseChoice == databaseOptionOperator || databaseChoice == databaseOptionMultitenant
}

func validInstallationName(name string) bool {
Expand Down

0 comments on commit d48fb99

Please sign in to comment.