Skip to content

Releases: mattermost/mattermost-cloud

Release v0.23.0

30 Jul 14:51
221f958
Compare
Choose a tag to compare

Release notes for v0.23.0

Changelog since v0.22.0

Changes by Kind

Feature

  • Add Postgres single-tenant database option (#267, @gabrieljackson)
  • Add cluster scale up logic (#259, @gabrieljackson)
  • Add database endpoint init check to single tenant databases (#271, @gabrieljackson)
  • Deploy metric-server (#260, @cpanato)
  • Start using k8s official NGINX helm chart.
  • Enable autoscaling, set limits and requests for NGINX ingress controller.
  • Migrate from using separate private and public NGINX deployments to a single deployment that creates both services.
  • Enable use of TLS certificates for internal Load Balancers (Prometheus traffic).
    Follow deprecation instructions in the README.md for cluster reprovisioning steps. (#263, @stylianosrigas)
  • The k8s client New method has been renamed to NewFromFile. All references will need to be updated.
    The k8s client now supports creation of KubeClient objects with a Kubernetes rest.Config (#274, @nickmisasi)
  • The mattermost-cloud Kubernetes client now supports Persistent Volumes, and Persistent Volume Claims! (#268, @nickmisasi)
  • Use PostgreSQL version 11.7 for new databases (#272, @gabrieljackson)
  • Use the AWS_REGION set in the config and not hardcoded ones (#269, @cpanato)
  • Added MM_CLOUD_INSTALLATION_ID env variable to identify mattermost-server installations (#270, @reflog)
  • Adds new endpoint GET /api/search/name/{query} to allow fetching Installations by name (#262, @gigawhitlocks)

Other (Cleanup or Flake)

  • Cleanup multitenant database logging (#257, @gabrieljackson)
  • Update kops to 1.17.1 (#265, @cpanato)
  • You can now include the Mattermost Kubernetes client in other Golang projects.
    Simply go get github.com/mattermost/mattermost-cloud and add the module import github.com/mattermost/mattermost-cloud/k8s (#266, @nickmisasi)

The image for this release is docker.io/mattermost/mattermost-cloud:v0.23.0

Thanks to all our contributors!

Release v0.22.0

01 Jul 13:12
456e25d
Compare
Choose a tag to compare

Release notes for v0.22.0

Changelog since v0.21.0

Changes by Kind

Feature

  • Add cluster workbench command for cloud client (#251, @gabrieljackson)
  • Update kops to v1.17.0 (#252, @gabrieljackson)
  • Fluent-bit sending security audit logs (#229, @angeloskyratzakos)
  • Enabled TLS for connections with RDS MySQL databases.
  • Disabled Root CA verification by passing tls=skip-verify in the database connection string.
  • Modified multi-tenant database to set require SSL when creating a user for the Mattermost installation database. (#235, @gsagula)

Other (Cleanup or Flake)

The image for this release is docker.io/mattermost/mattermost-cloud:v0.22.0

Thanks to all our contributors!

Release v0.21.0

24 Jun 17:19
e64a134
Compare
Choose a tag to compare

Release notes for v0.21.0

Changelog since v0.20.0

Changes by Kind

Feature

  • Add cluster workbench command for cloud client (#251, @gabrieljackson)
  • Add git commit hash (#243, @cpanato)
  • Add installation hibernation (#246, @gabrieljackson)
  • Enabled TLS for connections with RDS MySQL databases.
  • Disabled Root CA verification by passing tls=skip-verify in the database connection string.
  • Modified multi-tenant database to set require SSL when creating a user for the Mattermost installation database. (#235, @gsagula)

Bug or Regression

  • Validate if the request has spaces in some fields (#241, @cpanato)

Other (Cleanup or Flake)

  • Set logging output default to stdout (#245, @gabrieljackson)
  • Update github.com/aws/aws-sdk-go dependency to v1.32.5
  • Update github.com/lib/pq dependency to v1.7.0
  • Update github.com/stretchr/testify dependency to v1.6.1
  • Update all kubernetes dependencies to 1.17.7 (#250, @cpanato)
  • Update helm to 2.16.9 / go to 1.14.4 and alpine to 3.12 (#247, @cpanato)

Dependencies

Added

  • github.com/agnivade/levenshtein: v1.0.1
  • github.com/andreyvit/diff: c7f18ee
  • github.com/bgentry/speakeasy: v0.1.0
  • github.com/cockroachdb/datadriven: 80d97fb
  • github.com/creack/pty: v1.1.7
  • github.com/docopt/docopt-go: ee0de3b
  • github.com/olekukonko/tablewriter: a0225b3
  • github.com/urfave/cli: v1.20.0
  • github.com/vektah/gqlparser: v1.1.2
  • go.etcd.io/etcd: 3cf2f69
  • gopkg.in/cheggaaa/pb.v1: v1.0.25
  • sigs.k8s.io/structured-merge-diff/v2: v2.0.1

Changed

Removed

  • github.com/alexbrainman/sspi: e580b90
  • github.com/gorilla/securecookie: v1.1.1
  • github.com/gorilla/sessions: v1.2.0
  • github.com/hashicorp/go-uuid: v1.0.2
  • github.com/jcmturner/aescts/v2: v2.0.0
  • github.com/jcmturner/dnsutils/v2: v2.0.0
  • github.com/jcmturner/gofork: v1.0.0
  • github.com/jcmturner/goidentity/v6: v6.0.1
  • github.com/jcmturner/gokrb5/v8: v8.2.0
  • github.com/jcmturner/rpc/v2: v2.0.2
  • gopkg.in/jcmturner/aescts.v1: v1.0.1
  • gopkg.in/jcmturner/dnsutils.v1: v1.0.1
  • gopkg.in/jcmturner/goidentity.v3: v3.0.0
  • gopkg.in/jcmturner/gokrb5.v7: v7.5.0
  • gopkg.in/jcmturner/rpc.v1: v1.1.0
    github.com/jcmturner/goidentity/v6: v6.0.1
  • github.com/jcmturner/gokrb5/v8: v8.2.0
  • github.com/jcmturner/rpc/v2: v2.0.2
  • gopkg.in/jcmturner/aescts.v1: v1.0.1
  • gopkg.in/jcmturner/dnsutils.v1: v1.0.1
  • gopkg.in/jcmturner/goidentity.v3: v3.0.0
  • gopkg.in/jcmturner/gokrb5.v7: v7.5.0
  • gopkg.in/jcmturner/rpc.v1: v1.1.0

The image for this release is docker.io/mattermost/mattermost-cloud:v0.21.0

Thanks to all our contributors!

Release v0.20.0

10 Jun 09:23
a6da92a
Compare
Choose a tag to compare

Release notes for v0.20.0

Changelog since v0.19.0

Changes by Kind

Feature

Documentation

Bug or Regression

Other (Cleanup or Flake)

  • Ci: retry image push if fails in the first attempt (#238, @cpanato)
  • Helm: upgrade helm to v2.16.6 (#232, @cpanato)
  • Update github.com/Masterminds/squirrel dependency to v1.4.0
  • Update github.com/aws/aws-sdk-go dependency to v1.31.0
  • Update github.com/golang/mock dependency to v1.4.3
  • Update github.com/lib/pq dependency to v1.5.2
  • Update github.com/mattermost/mattermost-operator dependency to v1.4.0
  • Update github.com/sirupsen/logrus dependency to v1.6.0
  • Update github.com/spf13/cobra dependency to v1.0.0 (#218, @cpanato)
  • Update github.com/aws/aws-sdk-go dependency to v1.31.9
  • Update github.com/lib/pq dependency to v1.6.0
  • Update github.com/stretchr/testify dependency to v1.6.0
  • Set all kubernetes dependencies to 1.16.10 (#234, @cpanato)

Uncategorized

  • Add a job and make entry to help us to check the outdated modules (#217, @cpanato)
  • Add installation scaling (#216, @gabrieljackson)
  • Changed the multi-tenant database logic to acquire locks using the instance ID instead of the installation ID.
    • Removed the logic used by the multi-tenant database to auto-release rows in a permanent locked state. This should be done manually by the operator. (#215, @gsagula)
  • Fixed the issue where the provisioner tries to install a multitenant database in a RDS cluster that does not belong to the acquired VPC.
  • Fixed issue where the provisioner may get stuck trying to teardown an installation id that never had a correspondent multitenant database. (#223, @gsagula)

Dependencies

Added

  • github.com/alexbrainman/sspi: e580b90
  • github.com/gorilla/securecookie: v1.1.1
  • github.com/gorilla/sessions: v1.2.0
  • github.com/jcmturner/aescts/v2: v2.0.0
  • github.com/jcmturner/dnsutils/v2: v2.0.0
  • github.com/jcmturner/gofork: v1.0.0
  • github.com/jcmturner/goidentity/v6: v6.0.1
  • github.com/jcmturner/gokrb5/v8: v8.2.0
  • github.com/jcmturner/rpc/v2: v2.0.2
  • github.com/yuin/goldmark: v1.1.25
  • gopkg.in/jcmturner/aescts.v1: v1.0.1
  • gopkg.in/jcmturner/dnsutils.v1: v1.0.1
  • gopkg.in/jcmturner/goidentity.v3: v3.0.0
  • gopkg.in/jcmturner/gokrb5.v7: v7.5.0
  • gopkg.in/jcmturner/rpc.v1: v1.1.0
  • rsc.io/quote/v3: v3.1.0
  • rsc.io/sampler: v1.3.0

Changed

  • github.com/Azure/go-autorest/autorest/to: v0.3.0 → v0.2.0
  • github.com/Azure/go-autorest/autorest/validation: v0.2.0 → v0.1.0
  • github.com/Masterminds/semver/v3: v3.0.1 → v3.0.3
  • github.com/Masterminds/sprig/v3: v3.0.0 → v3.0.2
  • github.com/Masterminds/squirrel: v1.2.0 → v1.4.0
  • github.com/aws/aws-sdk-go: v1.29.31 → v1.31.9
  • github.com/cpuguy83/go-md2man/v2: f79a8a8 → v2.0.0
  • github.com/gobuffalo/flect: v0.2.0 → v0.1.5
  • github.com/golang/mock: v1.3.1 → v1.4.3
  • github.com/hashicorp/go-uuid: v1.0.1 → v1.0.2
  • github.com/konsorten/go-windows-terminal-sequences: v1.0.2 → v1.0.3
  • github.com/lib/pq: v1.3.0 → v1.6.0
  • github.com/mattermost/mattermost-operator: v1.3.0 → v1.4.0
  • github.com/minio/minio-operator: 604167e → 158e343
  • github.com/operator-framework/operator-sdk: v0.15.1 → v0.16.0
  • github.com/sirupsen/logrus: v1.4.2 → v1.6.0
  • github.com/spf13/cobra: v0.0.5 → v1.0.0
  • github.com/stretchr/testify: v1.5.1 → v1.6.0
  • golang.org/x/crypto: 86ce3cb → f7b0055
  • golang.org/x/mod: c90efee → v0.2.0
  • golang.org/x/tools: b320d3a → 42235f6
  • gopkg.in/square/go-jose.v2: v2.3.1 → v2.2.2
  • gopkg.in/yaml.v3: 8274499 → 9f266ea
  • helm.sh/helm/v3: v3.0.1 → v3.0.2
  • k8s.io/api: v0.16.7 → v0.16.10
  • k8s.io/apiextensions-apiserver: v0.16.7 → v0.16.10
  • k8s.io/apimachinery: v0.16.8-beta.0 → v0.16.10
  • k8s.io/apiserver: v0.16.7 → v0.16.10
  • k8s.io/cli-runtime: v0.16.7 → v0.16.10
  • k8s.io/client-go: v0.16.7 → v0.16.10
  • k8s.io/cloud-provider: v0.16.7 → v0.16.10
  • k8s.io/cluster-bootstrap: v0.16.7 → v0.16.10
  • k8s.io/component-base: v0.16.7 → v0.16.10
  • k8s.io/csi-translation-lib: v0.16.7 → v0.16.10
  • k8s.io/kube-aggregator: v0.16.7 → v0.16.10
  • k8s.io/kube-controller-manager: v0.16.7 → v0.16.10
  • k8s.io/kube-openapi: addea24 → 594e756
  • k8s.io/kube-proxy: v0.16.7 → v0.16.10
  • k8s.io/kube-scheduler: v0.16.7 → v0.16.10
  • k8s.io/kubectl: v0.16.7 → v0.16.10
  • k8s.io/kubelet: v0.16.7 → v0.16.10
  • k8s.io/legacy-cloud-providers: v0.16.7 → v0.16.10
  • k8s.io/metrics: v0.16.7 → v0.16.10
  • k8s.io/sample-apiserver: v0.16.7 → v0.16.10
  • sigs.k8s.io/controller-runtime: d0de78d → v0.4.0
  • sigs.k8s.io/controller-tools: v0.2.5 → v0.2.4

Removed

  • github.com/Venafi/vcert: eba67a2
  • github.com/armon/go-metrics: f0300d1
  • github.com/armon/go-radix: 7fddfc3
  • github.com/bgentry/speakeasy: v0.1.0
  • github.com/cloudflare/cloudflare-go: v0.8.5
  • github.com/cpu/goacmedns: 565ecf2
  • github.com/digitalocean/godo: v1.29.0
  • github.com/fatih/structs: [v1.1.0](https://github...
Read more

Release v0.19.0

18 May 14:16
72899a2
Compare
Choose a tag to compare

Release notes for v0.19.0

Changelog since v0.18.2

Changes by Kind

Feature

  • remove cert-manager and attach AWS ACM in the public Nginx deployment to use SSL certificates (#214, @cpanato)
  • Moves the DNS Registration as a first step in the process. The reason is to give the Cert Manager a head start to register the installation certificate.
  • Adds a InstallationStateCreationFinalTasks state, which handles checks needed before setting the installation to stable. Currently, there is a single check to make sure that the SSL certificate is approved.
  • Adapts tests to the state changes (#194, @stylianosrigas)

Other (Bug, Cleanup or Flake)

  • Create encryption keys with tags.
  • Find encryption keys using resource groups tagging api.
  • Reuse already existent keys when creating RDS instance.
  • Validating that only one key in Enabled state exists when creating instance.
  • Remove keys when installation is deleted.
  • Eliminate the need for creating key alias which was the source for leaking KMS resources. (#202, @gsagula)
  • Add missing default values for post cluster installation (#211, @cpanato)
  • Aws: set log to DEBUG from AWS Session (#203, @gigawhitlocks)
  • Check group deletion state before joining installation (#195, @gabrieljackson)

Uncategorized

  • Added a new database implementation for handling multiple tenants in a single RDS DB cluster.
  • Added new table MultitenantDatabase so provisioner can keep track of database installations in each RDS cluster.
  • Provisioner will always do lookups in the MultitenantDatabase table first and, if nothing is available, it will try to fetch the resources directly from RDS via resource tags.
  • RDS tags are defined in tools/aws/constants.go, however the provisioner does not create them in AWS since this work is done via Terraform.
  • Provisioner uses these tags to identify the correct RDS clusters in order to install new databases.
  • Tag:Counter is maintained by the provisioner. The value is incremented and decremented on every new installation or uninstallation respectively.
  • There is a hardcoded limit in the number database installations that each RDS cluster can take. This limit is referenced by a constant also defined in tools/aws/constants.go.
  • The multitenant database follows the same design pattern of all other databases. In fact, it implements the same interface.
  • Small modifications were done to the signature of some the interface's methods . (#209, @gsagula)
  • Changed the multi-tenant database logic to acquire locks using the instance ID instead of the installation ID.
  • Removed the logic used by the multi-tenant database to auto-release rows in a permanent locked state. This should be done manually by the operator. (#215, @gsagula)
  • Add cluster resize functionality (#213, @gabrieljackson)
  • Added --dev flag for a development mode with sane defaults for running the provisioner server during development (#205, @gigawhitlocks)
  • Fixed a bug causing --dev to not output DEBUG logs (#210, @gigawhitlocks)
  • Optimized UtilityGroup installation at cluster creation time (#204, @gigawhitlocks)

The image for this release is docker.io/mattermost/mattermost-cloud:v0.19.0

Thanks to all our contributors!

Several updates

06 Apr 13:00
4bf6f0f
Compare
Choose a tag to compare
  • Add support for new helm repos
  • Enable group functionality
  • Ability to set a custom image
  • Add support for nginx and cert-manager
  • Authorize and revoke ingress access of an RDS instance
  • Add group API locks

v0.17.0: Additional group database configuration (#168)

23 Mar 16:46
84d2f9f
Compare
Choose a tag to compare
  • Adds Machine-readable logs option
  • Adds the ability to snapshot RDS database
  • Adds MattermostEnv to Group Objects

v0.16.0

25 Feb 14:10
e6de80b
Compare
Choose a tag to compare

This release adds support for environment variables via the provisioner api.

v0.15.0

25 Feb 09:10
3b7cf11
Compare
Choose a tag to compare
  • bump operator to 1.2.0 and update cdrs

v0.14.0: MM-20995 Allow cluster utility versions to be managed via the API (#143)

06 Feb 11:38
a9ac0f1
Compare
Choose a tag to compare
  • Allow cluster utility versions to be managed via the API