Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MG-67 - Update Magistrala compose with SuperMQ compose #76

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/check-license.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
CHECK=""
for file in $(grep -rl --exclude-dir={.git,build,**vernemq**} \
--exclude=\*.{crt,key,pem,zed,hcl,md,json,csv,mod,sum,tmpl,args} \
--exclude={CODEOWNERS,LICENSE,MAINTAINERS} \
--exclude={CODEOWNERS,LICENSE,MAINTAINERS,enabled_plugins,rabbitmq.conf} \
.); do

if ! head -n 5 "$file" | grep -q "Copyright (c) Abstract Machines"; then
Expand Down
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ DOCKER_COMPOSE_COMMANDS_SUPPORTED := up down config
DEFAULT_DOCKER_COMPOSE_COMMAND := up
GRPC_MTLS_CERT_FILES_EXISTS = 0
MOCKERY_VERSION=v2.43.2
SUPERMQ_REMOTE_PATH=https://github.com/absmach/supermq.git
SUPERMQ_SUBTREE_DIR=supermq
ifneq ($(MG_MESSAGE_BROKER_TYPE),)
MG_MESSAGE_BROKER_TYPE := $(MG_MESSAGE_BROKER_TYPE)
else
Expand Down Expand Up @@ -246,6 +248,10 @@ endif
endif
endif

pull_supermq:
@git subtree add --prefix=$(SUPERMQ_SUBTREE_DIR) $(SUPERMQ_REMOTE_PATH) main --squash
@find $(SUPERMQ_SUBTREE_DIR) -mindepth 1 ! -path 'supermq/docker*' -exec rm -rf {} +

run: check_certs
docker compose -f docker/docker-compose.yml --env-file docker/.env -p $(DOCKER_PROJECT) $(DOCKER_COMPOSE_COMMAND) $(args)

Expand Down
266 changes: 2 additions & 264 deletions docker/.env
Original file line number Diff line number Diff line change
Expand Up @@ -18,37 +18,10 @@ SMQ_NATS_HEALTH_CHECK=http://nats:${SMQ_NATS_HTTP_PORT}/healthz
SMQ_NATS_WS_TARGET_PATH=
SMQ_NATS_MQTT_QOS=1

## RabbitMQ
SMQ_RABBITMQ_PORT=5672
SMQ_RABBITMQ_HTTP_PORT=15672
SMQ_RABBITMQ_USER=supermq
SMQ_RABBITMQ_PASS=supermq
SMQ_RABBITMQ_COOKIE=supermq
SMQ_RABBITMQ_VHOST=/
SMQ_RABBITMQ_URL=amqp://${SMQ_RABBITMQ_USER}:${SMQ_RABBITMQ_PASS}@rabbitmq:${SMQ_RABBITMQ_PORT}${SMQ_RABBITMQ_VHOST}

## Message Broker
SMQ_MESSAGE_BROKER_TYPE=nats
SMQ_MESSAGE_BROKER_URL=${SMQ_NATS_URL}

## VERNEMQ
SMQ_DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on
SMQ_DOCKER_VERNEMQ_LOG__CONSOLE__LEVEL=error
SMQ_VERNEMQ_HEALTH_CHECK=http://vernemq:8888/health
SMQ_VERNEMQ_WS_TARGET_PATH=/mqtt
SMQ_VERNEMQ_MQTT_QOS=2

## MQTT Broker
SMQ_MQTT_BROKER_TYPE=vernemq
SMQ_MQTT_BROKER_HEALTH_CHECK=${SMQ_VERNEMQ_HEALTH_CHECK}
SMQ_MQTT_ADAPTER_MQTT_QOS=${SMQ_VERNEMQ_MQTT_QOS}
SMQ_MQTT_ADAPTER_MQTT_TARGET_HOST=${SMQ_MQTT_BROKER_TYPE}
SMQ_MQTT_ADAPTER_MQTT_TARGET_PORT=1883
SMQ_MQTT_ADAPTER_MQTT_TARGET_HEALTH_CHECK=${SMQ_MQTT_BROKER_HEALTH_CHECK}
SMQ_MQTT_ADAPTER_WS_TARGET_HOST=${SMQ_MQTT_BROKER_TYPE}
SMQ_MQTT_ADAPTER_WS_TARGET_PORT=8080
SMQ_MQTT_ADAPTER_WS_TARGET_PATH=${SMQ_VERNEMQ_WS_TARGET_PATH}

