Releases: mattermost/mattermost-cloud
Releases · mattermost/mattermost-cloud
Release v0.23.0
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 toNewFromFile
. 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.
Simplygo get github.com/mattermost/mattermost-cloud
and add the module importgithub.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
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)
- Cleanup multitenant database logging (#257, @gabrieljackson)
- Move contents of terraform state file to Go constant (#255, @gabrieljackson)
- Public-nginx: remove nginx version from the responses (#256, @cpanato)
The image for this release is docker.io/mattermost/mattermost-cloud:v0.22.0
Thanks to all our contributors!
Release v0.21.0
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
Other (Cleanup or Flake)
- Set logging output default to stdout (#245, @gabrieljackson)
- Update
github.com/aws/aws-sdk-go
dependency tov1.32.5
- Update
github.com/lib/pq
dependency tov1.7.0
- Update
github.com/stretchr/testify
dependency tov1.6.1
- Update all
kubernetes dependencies
to1.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
- github.com/Azure/azure-sdk-for-go: v32.5.0+incompatible → v35.0.0+incompatible
- github.com/aws/aws-sdk-go: v1.31.9 → v1.32.5
- github.com/coreos/bbolt: v1.3.3 → v1.3.2
- github.com/coreos/etcd: v3.3.17+incompatible → v3.3.15+incompatible
- github.com/emicklei/go-restful: v2.11.2+incompatible → v2.11.1+incompatible
- github.com/go-openapi/analysis: v0.19.2 → v0.19.5
- github.com/go-openapi/loads: v0.19.2 → v0.19.4
- github.com/go-openapi/runtime: v0.19.0 → v0.19.4
- github.com/go-openapi/spec: v0.19.6 → v0.19.5
- github.com/go-openapi/strfmt: v0.19.0 → v0.19.3
- github.com/go-openapi/swag: v0.19.7 → v0.19.6
- github.com/go-openapi/validate: v0.19.2 → v0.19.5
- github.com/googleapis/gnostic: v0.2.0 → v0.3.1
- github.com/grpc-ecosystem/grpc-gateway: v1.9.4 → v1.9.5
- github.com/lib/pq: v1.6.0 → v1.7.0
- github.com/munnerz/goautoneg: 2ae31c8 → a7dc8b6
- github.com/onsi/ginkgo: v1.11.0 → v1.10.1
- github.com/onsi/gomega: v1.8.1 → v1.7.0
- github.com/stretchr/testify: v1.6.0 → v1.6.1
- github.com/tidwall/pretty: 65a9db5 → v1.0.0
- github.com/vmware/govmomi: v0.20.1 → v0.20.3
- go.mongodb.org/mongo-driver: v1.1.0 → v1.1.2
- golang.org/x/crypto: f7b0055 → bac4c82
- golang.org/x/sys: 12a6c2d → e047566
- k8s.io/api: v0.16.10 → v0.17.7
- k8s.io/apiextensions-apiserver: v0.16.10 → v0.17.7
- k8s.io/apimachinery: v0.16.10 → v0.17.7
- k8s.io/apiserver: v0.16.10 → v0.17.7
- k8s.io/cli-runtime: v0.16.10 → v0.17.7
- k8s.io/client-go: v0.16.10 → v0.17.7
- k8s.io/cloud-provider: v0.16.10 → v0.17.7
- k8s.io/cluster-bootstrap: v0.16.10 → v0.17.7
- k8s.io/code-generator: v0.16.8-beta.0 → v0.17.7
- k8s.io/component-base: v0.16.10 → v0.17.7
- k8s.io/cri-api: v0.16.8-beta.0 → v0.17.7
- k8s.io/csi-translation-lib: v0.16.10 → v0.17.7
- k8s.io/kube-aggregator: v0.16.10 → v0.17.7
- k8s.io/kube-controller-manager: v0.16.10 → v0.17.7
- k8s.io/kube-openapi: 594e756 → bcb3869
- k8s.io/kube-proxy: v0.16.10 → v0.17.7
- k8s.io/kube-scheduler: v0.16.10 → v0.17.7
- k8s.io/kubectl: v0.16.10 → v0.17.7
- k8s.io/kubelet: v0.16.10 → v0.17.7
- k8s.io/legacy-cloud-providers: v0.16.10 → v0.17.7
- k8s.io/metrics: v0.16.10 → v0.17.7
- k8s.io/sample-apiserver: v0.16.10 → v0.17.7
- k8s.io/utils: 8619460 → 1e243dd
- sigs.k8s.io/structured-merge-diff: v1.0.2 → 15d366b
- sigs.k8s.io/yaml: v1.2.0 → v1.1.0
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
Release notes for v0.20.0
Changelog since v0.19.0
Changes by Kind
Feature
- Add installation and group env var patching logic (#222, @gabrieljackson)
- Add option to change cluster AMI on upgrade (#219, @gabrieljackson)
- Adds teleport utility group (#233, @stylianosrigas)
- Deploy calico for network policy and deploy network policy for each Mattermost installation (#220, @cpanato)
- Refactor cluster metadata handling (#236, @gabrieljackson)
- Server: add missing syscal to trap the shutdown (#237, @cpanato)
- Update kops to 1.16.3 (#230, @gabrieljackson)
Documentation
- Bump helm version and correct README (#240, @gabrieljackson)
Bug or Regression
- Fixed logic that constraints query for fetching Multitenant Databases (#227, @gsagula)
- Graceful SIGTERM shutdown (#228, @gabrieljackson)
- Stale cluster and cluster installation supervisor fix (#225, @gabrieljackson)
- Stale installation supervisor fix (#224, @gabrieljackson)
- The versioning for kops now includes a
v
prefix (#231, @gabrieljackson)
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 tov1.4.0
- Update
github.com/aws/aws-sdk-go
dependency tov1.31.0
- Update
github.com/golang/mock
dependency tov1.4.3
- Update
github.com/lib/pq
dependency tov1.5.2
- Update
github.com/mattermost/mattermost-operator
dependency tov1.4.0
- Update
github.com/sirupsen/logrus
dependency tov1.6.0
- Update
github.com/spf13/cobra
dependency tov1.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.
- 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...
Release v0.19.0
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
- 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)
- Adds Machine-readable logs option
- Adds the ability to snapshot RDS database
- Adds MattermostEnv to Group Objects
v0.16.0
This release adds support for environment variables via the provisioner api.
v0.15.0
v0.14.0: MM-20995 Allow cluster utility versions to be managed via the API (#143)
- Allow cluster utility versions to be managed via the API