From c9fd91437692eeef601d8c0aed67395203bd9cd9 Mon Sep 17 00:00:00 2001 From: ianmuchyri Date: Mon, 20 Jan 2025 17:53:02 +0300 Subject: [PATCH] update timescale Signed-off-by: ianmuchyri --- cmd/timescale-reader/main.go | 12 ++-- cmd/timescale-writer/main.go | 10 +-- consumers/notifiers/smpp/README.md | 10 +-- consumers/writers/timescale/README.md | 64 +++++++++---------- docker/.env | 46 ++++++------- docker/README.md | 4 +- docker/addons/bootstrap/docker-compose.yml | 2 +- docker/addons/certs/docker-compose.yml | 34 +++++----- docker/addons/journal/docker-compose.yml | 18 +++--- .../addons/postgres-reader/docker-compose.yml | 42 ++++++------ .../addons/postgres-writer/docker-compose.yml | 10 +-- docker/addons/provision/docker-compose.yml | 4 +- docker/addons/re/docker-compose.yml | 2 +- .../timescale-reader/docker-compose.yml | 53 ++++++++------- .../timescale-writer/docker-compose.yml | 10 +-- docker/docker-compose.yml | 26 ++++---- readers/api/requests.go | 1 + readers/api/transport.go | 10 +-- readers/timescale/README.md | 60 ++++++++--------- readers/timescale/init.go | 18 +++--- 20 files changed, 222 insertions(+), 214 deletions(-) diff --git a/cmd/timescale-reader/main.go b/cmd/timescale-reader/main.go index 12b3243ea..9c3bd2132 100644 --- a/cmd/timescale-reader/main.go +++ b/cmd/timescale-reader/main.go @@ -31,8 +31,8 @@ import ( const ( svcName = "timescaledb-reader" - envPrefixDB = "SMQ_TIMESCALE_" - envPrefixHTTP = "SMQ_TIMESCALE_READER_HTTP_" + envPrefixDB = "MG_TIMESCALE_" + envPrefixHTTP = "MG_TIMESCALE_READER_HTTP_" envPrefixAuth = "SMQ_AUTH_GRPC_" envPrefixClients = "SMQ_CLIENTS_AUTH_GRPC_" envPrefixChannels = "SMQ_CHANNELS_GRPC_" @@ -41,9 +41,9 @@ const ( ) type config struct { - LogLevel string `env:"SMQ_TIMESCALE_READER_LOG_LEVEL" envDefault:"info"` - SendTelemetry bool `env:"SMQ_SEND_TELEMETRY" envDefault:"true"` - InstanceID string `env:"SMQ_TIMESCALE_READER_INSTANCE_ID" envDefault:""` + LogLevel string `env:"MG_TIMESCALE_READER_LOG_LEVEL" envDefault:"info"` + SendTelemetry bool `env:"SMQ_SEND_TELEMETRY" envDefault:"true"` + InstanceID string `env:"MG_TIMESCALE_READER_INSTANCE_ID" envDefault:""` } func main() { @@ -100,7 +100,7 @@ func main() { } defer clientsHandler.Close() - logger.Info("ClientsService gRPC client successfully connected to clients gRPC server " + clientsHandler.Secure()) + logger.Info("Clients service gRPC client successfully connected to clients gRPC server " + clientsHandler.Secure()) channelsClientCfg := grpcclient.Config{} if err := env.ParseWithOptions(&channelsClientCfg, env.Options{Prefix: envPrefixChannels}); err != nil { diff --git a/cmd/timescale-writer/main.go b/cmd/timescale-writer/main.go index 62fe2ae41..5148c38da 100644 --- a/cmd/timescale-writer/main.go +++ b/cmd/timescale-writer/main.go @@ -34,19 +34,19 @@ import ( const ( svcName = "timescaledb-writer" - envPrefixDB = "SMQ_TIMESCALE_" - envPrefixHTTP = "SMQ_TIMESCALE_WRITER_HTTP_" + envPrefixDB = "MG_TIMESCALE_" + envPrefixHTTP = "MG_TIMESCALE_WRITER_HTTP_" defDB = "messages" defSvcHTTPPort = "9012" ) type config struct { - LogLevel string `env:"SMQ_TIMESCALE_WRITER_LOG_LEVEL" envDefault:"info"` - ConfigPath string `env:"SMQ_TIMESCALE_WRITER_CONFIG_PATH" envDefault:"/config.toml"` + LogLevel string `env:"MG_TIMESCALE_WRITER_LOG_LEVEL" envDefault:"info"` + ConfigPath string `env:"MG_TIMESCALE_WRITER_CONFIG_PATH" envDefault:"/config.toml"` BrokerURL string `env:"SMQ_MESSAGE_BROKER_URL" envDefault:"nats://localhost:4222"` JaegerURL url.URL `env:"SMQ_JAEGER_URL" envDefault:"http://localhost:4318/v1/traces"` SendTelemetry bool `env:"SMQ_SEND_TELEMETRY" envDefault:"true"` - InstanceID string `env:"SMQ_TIMESCALE_WRITER_INSTANCE_ID" envDefault:""` + InstanceID string `env:"MG_TIMESCALE_WRITER_INSTANCE_ID" envDefault:""` TraceRatio float64 `env:"SMQ_JAEGER_TRACE_RATIO" envDefault:"1.0"` } diff --git a/consumers/notifiers/smpp/README.md b/consumers/notifiers/smpp/README.md index 784763dee..12d728a96 100644 --- a/consumers/notifiers/smpp/README.md +++ b/consumers/notifiers/smpp/README.md @@ -34,13 +34,13 @@ default values. | MG_SMPP_DST_ADDR_TON | SMPP destination address TON | | | MG_SMPP_SRC_ADDR_NPI | SMPP source address NPI | | | MG_SMPP_DST_ADDR_NPI | SMPP destination address NPI | | -| MG_AUTH_GRPC_URL | Auth service gRPC URL | localhost:7001 | -| MG_AUTH_GRPC_TIMEOUT | Auth service gRPC request timeout in seconds | 1s | +| SMQ_AUTH_GRPC_URL | Auth service gRPC URL | localhost:7001 | +| SMQ_AUTH_GRPC_TIMEOUT | Auth service gRPC request timeout in seconds | 1s | | MG_AUTH_GRPC_CLIENT_TLS | Auth client TLS flag | false | | MG_AUTH_GRPC_CA_CERT | Path to Auth client CA certs in pem format | "" | -| MG_MESSAGE_BROKER_URL | Message broker URL | nats://127.0.0.1:4222 | -| MG_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | -| MG_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | +| SMQ_MESSAGE_BROKER_URL | Message broker URL | nats://127.0.0.1:4222 | +| SMQ_JAEGER_URL | Jaeger server URL | http://jaeger:14268/api/traces | +| SMQ_SEND_TELEMETRY | Send telemetry to magistrala call home server | true | | MG_SMPP_NOTIFIER_INSTANCE_ID | SMPP Notifier instance ID | "" | ## Usage diff --git a/consumers/writers/timescale/README.md b/consumers/writers/timescale/README.md index 8e5480078..84ba42a6a 100644 --- a/consumers/writers/timescale/README.md +++ b/consumers/writers/timescale/README.md @@ -10,25 +10,25 @@ default values. | Variable | Description | Default | | ------------------------------------- | --------------------------------------------------------- | ---------------------------- | -| SMQ_TIMESCALE_WRITER_LOG_LEVEL | Service log level | info | -| SMQ_TIMESCALE_WRITER_CONFIG_PATH | Configuration file path with Message broker subjects list | /config.toml | -| SMQ_TIMESCALE_WRITER_HTTP_HOST | Service HTTP host | localhost | -| SMQ_TIMESCALE_WRITER_HTTP_PORT | Service HTTP port | 9012 | -| SMQ_TIMESCALE_WRITER_HTTP_SERVER_CERT | Service HTTP server certificate path | "" | -| SMQ_TIMESCALE_WRITER_HTTP_SERVER_KEY | Service HTTP server key | "" | -| SMQ_TIMESCALE_HOST | Timescale DB host | timescale | -| SMQ_TIMESCALE_PORT | Timescale DB port | 5432 | -| SMQ_TIMESCALE_USER | Timescale user | supermq | -| SMQ_TIMESCALE_PASS | Timescale password | supermq | -| SMQ_TIMESCALE_NAME | Timescale database name | messages | -| SMQ_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | -| SMQ_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | -| SMQ_TIMESCALE_SSL_KEY | Timescale SSL key | "" | -| SMQ_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | +| MG_TIMESCALE_WRITER_LOG_LEVEL | Service log level | info | +| MG_TIMESCALE_WRITER_CONFIG_PATH | Configuration file path with Message broker subjects list | /config.toml | +| MG_TIMESCALE_WRITER_HTTP_HOST | Service HTTP host | localhost | +| MG_TIMESCALE_WRITER_HTTP_PORT | Service HTTP port | 9012 | +| MG_TIMESCALE_WRITER_HTTP_SERVER_CERT | Service HTTP server certificate path | "" | +| MG_TIMESCALE_WRITER_HTTP_SERVER_KEY | Service HTTP server key | "" | +| MG_TIMESCALE_HOST | Timescale DB host | timescale | +| MG_TIMESCALE_PORT | Timescale DB port | 5432 | +| MG_TIMESCALE_USER | Timescale user | supermq | +| MG_TIMESCALE_PASS | Timescale password | supermq | +| MG_TIMESCALE_NAME | Timescale database name | messages | +| MG_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | +| MG_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | +| MG_TIMESCALE_SSL_KEY | Timescale SSL key | "" | +| MG_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | | SMQ_MESSAGE_BROKER_URL | Message broker instance URL | nats://localhost:4222 | | SMQ_JAEGER_URL | Jaeger server URL | http://jaeger:4318/v1/traces | | SMQ_SEND_TELEMETRY | Send telemetry to supermq call home server | true | -| SMQ_TIMESCALE_WRITER_INSTANCE_ID | Timescale writer instance ID | "" | +| MG_TIMESCALE_WRITER_INSTANCE_ID | Timescale writer instance ID | "" | ## Deployment @@ -49,25 +49,25 @@ make timescale-writer make install # Set the environment variables and run the service -SMQ_TIMESCALE_WRITER_LOG_LEVEL=[Service log level] \ -SMQ_TIMESCALE_WRITER_CONFIG_PATH=[Configuration file path with Message broker subjects list] \ -SMQ_TIMESCALE_WRITER_HTTP_HOST=[Service HTTP host] \ -SMQ_TIMESCALE_WRITER_HTTP_PORT=[Service HTTP port] \ -SMQ_TIMESCALE_WRITER_HTTP_SERVER_CERT=[Service HTTP server cert] \ -SMQ_TIMESCALE_WRITER_HTTP_SERVER_KEY=[Service HTTP server key] \ -SMQ_TIMESCALE_HOST=[Timescale host] \ -SMQ_TIMESCALE_PORT=[Timescale port] \ -SMQ_TIMESCALE_USER=[Timescale user] \ -SMQ_TIMESCALE_PASS=[Timescale password] \ -SMQ_TIMESCALE_NAME=[Timescale database name] \ -SMQ_TIMESCALE_SSL_MODE=[Timescale SSL mode] \ -SMQ_TIMESCALE_SSL_CERT=[Timescale SSL cert] \ -SMQ_TIMESCALE_SSL_KEY=[Timescale SSL key] \ -SMQ_TIMESCALE_SSL_ROOT_CERT=[Timescale SSL Root cert] \ +MG_TIMESCALE_WRITER_LOG_LEVEL=[Service log level] \ +MG_TIMESCALE_WRITER_CONFIG_PATH=[Configuration file path with Message broker subjects list] \ +MG_TIMESCALE_WRITER_HTTP_HOST=[Service HTTP host] \ +MG_TIMESCALE_WRITER_HTTP_PORT=[Service HTTP port] \ +MG_TIMESCALE_WRITER_HTTP_SERVER_CERT=[Service HTTP server cert] \ +MG_TIMESCALE_WRITER_HTTP_SERVER_KEY=[Service HTTP server key] \ +MG_TIMESCALE_HOST=[Timescale host] \ +MG_TIMESCALE_PORT=[Timescale port] \ +MG_TIMESCALE_USER=[Timescale user] \ +MG_TIMESCALE_PASS=[Timescale password] \ +MG_TIMESCALE_NAME=[Timescale database name] \ +MG_TIMESCALE_SSL_MODE=[Timescale SSL mode] \ +MG_TIMESCALE_SSL_CERT=[Timescale SSL cert] \ +MG_TIMESCALE_SSL_KEY=[Timescale SSL key] \ +MG_TIMESCALE_SSL_ROOT_CERT=[Timescale SSL Root cert] \ SMQ_MESSAGE_BROKER_URL=[Message broker instance URL] \ SMQ_JAEGER_URL=[Jaeger server URL] \ SMQ_SEND_TELEMETRY=[Send telemetry to supermq call home server] \ -SMQ_TIMESCALE_WRITER_INSTANCE_ID=[Timescale writer instance ID] \ +MG_TIMESCALE_WRITER_INSTANCE_ID=[Timescale writer instance ID] \ $GOBIN/supermq-timescale-writer ``` diff --git a/docker/.env b/docker/.env index 688dcb06d..9fdf6650b 100644 --- a/docker/.env +++ b/docker/.env @@ -539,32 +539,32 @@ SMQ_POSTGRES_READER_HTTP_SERVER_KEY= SMQ_POSTGRES_READER_INSTANCE_ID= ### Timescale -SMQ_TIMESCALE_HOST=supermq-timescale -SMQ_TIMESCALE_PORT=5432 -SMQ_TIMESCALE_USER=supermq -SMQ_TIMESCALE_PASS=supermq -SMQ_TIMESCALE_NAME=supermq -SMQ_TIMESCALE_SSL_MODE=disable -SMQ_TIMESCALE_SSL_CERT= -SMQ_TIMESCALE_SSL_KEY= -SMQ_TIMESCALE_SSL_ROOT_CERT= +MG_TIMESCALE_HOST=timescale +MG_TIMESCALE_PORT=5432 +MG_TIMESCALE_USER=supermq +MG_TIMESCALE_PASS=supermq +MG_TIMESCALE_NAME=supermq +MG_TIMESCALE_SSL_MODE=disable +MG_TIMESCALE_SSL_CERT= +MG_TIMESCALE_SSL_KEY= +MG_TIMESCALE_SSL_ROOT_CERT= ### Timescale Writer -SMQ_TIMESCALE_WRITER_LOG_LEVEL=debug -SMQ_TIMESCALE_WRITER_CONFIG_PATH=/config.toml -SMQ_TIMESCALE_WRITER_HTTP_HOST=timescale-writer -SMQ_TIMESCALE_WRITER_HTTP_PORT=9012 -SMQ_TIMESCALE_WRITER_HTTP_SERVER_CERT= -SMQ_TIMESCALE_WRITER_HTTP_SERVER_KEY= -SMQ_TIMESCALE_WRITER_INSTANCE_ID= +MG_TIMESCALE_WRITER_LOG_LEVEL=debug +MG_TIMESCALE_WRITER_CONFIG_PATH=/config.toml +MG_TIMESCALE_WRITER_HTTP_HOST=timescale-writer +MG_TIMESCALE_WRITER_HTTP_PORT=9012 +MG_TIMESCALE_WRITER_HTTP_SERVER_CERT= +MG_TIMESCALE_WRITER_HTTP_SERVER_KEY= +MG_TIMESCALE_WRITER_INSTANCE_ID= ### Timescale Reader -SMQ_TIMESCALE_READER_LOG_LEVEL=debug -SMQ_TIMESCALE_READER_HTTP_HOST=timescale-reader -SMQ_TIMESCALE_READER_HTTP_PORT=9011 -SMQ_TIMESCALE_READER_HTTP_SERVER_CERT= -SMQ_TIMESCALE_READER_HTTP_SERVER_KEY= -SMQ_TIMESCALE_READER_INSTANCE_ID= +MG_TIMESCALE_READER_LOG_LEVEL=debug +MG_TIMESCALE_READER_HTTP_HOST=timescale-reader +MG_TIMESCALE_READER_HTTP_PORT=9011 +MG_TIMESCALE_READER_HTTP_SERVER_CERT= +MG_TIMESCALE_READER_HTTP_SERVER_KEY= +MG_TIMESCALE_READER_INSTANCE_ID= ### Journal SMQ_JOURNAL_LOG_LEVEL=info @@ -590,4 +590,4 @@ SMQ_GRAFANA_ADMIN_USER=supermq SMQ_GRAFANA_ADMIN_PASSWORD=supermq # Docker image tag -SMQ_RELEASE_TAG=latest +MG_RELEASE_TAG=latest diff --git a/docker/README.md b/docker/README.md index dca67ea7d..31f405b20 100644 --- a/docker/README.md +++ b/docker/README.md @@ -54,7 +54,7 @@ MG_MESSAGE_BROKER_TYPE=rabbitmq make dockers ```env MG_MESSAGE_BROKER_TYPE=rabbitmq -MG_MESSAGE_BROKER_URL=${MG_RABBITMQ_URL} +SMQ_MESSAGE_BROKER_URL=${MG_RABBITMQ_URL} ``` For Redis as an events store, you would need to run RabbitMQ or NATS as a message broker. For example, to use Redis as an events store with rabbitmq as a message broker: @@ -65,7 +65,7 @@ MG_ES_TYPE=redis MG_MESSAGE_BROKER_TYPE=rabbitmq make dockers ```env MG_MESSAGE_BROKER_TYPE=rabbitmq -MG_MESSAGE_BROKER_URL=${MG_RABBITMQ_URL} +SMQ_MESSAGE_BROKER_URL=${MG_RABBITMQ_URL} MG_ES_TYPE=redis MG_ES_URL=${MG_REDIS_URL} ``` diff --git a/docker/addons/bootstrap/docker-compose.yml b/docker/addons/bootstrap/docker-compose.yml index 5296df8c6..5ade12129 100644 --- a/docker/addons/bootstrap/docker-compose.yml +++ b/docker/addons/bootstrap/docker-compose.yml @@ -27,7 +27,7 @@ services: - magistrala-bootstrap-db-volume:/var/lib/postgresql/data bootstrap: - image: ghcr.io/absmach/magistrala/bootstrap:${SMQ_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/bootstrap:${MG_RELEASE_TAG} container_name: magistrala-bootstrap depends_on: - bootstrap-db diff --git a/docker/addons/certs/docker-compose.yml b/docker/addons/certs/docker-compose.yml index 5bfb3dfb2..e67065ab1 100644 --- a/docker/addons/certs/docker-compose.yml +++ b/docker/addons/certs/docker-compose.yml @@ -14,7 +14,7 @@ volumes: services: certs: - image: magistrala/certs:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/certs:${MG_RELEASE_TAG} container_name: magistrala-certs depends_on: - am-certs @@ -49,32 +49,32 @@ services: MG_CERTS_SDK_HOST: ${MG_CERTS_SDK_HOST} MG_CERTS_SDK_CERTS_URL: ${MG_CERTS_SDK_CERTS_URL} MG_CERTS_SDK_TLS_VERIFICATION: ${MG_CERTS_SDK_TLS_VERIFICATION} - MG_AUTH_GRPC_URL: ${MG_AUTH_GRPC_URL} - MG_AUTH_GRPC_TIMEOUT: ${MG_AUTH_GRPC_TIMEOUT} - MG_AUTH_GRPC_CLIENT_CERT: ${MG_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} - MG_AUTH_GRPC_CLIENT_KEY: ${MG_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} - MG_AUTH_GRPC_SERVER_CA_CERTS: ${MG_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} + SMQ_AUTH_GRPC_URL: ${SMQ_AUTH_GRPC_URL} + SMQ_AUTH_GRPC_TIMEOUT: ${SMQ_AUTH_GRPC_TIMEOUT} + SMQ_AUTH_GRPC_CLIENT_CERT: ${SMQ_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} + SMQ_AUTH_GRPC_CLIENT_KEY: ${SMQ_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} + SMQ_AUTH_GRPC_SERVER_CA_CERTS: ${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} MG_THINGS_URL: ${MG_THINGS_URL} - MG_JAEGER_URL: ${MG_JAEGER_URL} - MG_JAEGER_TRACE_RATIO: ${MG_JAEGER_TRACE_RATIO} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_JAEGER_URL: ${SMQ_JAEGER_URL} + SMQ_JAEGER_TRACE_RATIO: ${SMQ_JAEGER_TRACE_RATIO} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_CERTS_INSTANCE_ID: ${MG_CERTS_INSTANCE_ID} volumes: - ../../ssl/certs/ca.key:/etc/ssl/certs/ca.key - ../../ssl/certs/ca.crt:/etc/ssl/certs/ca.crt - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_CLIENT_CERT:-./ssl/certs/dummy/client_cert} - target: /auth-grpc-client${MG_AUTH_GRPC_CLIENT_CERT:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_CLIENT_CERT:-./ssl/certs/dummy/client_cert} + target: /auth-grpc-client${SMQ_AUTH_GRPC_CLIENT_CERT:+.crt} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_CLIENT_KEY:-./ssl/certs/dummy/client_key} - target: /auth-grpc-client${MG_AUTH_GRPC_CLIENT_KEY:+.key} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_CLIENT_KEY:-./ssl/certs/dummy/client_key} + target: /auth-grpc-client${SMQ_AUTH_GRPC_CLIENT_KEY:+.key} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_SERVER_CA_CERTS:-./ssl/certs/dummy/server_ca} - target: /auth-grpc-server-ca${MG_AUTH_GRPC_SERVER_CA_CERTS:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_SERVER_CA_CERTS:-./ssl/certs/dummy/server_ca} + target: /auth-grpc-server-ca${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+.crt} bind: create_host_path: true @@ -114,8 +114,8 @@ services: AM_CERTS_HTTP_PORT: 9010 AM_CERTS_GRPC_HOST: magistrala-am-certs AM_CERTS_GRPC_PORT: 7012 - AM_JAEGER_URL: ${MG_JAEGER_URL} - AM_JAEGER_TRACE_RATIO: ${MG_JAEGER_TRACE_RATIO} + AM_JAEGER_URL: ${SMQ_JAEGER_URL} + AM_JAEGER_TRACE_RATIO: ${SMQ_JAEGER_TRACE_RATIO} volumes: - ./config.yml:/config/config.yml ports: diff --git a/docker/addons/journal/docker-compose.yml b/docker/addons/journal/docker-compose.yml index 0b7d95064..d1537363f 100644 --- a/docker/addons/journal/docker-compose.yml +++ b/docker/addons/journal/docker-compose.yml @@ -31,7 +31,7 @@ services: - magistrala-journal-volume:/var/lib/postgresql/data journal: - image: magistrala/journal:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/journal:${MG_RELEASE_TAG} container_name: magistrala-journal depends_on: - journal-db @@ -51,15 +51,15 @@ services: MG_JOURNAL_DB_SSL_CERT: ${MG_JOURNAL_DB_SSL_CERT} MG_JOURNAL_DB_SSL_KEY: ${MG_JOURNAL_DB_SSL_KEY} MG_JOURNAL_DB_SSL_ROOT_CERT: ${MG_JOURNAL_DB_SSL_ROOT_CERT} - MG_AUTH_GRPC_URL: ${MG_AUTH_GRPC_URL} - MG_AUTH_GRPC_TIMEOUT: ${MG_AUTH_GRPC_TIMEOUT} - MG_AUTH_GRPC_CLIENT_CERT: ${MG_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} - MG_AUTH_GRPC_CLIENT_KEY: ${MG_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} - MG_AUTH_GRPC_SERVER_CA_CERTS: ${MG_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} + SMQ_AUTH_GRPC_URL: ${SMQ_AUTH_GRPC_URL} + SMQ_AUTH_GRPC_TIMEOUT: ${SMQ_AUTH_GRPC_TIMEOUT} + SMQ_AUTH_GRPC_CLIENT_CERT: ${SMQ_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} + SMQ_AUTH_GRPC_CLIENT_KEY: ${SMQ_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} + SMQ_AUTH_GRPC_SERVER_CA_CERTS: ${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} MG_ES_URL: ${MG_ES_URL} - MG_JAEGER_URL: ${MG_JAEGER_URL} - MG_JAEGER_TRACE_RATIO: ${MG_JAEGER_TRACE_RATIO} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_JAEGER_URL: ${SMQ_JAEGER_URL} + SMQ_JAEGER_TRACE_RATIO: ${SMQ_JAEGER_TRACE_RATIO} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_JOURNAL_INSTANCE_ID: ${MG_JOURNAL_INSTANCE_ID} ports: - ${MG_JOURNAL_HTTP_PORT}:${MG_JOURNAL_HTTP_PORT} diff --git a/docker/addons/postgres-reader/docker-compose.yml b/docker/addons/postgres-reader/docker-compose.yml index 3b84d6c9b..a0dfa5180 100644 --- a/docker/addons/postgres-reader/docker-compose.yml +++ b/docker/addons/postgres-reader/docker-compose.yml @@ -12,7 +12,7 @@ networks: services: postgres-reader: - image: magistrala/postgres-reader:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/postgres-reader:${MG_RELEASE_TAG} container_name: magistrala-postgres-reader restart: on-failure environment: @@ -30,17 +30,17 @@ services: MG_POSTGRES_SSL_CERT: ${MG_POSTGRES_SSL_CERT} MG_POSTGRES_SSL_KEY: ${MG_POSTGRES_SSL_KEY} MG_POSTGRES_SSL_ROOT_CERT: ${MG_POSTGRES_SSL_ROOT_CERT} - MG_THINGS_AUTH_GRPC_URL: ${MG_THINGS_AUTH_GRPC_URL} - MG_THINGS_AUTH_GRPC_TIMEOUT: ${MG_THINGS_AUTH_GRPC_TIMEOUT} + SMQ_CLIENTS_AUTH_GRPC_URL: ${SMQ_CLIENTS_AUTH_GRPC_URL} + SMQ_CLIENTS_AUTH_GRPC_TIMEOUT: ${SMQ_CLIENTS_AUTH_GRPC_TIMEOUT} MG_THINGS_AUTH_GRPC_CLIENT_CERT: ${MG_THINGS_AUTH_GRPC_CLIENT_CERT:+/things-grpc-client.crt} - MG_THINGS_AUTH_GRPC_CLIENT_KEY: ${MG_THINGS_AUTH_GRPC_CLIENT_KEY:+/things-grpc-client.key} - MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS: ${MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS:+/things-grpc-server-ca.crt} - MG_AUTH_GRPC_URL: ${MG_AUTH_GRPC_URL} - MG_AUTH_GRPC_TIMEOUT: ${MG_AUTH_GRPC_TIMEOUT} - MG_AUTH_GRPC_CLIENT_CERT: ${MG_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} - MG_AUTH_GRPC_CLIENT_KEY: ${MG_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} - MG_AUTH_GRPC_SERVER_CA_CERTS: ${MG_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY: ${SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY:+/things-grpc-client.key} + SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS: ${SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS:+/things-grpc-server-ca.crt} + SMQ_AUTH_GRPC_URL: ${SMQ_AUTH_GRPC_URL} + SMQ_AUTH_GRPC_TIMEOUT: ${SMQ_AUTH_GRPC_TIMEOUT} + SMQ_AUTH_GRPC_CLIENT_CERT: ${SMQ_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} + SMQ_AUTH_GRPC_CLIENT_KEY: ${SMQ_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} + SMQ_AUTH_GRPC_SERVER_CA_CERTS: ${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_POSTGRES_READER_INSTANCE_ID: ${MG_POSTGRES_READER_INSTANCE_ID} ports: - ${MG_POSTGRES_READER_HTTP_PORT}:${MG_POSTGRES_READER_HTTP_PORT} @@ -48,18 +48,18 @@ services: - magistrala-base-net volumes: - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_CLIENT_CERT:-./ssl/certs/dummy/client_cert} - target: /auth-grpc-client${MG_AUTH_GRPC_CLIENT_CERT:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_CLIENT_CERT:-./ssl/certs/dummy/client_cert} + target: /auth-grpc-client${SMQ_AUTH_GRPC_CLIENT_CERT:+.crt} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_CLIENT_KEY:-./ssl/certs/dummy/client_key} - target: /auth-grpc-client${MG_AUTH_GRPC_CLIENT_KEY:+.key} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_CLIENT_KEY:-./ssl/certs/dummy/client_key} + target: /auth-grpc-client${SMQ_AUTH_GRPC_CLIENT_KEY:+.key} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_SERVER_CA_CERTS:-./ssl/certs/dummy/server_ca} - target: /auth-grpc-server-ca${MG_AUTH_GRPC_SERVER_CA_CERTS:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_SERVER_CA_CERTS:-./ssl/certs/dummy/server_ca} + target: /auth-grpc-server-ca${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+.crt} bind: create_host_path: true # Things gRPC mTLS client certificates @@ -69,12 +69,12 @@ services: bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_THINGS_AUTH_GRPC_CLIENT_KEY:-ssl/certs/dummy/client_key} - target: /things-grpc-client${MG_THINGS_AUTH_GRPC_CLIENT_KEY:+.key} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY:-ssl/certs/dummy/client_key} + target: /things-grpc-client${SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY:+.key} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS:-ssl/certs/dummy/server_ca} - target: /things-grpc-server-ca${MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS:-ssl/certs/dummy/server_ca} + target: /things-grpc-server-ca${SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS:+.crt} bind: create_host_path: true diff --git a/docker/addons/postgres-writer/docker-compose.yml b/docker/addons/postgres-writer/docker-compose.yml index c5e1964c1..6b74d3ea0 100644 --- a/docker/addons/postgres-writer/docker-compose.yml +++ b/docker/addons/postgres-writer/docker-compose.yml @@ -29,7 +29,7 @@ services: - magistrala-postgres-writer-volume:/var/lib/postgresql/data postgres-writer: - image: magistrala/postgres-writer:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/postgres-writer:${MG_RELEASE_TAG} container_name: magistrala-postgres-writer depends_on: - postgres @@ -50,10 +50,10 @@ services: MG_POSTGRES_SSL_CERT: ${MG_POSTGRES_SSL_CERT} MG_POSTGRES_SSL_KEY: ${MG_POSTGRES_SSL_KEY} MG_POSTGRES_SSL_ROOT_CERT: ${MG_POSTGRES_SSL_ROOT_CERT} - MG_MESSAGE_BROKER_URL: ${MG_MESSAGE_BROKER_URL} - MG_JAEGER_URL: ${MG_JAEGER_URL} - MG_JAEGER_TRACE_RATIO: ${MG_JAEGER_TRACE_RATIO} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_MESSAGE_BROKER_URL: ${SMQ_MESSAGE_BROKER_URL} + SMQ_JAEGER_URL: ${SMQ_JAEGER_URL} + SMQ_JAEGER_TRACE_RATIO: ${SMQ_JAEGER_TRACE_RATIO} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_POSTGRES_WRITER_INSTANCE_ID: ${MG_POSTGRES_WRITER_INSTANCE_ID} ports: - ${MG_POSTGRES_WRITER_HTTP_PORT}:${MG_POSTGRES_WRITER_HTTP_PORT} diff --git a/docker/addons/provision/docker-compose.yml b/docker/addons/provision/docker-compose.yml index da8befad4..062746923 100644 --- a/docker/addons/provision/docker-compose.yml +++ b/docker/addons/provision/docker-compose.yml @@ -11,7 +11,7 @@ networks: services: provision: - image: magistrala/provision:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/provision:${MG_RELEASE_TAG} container_name: magistrala-provision restart: on-failure networks: @@ -38,7 +38,7 @@ services: MG_PROVISION_BS_AUTO_WHITELIST: ${MG_PROVISION_BS_AUTO_WHITELIST} MG_PROVISION_BS_CONTENT: ${MG_PROVISION_BS_CONTENT} MG_PROVISION_CERTS_HOURS_VALID: ${MG_PROVISION_CERTS_HOURS_VALID} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_PROVISION_INSTANCE_ID: ${MG_PROVISION_INSTANCE_ID} volumes: - ./configs:/configs diff --git a/docker/addons/re/docker-compose.yml b/docker/addons/re/docker-compose.yml index d51d83c1b..acd6700b9 100644 --- a/docker/addons/re/docker-compose.yml +++ b/docker/addons/re/docker-compose.yml @@ -33,7 +33,7 @@ services: - magistrala-re-db-volume:/var/lib/postgresql/data re: - image: ghcr.io/absmach/magistrala/re:${SMQ_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/re:${MG_RELEASE_TAG} container_name: magistrala-re depends_on: - re-db diff --git a/docker/addons/timescale-reader/docker-compose.yml b/docker/addons/timescale-reader/docker-compose.yml index 269e1c602..1ad971842 100644 --- a/docker/addons/timescale-reader/docker-compose.yml +++ b/docker/addons/timescale-reader/docker-compose.yml @@ -12,7 +12,7 @@ networks: services: timescale-reader: - image: magistrala/timescale-reader:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/timescale-reader:${MG_RELEASE_TAG} container_name: magistrala-timescale-reader restart: on-failure environment: @@ -30,17 +30,22 @@ services: MG_TIMESCALE_SSL_CERT: ${MG_TIMESCALE_SSL_CERT} MG_TIMESCALE_SSL_KEY: ${MG_TIMESCALE_SSL_KEY} MG_TIMESCALE_SSL_ROOT_CERT: ${MG_TIMESCALE_SSL_ROOT_CERT} - MG_THINGS_AUTH_GRPC_URL: ${MG_THINGS_AUTH_GRPC_URL} - MG_THINGS_AUTH_GRPC_TIMEOUT: ${MG_THINGS_AUTH_GRPC_TIMEOUT} - MG_THINGS_AUTH_GRPC_CLIENT_CERT: ${MG_THINGS_AUTH_GRPC_CLIENT_CERT:+/things-grpc-client.crt} - MG_THINGS_AUTH_GRPC_CLIENT_KEY: ${MG_THINGS_AUTH_GRPC_CLIENT_KEY:+/things-grpc-client.key} - MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS: ${MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS:+/things-grpc-server-ca.crt} - MG_AUTH_GRPC_URL: ${MG_AUTH_GRPC_URL} - MG_AUTH_GRPC_TIMEOUT: ${MG_AUTH_GRPC_TIMEOUT} - MG_AUTH_GRPC_CLIENT_CERT: ${MG_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} - MG_AUTH_GRPC_CLIENT_KEY: ${MG_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} - MG_AUTH_GRPC_SERVER_CA_CERTS: ${MG_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_CLIENTS_AUTH_GRPC_URL: ${SMQ_CLIENTS_AUTH_GRPC_URL} + SMQ_CLIENTS_AUTH_GRPC_TIMEOUT: ${SMQ_CLIENTS_AUTH_GRPC_TIMEOUT} + SMQ_CLIENTS_AUTH_GRPC_CLIENT_CERT: ${SMQ_CLIENTS_AUTH_GRPC_CLIENT_CERT:+/things-grpc-client.crt} + SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY: ${SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY:+/things-grpc-client.key} + SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS: ${SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS:+/things-grpc-server-ca.crt} + SMQ_CHANNELS_GRPC_URL: ${SMQ_CHANNELS_GRPC_URL} + SMQ_CHANNELS_GRPC_TIMEOUT: ${SMQ_CHANNELS_GRPC_TIMEOUT} + SMQ_CHANNELS_GRPC_CLIENT_CERT: ${SMQ_CHANNELS_GRPC_CLIENT_CERT:+/channels-grpc-client.crt} + SMQ_CHANNELS_GRPC_CLIENT_KEY: ${SMQ_CHANNELS_GRPC_CLIENT_KEY:+/channels-grpc-client.key} + SMQ_CHANNELS_GRPC_SERVER_CA_CERTS: ${SMQ_CHANNELS_GRPC_SERVER_CA_CERTS:+/channels-grpc-server-ca.crt} + SMQ_AUTH_GRPC_URL: ${SMQ_AUTH_GRPC_URL} + SMQ_AUTH_GRPC_TIMEOUT: ${SMQ_AUTH_GRPC_TIMEOUT} + SMQ_AUTH_GRPC_CLIENT_CERT: ${SMQ_AUTH_GRPC_CLIENT_CERT:+/auth-grpc-client.crt} + SMQ_AUTH_GRPC_CLIENT_KEY: ${SMQ_AUTH_GRPC_CLIENT_KEY:+/auth-grpc-client.key} + SMQ_AUTH_GRPC_SERVER_CA_CERTS: ${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+/auth-grpc-server-ca.crt} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_TIMESCALE_READER_INSTANCE_ID: ${MG_TIMESCALE_READER_INSTANCE_ID} ports: - ${MG_TIMESCALE_READER_HTTP_PORT}:${MG_TIMESCALE_READER_HTTP_PORT} @@ -48,33 +53,33 @@ services: - magistrala-base-net volumes: - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_CLIENT_CERT:-./ssl/certs/dummy/client_cert} - target: /auth-grpc-client${MG_AUTH_GRPC_CLIENT_CERT:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_CLIENT_CERT:-./ssl/certs/dummy/client_cert} + target: /auth-grpc-client${SMQ_AUTH_GRPC_CLIENT_CERT:+.crt} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_CLIENT_KEY:-./ssl/certs/dummy/client_key} - target: /auth-grpc-client${MG_AUTH_GRPC_CLIENT_KEY:+.key} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_CLIENT_KEY:-./ssl/certs/dummy/client_key} + target: /auth-grpc-client${SMQ_AUTH_GRPC_CLIENT_KEY:+.key} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_AUTH_GRPC_SERVER_CA_CERTS:-./ssl/certs/dummy/server_ca} - target: /auth-grpc-server-ca${MG_AUTH_GRPC_SERVER_CA_CERTS:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_AUTH_GRPC_SERVER_CA_CERTS:-./ssl/certs/dummy/server_ca} + target: /auth-grpc-server-ca${SMQ_AUTH_GRPC_SERVER_CA_CERTS:+.crt} bind: create_host_path: true # Things gRPC mTLS client certificates - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_THINGS_AUTH_GRPC_CLIENT_CERT:-ssl/certs/dummy/client_cert} - target: /things-grpc-client${MG_THINGS_AUTH_GRPC_CLIENT_CERT:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_CLIENTS_AUTH_GRPC_CLIENT_CERT:-ssl/certs/dummy/client_cert} + target: /things-grpc-client${SMQ_CLIENTS_AUTH_GRPC_CLIENT_CERT:+.crt} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_THINGS_AUTH_GRPC_CLIENT_KEY:-ssl/certs/dummy/client_key} - target: /things-grpc-client${MG_THINGS_AUTH_GRPC_CLIENT_KEY:+.key} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY:-ssl/certs/dummy/client_key} + target: /things-grpc-client${SMQ_CLIENTS_AUTH_GRPC_CLIENT_KEY:+.key} bind: create_host_path: true - type: bind - source: ${MG_ADDONS_CERTS_PATH_PREFIX}${MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS:-ssl/certs/dummy/server_ca} - target: /things-grpc-server-ca${MG_THINGS_AUTH_GRPC_SERVER_CA_CERTS:+.crt} + source: ${MG_ADDONS_CERTS_PATH_PREFIX}${SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS:-ssl/certs/dummy/server_ca} + target: /things-grpc-server-ca${SMQ_CLIENTS_AUTH_GRPC_SERVER_CA_CERTS:+.crt} bind: create_host_path: true diff --git a/docker/addons/timescale-writer/docker-compose.yml b/docker/addons/timescale-writer/docker-compose.yml index 71fcd3c50..be19e71e4 100644 --- a/docker/addons/timescale-writer/docker-compose.yml +++ b/docker/addons/timescale-writer/docker-compose.yml @@ -32,7 +32,7 @@ services: - magistrala-timescale-writer-volume:/var/lib/timescalesql/data timescale-writer: - image: magistrala/timescale-writer:${MG_RELEASE_TAG} + image: ghcr.io/absmach/magistrala/timescale-writer:${MG_RELEASE_TAG} container_name: magistrala-timescale-writer depends_on: - timescale @@ -53,10 +53,10 @@ services: MG_TIMESCALE_SSL_CERT: ${MG_TIMESCALE_SSL_CERT} MG_TIMESCALE_SSL_KEY: ${MG_TIMESCALE_SSL_KEY} MG_TIMESCALE_SSL_ROOT_CERT: ${MG_TIMESCALE_SSL_ROOT_CERT} - MG_MESSAGE_BROKER_URL: ${MG_MESSAGE_BROKER_URL} - MG_JAEGER_URL: ${MG_JAEGER_URL} - MG_JAEGER_TRACE_RATIO: ${MG_JAEGER_TRACE_RATIO} - MG_SEND_TELEMETRY: ${MG_SEND_TELEMETRY} + SMQ_MESSAGE_BROKER_URL: ${SMQ_MESSAGE_BROKER_URL} + SMQ_JAEGER_URL: ${SMQ_JAEGER_URL} + SMQ_JAEGER_TRACE_RATIO: ${SMQ_JAEGER_TRACE_RATIO} + SMQ_SEND_TELEMETRY: ${SMQ_SEND_TELEMETRY} MG_TIMESCALE_WRITER_INSTANCE_ID: ${MG_TIMESCALE_WRITER_INSTANCE_ID} ports: - ${MG_TIMESCALE_WRITER_HTTP_PORT}:${MG_TIMESCALE_WRITER_HTTP_PORT} diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f48169cf4..60d1ccc31 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -86,7 +86,7 @@ services: - magistrala-auth-db-volume:/var/lib/postgresql/data auth: - image: supermq/auth:${SMQ_RELEASE_TAG} + image: supermq/auth:${MG_RELEASE_TAG} container_name: magistrala-auth depends_on: - auth-db @@ -186,7 +186,7 @@ services: - magistrala-domains-redis-volume:/data domains: - image: supermq/domains:${SMQ_RELEASE_TAG} + image: supermq/domains:${MG_RELEASE_TAG} container_name: magistrala-domains depends_on: - domains-db @@ -297,7 +297,7 @@ services: - magistrala-invitations-db-volume:/var/lib/postgresql/data invitations: - image: supermq/invitations:${SMQ_RELEASE_TAG} + image: supermq/invitations:${MG_RELEASE_TAG} container_name: magistrala-invitations restart: on-failure depends_on: @@ -422,7 +422,7 @@ services: - magistrala-clients-redis-volume:/data clients: - image: supermq/clients:${SMQ_RELEASE_TAG} + image: supermq/clients:${MG_RELEASE_TAG} container_name: magistrala-clients depends_on: - clients-db @@ -563,7 +563,7 @@ services: - magistrala-channels-db-volume:/var/lib/postgresql/data channels: - image: supermq/channels:${SMQ_RELEASE_TAG} + image: supermq/channels:${MG_RELEASE_TAG} container_name: magistrala-channels depends_on: - channels-db @@ -662,7 +662,7 @@ services: - magistrala-users-db-volume:/var/lib/postgresql/data users: - image: supermq/users:${SMQ_RELEASE_TAG} + image: supermq/users:${MG_RELEASE_TAG} container_name: magistrala-users depends_on: - users-db @@ -768,7 +768,7 @@ services: - magistrala-groups-db-volume:/var/lib/postgresql/data groups: - image: supermq/groups:${SMQ_RELEASE_TAG} + image: supermq/groups:${MG_RELEASE_TAG} container_name: magistrala-groups depends_on: - groups-db @@ -865,7 +865,7 @@ services: - magistrala-base-net mqtt-adapter: - image: supermq/mqtt:${SMQ_RELEASE_TAG} + image: supermq/mqtt:${MG_RELEASE_TAG} container_name: magistrala-mqtt depends_on: - clients @@ -938,7 +938,7 @@ services: create_host_path: true http-adapter: - image: supermq/http:${SMQ_RELEASE_TAG} + image: supermq/http:${MG_RELEASE_TAG} container_name: magistrala-http depends_on: - clients @@ -1025,7 +1025,7 @@ services: create_host_path: true coap-adapter: - image: supermq/coap:${SMQ_RELEASE_TAG} + image: supermq/coap:${MG_RELEASE_TAG} container_name: magistrala-coap depends_on: - clients @@ -1096,7 +1096,7 @@ services: create_host_path: true ws-adapter: - image: supermq/ws:${SMQ_RELEASE_TAG} + image: supermq/ws:${MG_RELEASE_TAG} container_name: magistrala-ws depends_on: - clients @@ -1183,7 +1183,7 @@ services: create_host_path: true vernemq: - image: supermq/vernemq:${SMQ_RELEASE_TAG} + image: supermq/vernemq:${MG_RELEASE_TAG} container_name: magistrala-vernemq restart: on-failure environment: @@ -1213,7 +1213,7 @@ services: - magistrala-base-net ui: - image: magistrala/ui:${SMQ_RELEASE_TAG} + image: magistrala/ui:${MG_RELEASE_TAG} container_name: magistrala-ui restart: on-failure environment: diff --git a/readers/api/requests.go b/readers/api/requests.go index a39dd5834..38b6af978 100644 --- a/readers/api/requests.go +++ b/readers/api/requests.go @@ -19,6 +19,7 @@ var validAggregations = []string{"MAX", "MIN", "AVG", "SUM", "COUNT"} type listMessagesReq struct { chanID string token string + domain string key string pageMeta readers.PageMetadata } diff --git a/readers/api/transport.go b/readers/api/transport.go index 50f8a1381..11d4963f7 100644 --- a/readers/api/transport.go +++ b/readers/api/transport.go @@ -54,7 +54,7 @@ func MakeHandler(svc readers.MessageRepository, authn smqauthn.Authentication, c } mux := chi.NewRouter() - mux.Get("/channels/{chanID}/messages", kithttp.NewServer( + mux.Get("/{domainID}/channels/{chanID}/messages", kithttp.NewServer( listMessagesEndpoint(svc, authn, clients, channels), decodeList, encodeResponse, @@ -154,6 +154,7 @@ func decodeList(_ context.Context, r *http.Request) (interface{}, error) { req := listMessagesReq{ chanID: chi.URLParam(r, "chanID"), token: apiutil.ExtractBearerToken(r), + domain: chi.URLParam(r, "domainID"), key: apiutil.ExtractClientSecret(r), pageMeta: readers.PageMetadata{ Offset: offset, @@ -241,7 +242,7 @@ func authnAuthz(ctx context.Context, req listMessagesReq, authn smqauthn.Authent if err != nil { return nil } - if err := authorize(ctx, clientID, clientType, req.chanID, channels); err != nil { + if err := authorize(ctx, clientID, clientType, req.chanID, req.domain, channels); err != nil { return err } return nil @@ -255,7 +256,7 @@ func authenticate(ctx context.Context, req listMessagesReq, authn smqauthn.Authe return "", "", err } - return session.DomainUserID, policies.UserType, nil + return req.domain + "_" + session.UserID, policies.UserType, nil case req.key != "": res, err := clients.Authenticate(ctx, &grpcClientsV1.AuthnReq{ ClientSecret: req.key, @@ -272,12 +273,13 @@ func authenticate(ctx context.Context, req listMessagesReq, authn smqauthn.Authe } } -func authorize(ctx context.Context, clientID, clientType, chanID string, channels grpcChannelsV1.ChannelsServiceClient) (err error) { +func authorize(ctx context.Context, clientID, clientType, chanID, domain string, channels grpcChannelsV1.ChannelsServiceClient) (err error) { res, err := channels.Authorize(ctx, &grpcChannelsV1.AuthzReq{ ClientId: clientID, ClientType: clientType, Type: uint32(connections.Subscribe), ChannelId: chanID, + DomainId: domain, }) if err != nil { return errors.Wrap(svcerr.ErrAuthorization, err) diff --git a/readers/timescale/README.md b/readers/timescale/README.md index 193d4ec15..4347bb7b2 100644 --- a/readers/timescale/README.md +++ b/readers/timescale/README.md @@ -10,20 +10,20 @@ default values. | Variable | Description | Default | | ------------------------------------- | -------------------------------------------- | ---------------------------- | -| SMQ_TIMESCALE_READER_LOG_LEVEL | Service log level | info | -| SMQ_TIMESCALE_READER_HTTP_HOST | Service HTTP host | localhost | -| SMQ_TIMESCALE_READER_HTTP_PORT | Service HTTP port | 8180 | -| SMQ_TIMESCALE_READER_HTTP_SERVER_CERT | Service HTTP server certificate path | "" | -| SMQ_TIMESCALE_READER_HTTP_SERVER_KEY | Service HTTP server key path | "" | -| SMQ_TIMESCALE_HOST | Timescale DB host | localhost | -| SMQ_TIMESCALE_PORT | Timescale DB port | 5432 | -| SMQ_TIMESCALE_USER | Timescale user | supermq | -| SMQ_TIMESCALE_PASS | Timescale password | supermq | -| SMQ_TIMESCALE_NAME | Timescale database name | messages | -| SMQ_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | -| SMQ_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | -| SMQ_TIMESCALE_SSL_KEY | Timescale SSL key | "" | -| SMQ_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | +| MG_TIMESCALE_READER_LOG_LEVEL | Service log level | info | +| MG_TIMESCALE_READER_HTTP_HOST | Service HTTP host | localhost | +| MG_TIMESCALE_READER_HTTP_PORT | Service HTTP port | 8180 | +| MG_TIMESCALE_READER_HTTP_SERVER_CERT | Service HTTP server certificate path | "" | +| MG_TIMESCALE_READER_HTTP_SERVER_KEY | Service HTTP server key path | "" | +| MG_TIMESCALE_HOST | Timescale DB host | localhost | +| MG_TIMESCALE_PORT | Timescale DB port | 5432 | +| MG_TIMESCALE_USER | Timescale user | supermq | +| MG_TIMESCALE_PASS | Timescale password | supermq | +| MG_TIMESCALE_NAME | Timescale database name | messages | +| MG_TIMESCALE_SSL_MODE | Timescale SSL mode | disabled | +| MG_TIMESCALE_SSL_CERT | Timescale SSL certificate path | "" | +| MG_TIMESCALE_SSL_KEY | Timescale SSL key | "" | +| MG_TIMESCALE_SSL_ROOT_CERT | Timescale SSL root certificate path | "" | | SMQ_CLIENTS_AUTH_GRPC_URL | Clients service Auth gRPC URL | localhost:7000 | | SMQ_CLIENTS_AUTH_GRPC_TIMEOUT | Clients service Auth gRPC timeout in seconds | 1s | | SMQ_CLIENTS_AUTH_GRPC_CLIENT_TLS | Clients service Auth gRPC TLS enabled flag | false | @@ -34,7 +34,7 @@ default values. | SMQ_AUTH_GRPC_CA_CERT | Auth service gRPC CA certificate | "" | | SMQ_JAEGER_URL | Jaeger server URL | http://jaeger:4318/v1/traces | | SMQ_SEND_TELEMETRY | Send telemetry to supermq call home server | true | -| SMQ_TIMESCALE_READER_INSTANCE_ID | Timescale reader instance ID | "" | +| MG_TIMESCALE_READER_INSTANCE_ID | Timescale reader instance ID | "" | ## Deployment @@ -55,20 +55,20 @@ make timescale-writer make install # Set the environment variables and run the service -SMQ_TIMESCALE_READER_LOG_LEVEL=[Service log level] \ -SMQ_TIMESCALE_READER_HTTP_HOST=[Service HTTP host] \ -SMQ_TIMESCALE_READER_HTTP_PORT=[Service HTTP port] \ -SMQ_TIMESCALE_READER_HTTP_SERVER_CERT=[Service HTTP server cert] \ -SMQ_TIMESCALE_READER_HTTP_SERVER_KEY=[Service HTTP server key] \ -SMQ_TIMESCALE_HOST=[Timescale host] \ -SMQ_TIMESCALE_PORT=[Timescale port] \ -SMQ_TIMESCALE_USER=[Timescale user] \ -SMQ_TIMESCALE_PASS=[Timescale password] \ -SMQ_TIMESCALE_NAME=[Timescale database name] \ -SMQ_TIMESCALE_SSL_MODE=[Timescale SSL mode] \ -SMQ_TIMESCALE_SSL_CERT=[Timescale SSL cert] \ -SMQ_TIMESCALE_SSL_KEY=[Timescale SSL key] \ -SMQ_TIMESCALE_SSL_ROOT_CERT=[Timescale SSL Root cert] \ +MG_TIMESCALE_READER_LOG_LEVEL=[Service log level] \ +MG_TIMESCALE_READER_HTTP_HOST=[Service HTTP host] \ +MG_TIMESCALE_READER_HTTP_PORT=[Service HTTP port] \ +MG_TIMESCALE_READER_HTTP_SERVER_CERT=[Service HTTP server cert] \ +MG_TIMESCALE_READER_HTTP_SERVER_KEY=[Service HTTP server key] \ +MG_TIMESCALE_HOST=[Timescale host] \ +MG_TIMESCALE_PORT=[Timescale port] \ +MG_TIMESCALE_USER=[Timescale user] \ +MG_TIMESCALE_PASS=[Timescale password] \ +MG_TIMESCALE_NAME=[Timescale database name] \ +MG_TIMESCALE_SSL_MODE=[Timescale SSL mode] \ +MG_TIMESCALE_SSL_CERT=[Timescale SSL cert] \ +MG_TIMESCALE_SSL_KEY=[Timescale SSL key] \ +MG_TIMESCALE_SSL_ROOT_CERT=[Timescale SSL Root cert] \ SMQ_CLIENTS_AUTH_GRPC_URL=[Clients service Auth GRPC URL] \ SMQ_CLIENTS_AUTH_GRPC_TIMEOUT=[Clients service Auth gRPC request timeout in seconds] \ SMQ_CLIENTS_AUTH_GRPC_CLIENT_TLS=[Clients service Auth gRPC TLS enabled flag] \ @@ -79,7 +79,7 @@ SMQ_AUTH_GRPC_CLIENT_TLS=[Auth service Auth gRPC TLS enabled flag] \ SMQ_AUTH_GRPC_CA_CERT=[Auth service Auth gRPC CA certificates] \ SMQ_JAEGER_URL=[Jaeger server URL] \ SMQ_SEND_TELEMETRY=[Send telemetry to supermq call home server] \ -SMQ_TIMESCALE_READER_INSTANCE_ID=[Timescale reader instance ID] \ +MG_TIMESCALE_READER_INSTANCE_ID=[Timescale reader instance ID] \ $GOBIN/supermq-timescale-reader ``` diff --git a/readers/timescale/init.go b/readers/timescale/init.go index 9513df15f..adf1d06fa 100644 --- a/readers/timescale/init.go +++ b/readers/timescale/init.go @@ -15,15 +15,15 @@ const defTable = "messages" // Config defines the options that are used when connecting to a TimescaleSQL instance. type Config struct { - Host string - Port string - User string - Pass string - Name string - SSLMode string - SSLCert string - SSLKey string - SSLRootCert string + Host string `env:"HOST" envDefault:"localhost"` + Port string `env:"PORT" envDefault:"5432"` + User string `env:"USER" envDefault:"supermq"` + Pass string `env:"PASS" envDefault:"supermq"` + Name string `env:"NAME" envDefault:""` + SSLMode string `env:"SSL_MODE" envDefault:"disable"` + SSLCert string `env:"SSL_CERT" envDefault:""` + SSLKey string `env:"SSL_KEY" envDefault:""` + SSLRootCert string `env:"SSL_ROOT_CERT" envDefault:""` } // Connect creates a connection to the TimescaleSQL instance and applies any