## Redis
SMQ_REDIS_TCP_PORT=6379
SMQ_REDIS_URL=redis://es-redis:${SMQ_REDIS_TCP_PORT}/0
Expand All @@ -73,34 +46,6 @@ SMQ_POSTGRES_MAX_CONNECTIONS=100

## Core Services

### Auth
SMQ_AUTH_LOG_LEVEL=debug
SMQ_AUTH_HTTP_HOST=auth
SMQ_AUTH_HTTP_PORT=9001
SMQ_AUTH_HTTP_SERVER_CERT=
SMQ_AUTH_HTTP_SERVER_KEY=
SMQ_AUTH_GRPC_HOST=auth
SMQ_AUTH_GRPC_PORT=7001
SMQ_AUTH_GRPC_SERVER_CERT=${GRPC_MTLS:+./ssl/certs/auth-grpc-server.crt}${GRPC_TLS:+./ssl/certs/auth-grpc-server.crt}
SMQ_AUTH_GRPC_SERVER_KEY=${GRPC_MTLS:+./ssl/certs/auth-grpc-server.key}${GRPC_TLS:+./ssl/certs/auth-grpc-server.key}
SMQ_AUTH_GRPC_SERVER_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}${GRPC_TLS:+./ssl/certs/ca.crt}
SMQ_AUTH_DB_HOST=auth-db
SMQ_AUTH_DB_PORT=5432
SMQ_AUTH_DB_USER=supermq
SMQ_AUTH_DB_PASS=supermq
SMQ_AUTH_DB_NAME=auth
SMQ_AUTH_DB_SSL_MODE=disable
SMQ_AUTH_DB_SSL_CERT=
SMQ_AUTH_DB_SSL_KEY=
SMQ_AUTH_DB_SSL_ROOT_CERT=
SMQ_AUTH_SECRET_KEY=HyE2D4RUt9nnKG6v8zKEqAp6g6ka8hhZsqUpzgKvnwpXrNVQSH
SMQ_AUTH_ACCESS_TOKEN_DURATION="1h"
SMQ_AUTH_REFRESH_TOKEN_DURATION="24h"
SMQ_AUTH_INVITATION_DURATION="168h"
SMQ_AUTH_ADAPTER_INSTANCE_ID=
SMQ_AUTH_CACHE_URL=redis://auth-redis:${SMQ_REDIS_TCP_PORT}/0
SMQ_AUTH_CACHE_KEY_DURATION=10m

#### Auth Client Config
SMQ_AUTH_URL=auth:9001
SMQ_AUTH_GRPC_URL=auth:7001
Expand All @@ -109,27 +54,6 @@ SMQ_AUTH_GRPC_CLIENT_CERT=${GRPC_MTLS:+./ssl/certs/auth-grpc-client.crt}
SMQ_AUTH_GRPC_CLIENT_KEY=${GRPC_MTLS:+./ssl/certs/auth-grpc-client.key}
SMQ_AUTH_GRPC_CLIENT_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}

### Domains
SMQ_DOMAINS_LOG_LEVEL=debug
SMQ_DOMAINS_HTTP_HOST=domains
SMQ_DOMAINS_HTTP_PORT=9003
SMQ_DOMAINS_HTTP_SERVER_KEY=
SMQ_DOMAINS_HTTP_SERVER_CERT=
SMQ_DOMAINS_GRPC_HOST=domains
SMQ_DOMAINS_GRPC_PORT=7003
SMQ_DOMAINS_DB_HOST=domains-db
SMQ_DOMAINS_DB_PORT=5432
SMQ_DOMAINS_DB_NAME=domains
SMQ_DOMAINS_DB_USER=supermq
SMQ_DOMAINS_DB_PASS=supermq
SMQ_DOMAINS_DB_SSL_MODE=
SMQ_DOMAINS_DB_SSL_KEY=
SMQ_DOMAINS_DB_SSL_CERT=
SMQ_DOMAINS_DB_SSL_ROOT_CERT=
SMQ_DOMAINS_INSTANCE_ID=
SMQ_DOMAINS_CACHE_URL=redis://domains-redis:${SMQ_REDIS_TCP_PORT}/0
SMQ_DOMAINS_CACHE_KEY_DURATION=10m

