MM-27493 Shared channels (MVP) (#17301)
Remote Cluster Service - provides ability for multiple Mattermost cluster instances to create a trusted connection with each other and exchange messages - trusted connections are managed via slash commands (for now) - facilitates features requiring inter-cluster communication, such as Shared Channels Shared Channels Service - provides ability to shared channels between one or more Mattermost cluster instances (using trusted connection) - sharing/unsharing of channels is managed via slash commands (for now)
Этот коммит содержится в:
27
Makefile
27
Makefile
@@ -1,4 +1,4 @@
|
||||
.PHONY: build package run stop run-client run-server run-haserver stop-client stop-server restart restart-server restart-client restart-haserver start-docker clean-dist clean nuke check-style check-client-style check-server-style check-unit-tests test dist prepare-enteprise run-client-tests setup-run-client-tests cleanup-run-client-tests test-client build-linux build-osx build-windows internal-test-web-client vet run-server-for-web-client-tests diff-config prepackaged-plugins prepackaged-binaries test-server test-server-ee test-server-quick test-server-race start-docker-check migrations-bindata new-migration migration-prereqs
|
||||
.PHONY: build package run stop run-client run-server run-haserver stop-haserver stop-client stop-server restart restart-server restart-client restart-haserver start-docker clean-dist clean nuke check-style check-client-style check-server-style check-unit-tests test dist prepare-enteprise run-client-tests setup-run-client-tests cleanup-run-client-tests test-client build-linux build-osx build-windows internal-test-web-client vet run-server-for-web-client-tests diff-config prepackaged-plugins prepackaged-binaries test-server test-server-ee test-server-quick test-server-race start-docker-check migrations-bindata new-migration migration-prereqs
|
||||
|
||||
ROOT := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||
|
||||
@@ -58,6 +58,15 @@ else
|
||||
BUILD_CLIENT = false
|
||||
endif
|
||||
|
||||
# We need current user's UID for `run-haserver` so docker compose does not run server
|
||||
# as root and mess up file permissions for devs. When running like this HOME will be blank
|
||||
# and docker will add '/', so we need to set the go-build cache location or we'll get
|
||||
# permission errors on build as it tries to create a cache in filesystem root.
|
||||
export CURRENT_UID = $(shell id -u):$(shell id -g)
|
||||
ifeq ($(HOME),/)
|
||||
export XDG_CACHE_HOME = /tmp/go-cache/
|
||||
endif
|
||||
|
||||
# Go Flags
|
||||
GOFLAGS ?= $(GOFLAGS:)
|
||||
# We need to export GOBIN to allow it to be set
|
||||
@@ -170,13 +179,17 @@ ifneq (,$(findstring mysql-read-replica,$(ENABLED_DOCKER_SERVICES)))
|
||||
endif
|
||||
endif
|
||||
|
||||
run-haserver: run-client
|
||||
run-haserver:
|
||||
ifeq ($(BUILD_ENTERPRISE_READY),true)
|
||||
@echo Starting mattermost in an HA topology
|
||||
@echo Starting mattermost in an HA topology '(3 node cluster)'
|
||||
|
||||
docker-compose -f docker-compose.yaml up haproxy
|
||||
docker-compose -f docker-compose.yaml up --remove-orphans haproxy
|
||||
endif
|
||||
|
||||
stop-haserver:
|
||||
@echo Stopping docker containers for HA topology
|
||||
docker-compose stop
|
||||
|
||||
stop-docker: ## Stops the docker containers for local development.
|
||||
ifeq ($(MM_NO_DOCKER),true)
|
||||
@echo No Docker Enabled: skipping docker stop
|
||||
@@ -294,6 +307,11 @@ searchengine-mocks: ## Creates mock files for searchengines.
|
||||
$(GO) get -modfile=go.tools.mod github.com/vektra/mockery/...
|
||||
$(GOBIN)/mockery -dir services/searchengine -all -output services/searchengine/mocks -note 'Regenerate this file using `make searchengine-mocks`.'
|
||||
|
||||
sharedchannel-mocks: ## Creates mock files for shared channels.
|
||||
$(GO) get -modfile=go.tools.mod github.com/vektra/mockery/...
|
||||
$(GOBIN)/mockery -dir=./services/sharedchannel -name=ServerIface -output=./services/sharedchannel -inpkg -outpkg=sharedchannel -testonly -note 'Regenerate this file using `make sharedchannel-mocks`.'
|
||||
$(GOBIN)/mockery -dir=./services/sharedchannel -name=AppIface -output=./services/sharedchannel -inpkg -outpkg=sharedchannel -testonly -note 'Regenerate this file using `make sharedchannel-mocks`.'
|
||||
|
||||
pluginapi: ## Generates api and hooks glue code for plugins
|
||||
$(GO) generate $(GOFLAGS) ./plugin
|
||||
|
||||
@@ -497,6 +515,7 @@ restart-server: | stop-server run-server ## Restarts the mattermost server to pi
|
||||
restart-haserver:
|
||||
@echo Restarting mattermost in an HA topology
|
||||
|
||||
docker-compose restart follower2
|
||||
docker-compose restart follower
|
||||
docker-compose restart leader
|
||||
docker-compose restart haproxy
|
||||
|
||||
Ссылка в новой задаче
Block a user