#### Domains Client Config
SMQ_DOMAINS_URL=http://domains:9003
SMQ_DOMAINS_GRPC_URL=domains:7003
Expand All @@ -147,153 +71,13 @@ SMQ_SPICEDB_DB_PORT=5432
### SpiceDB config
SMQ_SPICEDB_PRE_SHARED_KEY="12345678"
SMQ_SPICEDB_SCHEMA_FILE="/schema.zed"
SMQ_SPICEDB_HOST=magistrala-spicedb
SMQ_SPICEDB_HOST=supermq-spicedb
SMQ_SPICEDB_PORT=50051
SMQ_SPICEDB_DATASTORE_ENGINE=postgres

### UI
SMQ_UI_PATH_PREFIX=/ui

### Users
SMQ_USERS_LOG_LEVEL=debug
SMQ_USERS_SECRET_KEY=HyE2D4RUt9nnKG6v8zKEqAp6g6ka8hhZsqUpzgKvnwpXrNVQSH
[email protected]
SMQ_USERS_ADMIN_PASSWORD=12345678
SMQ_USERS_ADMIN_USERNAME=admin
SMQ_USERS_ADMIN_FIRST_NAME=super
SMQ_USERS_ADMIN_LAST_NAME=admin
SMQ_USERS_PASS_REGEX=^.{8,}$
SMQ_USERS_ACCESS_TOKEN_DURATION=15m
SMQ_USERS_REFRESH_TOKEN_DURATION=24h
SMQ_TOKEN_RESET_ENDPOINT=/reset-request
SMQ_USERS_HTTP_HOST=users
SMQ_USERS_HTTP_PORT=9002
SMQ_USERS_HTTP_SERVER_CERT=
SMQ_USERS_HTTP_SERVER_KEY=
SMQ_USERS_DB_HOST=users-db
SMQ_USERS_DB_PORT=5432
SMQ_USERS_DB_USER=supermq
SMQ_USERS_DB_PASS=supermq
SMQ_USERS_DB_NAME=users
SMQ_USERS_DB_SSL_MODE=disable
SMQ_USERS_DB_SSL_CERT=
SMQ_USERS_DB_SSL_KEY=
SMQ_USERS_DB_SSL_ROOT_CERT=
SMQ_USERS_RESET_PWD_TEMPLATE=users.tmpl
SMQ_USERS_INSTANCE_ID=
SMQ_USERS_SECRET_KEY=HyE2D4RUt9nnKG6v8zKEqAp6g6ka8hhZsqUpzgKvnwpXrNVQSH
[email protected]
SMQ_USERS_ADMIN_PASSWORD=12345678
SMQ_USERS_PASS_REGEX=^.{8,}$
SMQ_USERS_ACCESS_TOKEN_DURATION=15m
SMQ_USERS_REFRESH_TOKEN_DURATION=24h
SMQ_TOKEN_RESET_ENDPOINT=/reset-request
SMQ_USERS_ALLOW_SELF_REGISTER=true
SMQ_OAUTH_UI_REDIRECT_URL=http://localhost:9095${SMQ_UI_PATH_PREFIX}/tokens/secure
SMQ_OAUTH_UI_ERROR_URL=http://localhost:9095${SMQ_UI_PATH_PREFIX}/error
SMQ_USERS_DELETE_INTERVAL=24h
SMQ_USERS_DELETE_AFTER=720h

#### Users Client Config
SMQ_USERS_URL=users:9002

### Email utility
SMQ_EMAIL_HOST=smtp.mailtrap.io
SMQ_EMAIL_PORT=2525
SMQ_EMAIL_USERNAME=18bf7f70705139
SMQ_EMAIL_PASSWORD=2b0d302e775b1e
[email protected]
SMQ_EMAIL_FROM_NAME=Example
SMQ_EMAIL_TEMPLATE=email.tmpl

### Google OAuth2
SMQ_GOOGLE_CLIENT_ID=
SMQ_GOOGLE_CLIENT_SECRET=
SMQ_GOOGLE_REDIRECT_URL=
SMQ_GOOGLE_STATE=

### Groups
SMQ_GROUPS_LOG_LEVEL=debug
SMQ_GROUPS_HTTP_HOST=groups
SMQ_GROUPS_HTTP_PORT=9004
SMQ_GROUPS_HTTP_SERVER_CERT=
SMQ_GROUPS_HTTP_SERVER_KEY=
SMQ_GROUPS_GRPC_HOST=groups
SMQ_GROUPS_GRPC_PORT=7004
SMQ_GROUPS_GRPC_SERVER_CERT=${GRPC_MTLS:+./ssl/certs/groups-grpc-server.crt}${GRPC_TLS:+./ssl/certs/groups-grpc-server.crt}
SMQ_GROUPS_GRPC_SERVER_KEY=${GRPC_MTLS:+./ssl/certs/groups-grpc-server.key}${GRPC_TLS:+./ssl/certs/groups-grpc-server.key}
SMQ_GROUPS_GRPC_SERVER_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}${GRPC_TLS:+./ssl/certs/ca.crt}
SMQ_GROUPS_DB_HOST=groups-db
SMQ_GROUPS_DB_PORT=5432
SMQ_GROUPS_DB_USER=supermq
SMQ_GROUPS_DB_PASS=supermq
SMQ_GROUPS_DB_NAME=groups
SMQ_GROUPS_DB_SSL_MODE=disable
SMQ_GROUPS_DB_SSL_CERT=
SMQ_GROUPS_DB_SSL_KEY=
SMQ_GROUPS_DB_SSL_ROOT_CERT=
SMQ_GROUPS_INSTANCE_ID=

#### Groups Client Config
SMQ_GROUPS_URL=groups:9004
SMQ_GROUPS_GRPC_URL=groups:7004
SMQ_GROUPS_GRPC_TIMEOUT=300s
SMQ_GROUPS_GRPC_CLIENT_CERT=${GRPC_MTLS:+./ssl/certs/groups-grpc-client.crt}
SMQ_GROUPS_GRPC_CLIENT_KEY=${GRPC_MTLS:+./ssl/certs/groups-grpc-client.key}
SMQ_GROUPS_GRPC_CLIENT_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}

### Clients
SMQ_CLIENTS_LOG_LEVEL=debug
SMQ_CLIENTS_STANDALONE_ID=
SMQ_CLIENTS_STANDALONE_TOKEN=
SMQ_CLIENTS_CACHE_KEY_DURATION=10m
SMQ_CLIENTS_HTTP_HOST=clients
SMQ_CLIENTS_HTTP_PORT=9006
SMQ_CLIENTS_GRPC_HOST=clients
SMQ_CLIENTS_GRPC_PORT=7006
SMQ_CLIENTS_GRPC_SERVER_CERT=${GRPC_MTLS:+./ssl/certs/clients-grpc-server.crt}${GRPC_TLS:+./ssl/certs/clients-grpc-server.crt}
SMQ_CLIENTS_GRPC_SERVER_KEY=${GRPC_MTLS:+./ssl/certs/clients-grpc-server.key}${GRPC_TLS:+./ssl/certs/clients-grpc-server.key}
SMQ_CLIENTS_GRPC_SERVER_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}${GRPC_TLS:+./ssl/certs/ca.crt}
SMQ_CLIENTS_CACHE_URL=redis://clients-redis:${SMQ_REDIS_TCP_PORT}/0
SMQ_CLIENTS_DB_HOST=clients-db
SMQ_CLIENTS_DB_PORT=5432
SMQ_CLIENTS_DB_USER=supermq
SMQ_CLIENTS_DB_PASS=supermq
SMQ_CLIENTS_DB_NAME=clients
SMQ_CLIENTS_DB_SSL_MODE=disable
SMQ_CLIENTS_DB_SSL_CERT=
SMQ_CLIENTS_DB_SSL_KEY=
SMQ_CLIENTS_DB_SSL_ROOT_CERT=
SMQ_CLIENTS_INSTANCE_ID=

#### Clients Client Config
SMQ_CLIENTS_URL=http://clients:9006
SMQ_CLIENTS_GRPC_URL=clients:7006
SMQ_CLIENTS_GRPC_TIMEOUT=30s
SMQ_CLIENTS_GRPC_CLIENT_CERT=${GRPC_MTLS:+./ssl/certs/clients-grpc-client.crt}
SMQ_CLIENTS_GRPC_CLIENT_KEY=${GRPC_MTLS:+./ssl/certs/clients-grpc-client.key}
SMQ_CLIENTS_GRPC_CLIENT_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}

### Channels
SMQ_CHANNELS_LOG_LEVEL=debug
SMQ_CHANNELS_HTTP_HOST=channels
SMQ_CHANNELS_HTTP_PORT=9005
SMQ_CHANNELS_GRPC_HOST=channels
SMQ_CHANNELS_GRPC_PORT=7005
SMQ_CHANNELS_GRPC_SERVER_CERT=${GRPC_MTLS:+./ssl/certs/channels-grpc-server.crt}${GRPC_TLS:+./ssl/certs/channels-grpc-server.crt}
SMQ_CHANNELS_GRPC_SERVER_KEY=${GRPC_MTLS:+./ssl/certs/channels-grpc-server.key}${GRPC_TLS:+./ssl/certs/channels-grpc-server.key}
SMQ_CHANNELS_GRPC_SERVER_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}${GRPC_TLS:+./ssl/certs/ca.crt}
SMQ_CHANNELS_DB_HOST=channels-db
SMQ_CHANNELS_DB_PORT=5432
SMQ_CHANNELS_DB_USER=supermq
SMQ_CHANNELS_DB_PASS=supermq
SMQ_CHANNELS_DB_NAME=channels
SMQ_CHANNELS_DB_SSL_MODE=disable
SMQ_CHANNELS_DB_SSL_CERT=
SMQ_CHANNELS_DB_SSL_KEY=
SMQ_CHANNELS_DB_SSL_ROOT_CERT=
SMQ_CHANNELS_INSTANCE_ID=

### RE
MG_RE_LOG_LEVEL=debug
MG_RE_HTTP_HOST=re
Expand All @@ -311,52 +95,6 @@ MG_RE_DB_SSL_KEY=
MG_RE_DB_SSL_ROOT_CERT=
MG_RE_INSTANCE_ID=

#### Channels Client Config
SMQ_CHANNELS_URL=http://channels:9005
SMQ_CHANNELS_GRPC_URL=channels:7005
SMQ_CHANNELS_GRPC_TIMEOUT=30s
SMQ_CHANNELS_GRPC_CLIENT_CERT=${GRPC_MTLS:+./ssl/certs/channels-grpc-client.crt}
SMQ_CHANNELS_GRPC_CLIENT_KEY=${GRPC_MTLS:+./ssl/certs/channels-grpc-client.key}
SMQ_CHANNELS_GRPC_CLIENT_CA_CERTS=${GRPC_MTLS:+./ssl/certs/ca.crt}

### HTTP
SMQ_HTTP_ADAPTER_LOG_LEVEL=debug
SMQ_HTTP_ADAPTER_HOST=http-adapter
SMQ_HTTP_ADAPTER_PORT=8008
SMQ_HTTP_ADAPTER_SERVER_CERT=
SMQ_HTTP_ADAPTER_SERVER_KEY=
SMQ_HTTP_ADAPTER_INSTANCE_ID=

### MQTT
SMQ_MQTT_ADAPTER_LOG_LEVEL=debug
SMQ_MQTT_ADAPTER_MQTT_PORT=1883
SMQ_MQTT_ADAPTER_FORWARDER_TIMEOUT=30s
SMQ_MQTT_ADAPTER_WS_PORT=8080
SMQ_MQTT_ADAPTER_INSTANCE=
SMQ_MQTT_ADAPTER_INSTANCE_ID=
SMQ_MQTT_ADAPTER_ES_DB=0

### CoAP
SMQ_COAP_ADAPTER_LOG_LEVEL=debug
SMQ_COAP_ADAPTER_HOST=coap-adapter
SMQ_COAP_ADAPTER_PORT=5683
SMQ_COAP_ADAPTER_SERVER_CERT=
SMQ_COAP_ADAPTER_SERVER_KEY=
SMQ_COAP_ADAPTER_HTTP_HOST=coap-adapter
SMQ_COAP_ADAPTER_HTTP_PORT=5683
SMQ_COAP_ADAPTER_HTTP_SERVER_CERT=
SMQ_COAP_ADAPTER_HTTP_SERVER_KEY=
SMQ_COAP_ADAPTER_INSTANCE_ID=

### WS
SMQ_WS_ADAPTER_LOG_LEVEL=debug
SMQ_WS_ADAPTER_HTTP_HOST=ws-adapter
SMQ_WS_ADAPTER_HTTP_PORT=8186
SMQ_WS_ADAPTER_HTTP_SERVER_CERT=
SMQ_WS_ADAPTER_HTTP_SERVER_KEY=
SMQ_WS_ADAPTER_INSTANCE_ID=

## Addons Services
### Bootstrap
MG_BOOTSTRAP_LOG_LEVEL=debug
MG_BOOTSTRAP_ENCRYPT_KEY=v7aT0HGxJxt2gULzr3RHwf4WIf6DusPp
Expand Down Expand Up @@ -622,5 +360,5 @@ SUPPORT_EMAIL_PASS=
MG_RELEASE_TAG=latest

# runtime environment
RUNTIME_ENV=production # to be changed to production before production deployment
RUNTIME_ENV=production # to be changed to production before production deployment
MG_UI_DOCKER_ACCEPT_EULA=false
Loading
Loading