mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-27 13:48:49 +08:00
MF-1096 - Fix AuthN and Things Auth ENVARS (#1066)
* NOISSUE - Fix AuthN and Things Auth ENVARS Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Add DB envars to env.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix envars Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Add DefLogLLevelError Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix DB names Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix DB names Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix DB names and HTTP ports Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix .env Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Revert writers DB names Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Rm unused Twins envars Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix reviews Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix reviews Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix typo Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Remove definitions from env.go Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Revert HTTP gRPC ports Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Use default NATS URL as string Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix reviews Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Revert default ports Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix typo Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix cassandra ENVARS Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix cassandra reader ENVARS Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix readers and writers envars Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix readers and writers .env Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com> * Fix reviews Signed-off-by: Manuel Imperiale <manuel.imperiale@gmail.com>
This commit is contained in:
parent
338c55e554
commit
6c39c85cc8
18
.env
18
.env
@ -28,6 +28,8 @@ MF_JAEGER_URL=jaeger:6831
|
|||||||
MF_AUTHN_LOG_LEVEL=debug
|
MF_AUTHN_LOG_LEVEL=debug
|
||||||
MF_AUTHN_HTTP_PORT=8189
|
MF_AUTHN_HTTP_PORT=8189
|
||||||
MF_AUTHN_GRPC_PORT=8181
|
MF_AUTHN_GRPC_PORT=8181
|
||||||
|
MF_AUTHN_GRPC_URL=authn:8181
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT=1
|
||||||
MF_AUTHN_DB_PORT=5432
|
MF_AUTHN_DB_PORT=5432
|
||||||
MF_AUTHN_DB_USER=mainflux
|
MF_AUTHN_DB_USER=mainflux
|
||||||
MF_AUTHN_DB_PASS=mainflux
|
MF_AUTHN_DB_PASS=mainflux
|
||||||
@ -60,6 +62,8 @@ MF_THINGS_LOG_LEVEL=debug
|
|||||||
MF_THINGS_HTTP_PORT=8182
|
MF_THINGS_HTTP_PORT=8182
|
||||||
MF_THINGS_AUTH_HTTP_PORT=8989
|
MF_THINGS_AUTH_HTTP_PORT=8989
|
||||||
MF_THINGS_AUTH_GRPC_PORT=8183
|
MF_THINGS_AUTH_GRPC_PORT=8183
|
||||||
|
MF_THINGS_AUTH_GRPC_URL=things:8183
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=1
|
||||||
MF_THINGS_DB_PORT=5432
|
MF_THINGS_DB_PORT=5432
|
||||||
MF_THINGS_DB_USER=mainflux
|
MF_THINGS_DB_USER=mainflux
|
||||||
MF_THINGS_DB_PASS=mainflux
|
MF_THINGS_DB_PASS=mainflux
|
||||||
@ -141,31 +145,31 @@ MF_INFLUX_WRITER_PORT=8900
|
|||||||
MF_INFLUX_WRITER_BATCH_SIZE=5000
|
MF_INFLUX_WRITER_BATCH_SIZE=5000
|
||||||
MF_INFLUX_WRITER_BATCH_TIMEOUT=5
|
MF_INFLUX_WRITER_BATCH_TIMEOUT=5
|
||||||
MF_INFLUX_WRITER_DB_PORT=8086
|
MF_INFLUX_WRITER_DB_PORT=8086
|
||||||
MF_INFLUX_WRITER_DB_NAME=mainflux
|
|
||||||
MF_INFLUX_WRITER_DB_USER=mainflux
|
MF_INFLUX_WRITER_DB_USER=mainflux
|
||||||
MF_INFLUX_WRITER_DB_PASS=mainflux
|
MF_INFLUX_WRITER_DB_PASS=mainflux
|
||||||
|
MF_INFLUX_WRITER_DB=mainflux
|
||||||
MF_INFLUX_WRITER_GRAFANA_PORT=3001
|
MF_INFLUX_WRITER_GRAFANA_PORT=3001
|
||||||
|
|
||||||
### InfluxDB Reader
|
### InfluxDB Reader
|
||||||
MF_INFLUX_READER_LOG_LEVEL=debug
|
MF_INFLUX_READER_LOG_LEVEL=debug
|
||||||
MF_INFLUX_READER_PORT=8905
|
MF_INFLUX_READER_PORT=8905
|
||||||
MF_INFLUX_READER_DB_NAME=mainflux
|
|
||||||
MF_INFLUX_READER_DB_PORT=8086
|
MF_INFLUX_READER_DB_PORT=8086
|
||||||
MF_INFLUX_READER_DB_USER=mainflux
|
MF_INFLUX_READER_DB_USER=mainflux
|
||||||
MF_INFLUX_READER_DB_PASS=mainflux
|
MF_INFLUX_READER_DB_PASS=mainflux
|
||||||
|
MF_INFLUX_READER_DB=mainflux
|
||||||
MF_INFLUX_READER_SERVER_CERT=
|
MF_INFLUX_READER_SERVER_CERT=
|
||||||
MF_INFLUX_READER_SERVER_KEY=
|
MF_INFLUX_READER_SERVER_KEY=
|
||||||
|
|
||||||
### MongoDB Writer
|
### MongoDB Writer
|
||||||
MF_MONGO_WRITER_LOG_LEVEL=debug
|
MF_MONGO_WRITER_LOG_LEVEL=debug
|
||||||
MF_MONGO_WRITER_PORT=8901
|
MF_MONGO_WRITER_PORT=8901
|
||||||
MF_MONGO_WRITER_DB_NAME=mainflux
|
MF_MONGO_WRITER_DB=mainflux
|
||||||
MF_MONGO_WRITER_DB_PORT=27017
|
MF_MONGO_WRITER_DB_PORT=27017
|
||||||
|
|
||||||
### MongoDB Reader
|
### MongoDB Reader
|
||||||
MF_MONGO_READER_LOG_LEVEL=debug
|
MF_MONGO_READER_LOG_LEVEL=debug
|
||||||
MF_MONGO_READER_PORT=8904
|
MF_MONGO_READER_PORT=8904
|
||||||
MF_MONGO_READER_DB_NAME=mainflux
|
MF_MONGO_READER_DB=mainflux
|
||||||
MF_MONGO_READER_DB_PORT=27017
|
MF_MONGO_READER_DB_PORT=27017
|
||||||
MF_MONGO_READER_SERVER_CERT=
|
MF_MONGO_READER_SERVER_CERT=
|
||||||
MF_MONGO_READER_SERVER_KEY=
|
MF_MONGO_READER_SERVER_KEY=
|
||||||
@ -176,7 +180,7 @@ MF_POSTGRES_WRITER_PORT=9104
|
|||||||
MF_POSTGRES_WRITER_DB_PORT=5432
|
MF_POSTGRES_WRITER_DB_PORT=5432
|
||||||
MF_POSTGRES_WRITER_DB_USER=mainflux
|
MF_POSTGRES_WRITER_DB_USER=mainflux
|
||||||
MF_POSTGRES_WRITER_DB_PASS=mainflux
|
MF_POSTGRES_WRITER_DB_PASS=mainflux
|
||||||
MF_POSTGRES_WRITER_DB_NAME=messages
|
MF_POSTGRES_WRITER_DB=messages
|
||||||
MF_POSTGRES_WRITER_DB_SSL_MODE=disable
|
MF_POSTGRES_WRITER_DB_SSL_MODE=disable
|
||||||
MF_POSTGRES_WRITER_DB_SSL_CERT=""
|
MF_POSTGRES_WRITER_DB_SSL_CERT=""
|
||||||
MF_POSTGRES_WRITER_DB_SSL_KEY=""
|
MF_POSTGRES_WRITER_DB_SSL_KEY=""
|
||||||
@ -190,7 +194,7 @@ MF_POSTGRES_READER_CA_CERTS=""
|
|||||||
MF_POSTGRES_READER_DB_PORT=5432
|
MF_POSTGRES_READER_DB_PORT=5432
|
||||||
MF_POSTGRES_READER_DB_USER=mainflux
|
MF_POSTGRES_READER_DB_USER=mainflux
|
||||||
MF_POSTGRES_READER_DB_PASS=mainflux
|
MF_POSTGRES_READER_DB_PASS=mainflux
|
||||||
MF_POSTGRES_READER_DB_NAME=messages
|
MF_POSTGRES_READER_DB=messages
|
||||||
MF_POSTGRES_READER_DB_SSL_MODE=disable
|
MF_POSTGRES_READER_DB_SSL_MODE=disable
|
||||||
MF_POSTGRES_READER_DB_SSL_CERT=""
|
MF_POSTGRES_READER_DB_SSL_CERT=""
|
||||||
MF_POSTGRES_READER_DB_SSL_KEY=""
|
MF_POSTGRES_READER_DB_SSL_KEY=""
|
||||||
@ -201,7 +205,7 @@ MF_TWINS_LOG_LEVEL=debug
|
|||||||
MF_TWINS_HTTP_PORT=9021
|
MF_TWINS_HTTP_PORT=9021
|
||||||
MF_TWINS_SERVER_CERT=""
|
MF_TWINS_SERVER_CERT=""
|
||||||
MF_TWINS_SERVER_KEY=""
|
MF_TWINS_SERVER_KEY=""
|
||||||
MF_TWINS_DB_NAME=mainflux-twins
|
MF_TWINS_DB=mainflux-twins
|
||||||
MF_TWINS_DB_HOST=twins-db
|
MF_TWINS_DB_HOST=twins-db
|
||||||
MF_TWINS_DB_PORT=27018
|
MF_TWINS_DB_PORT=27018
|
||||||
MF_TWINS_SINGLE_USER_EMAIL=""
|
MF_TWINS_SINGLE_USER_EMAIL=""
|
||||||
|
@ -55,7 +55,6 @@ The service is configured using the environment variables presented in the follo
|
|||||||
| MF_BOOTSTRAP_SERVER_KEY | Path to server key in pem format | |
|
| MF_BOOTSTRAP_SERVER_KEY | Path to server key in pem format | |
|
||||||
| MF_SDK_BASE_URL | Base url for Mainflux SDK | http://localhost |
|
| MF_SDK_BASE_URL | Base url for Mainflux SDK | http://localhost |
|
||||||
| MF_SDK_THINGS_PREFIX | SDK prefix for Things service | |
|
| MF_SDK_THINGS_PREFIX | SDK prefix for Things service | |
|
||||||
| MF_USERS_URL | Users service URL | localhost:8181 |
|
|
||||||
| MF_THINGS_ES_URL | Things service event source URL | localhost:6379 |
|
| MF_THINGS_ES_URL | Things service event source URL | localhost:6379 |
|
||||||
| MF_THINGS_ES_PASS | Things service event source password | |
|
| MF_THINGS_ES_PASS | Things service event source password | |
|
||||||
| MF_THINGS_ES_DB | Things service event source database | 0 |
|
| MF_THINGS_ES_DB | Things service event source database | 0 |
|
||||||
@ -64,7 +63,8 @@ The service is configured using the environment variables presented in the follo
|
|||||||
| MF_BOOTSTRAP_ES_DB | Bootstrap service event source database | 0 |
|
| MF_BOOTSTRAP_ES_DB | Bootstrap service event source database | 0 |
|
||||||
| MF_BOOTSTRAP_EVENT_CONSUMER | Bootstrap service event source consumer name | bootstrap |
|
| MF_BOOTSTRAP_EVENT_CONSUMER | Bootstrap service event source consumer name | bootstrap |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_BOOTSTRAP_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_AUTHN_GRPC_URL | AuthN service gRPC URL | localhost:8181 |
|
||||||
|
| MF_AUTHN_GRPC_TIMEOUT | AuthN service gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -101,7 +101,6 @@ version: "2"
|
|||||||
MF_BOOTSTRAP_SERVER_KEY: [String path to server key in pem format]
|
MF_BOOTSTRAP_SERVER_KEY: [String path to server key in pem format]
|
||||||
MF_SDK_BASE_URL: [Base SDK URL for the Mainflux services]
|
MF_SDK_BASE_URL: [Base SDK URL for the Mainflux services]
|
||||||
MF_SDK_THINGS_PREFIX: [SDK prefix for Things service]
|
MF_SDK_THINGS_PREFIX: [SDK prefix for Things service]
|
||||||
MF_USERS_URL: [Users service URL]
|
|
||||||
MF_THINGS_ES_URL: [Things service event source URL]
|
MF_THINGS_ES_URL: [Things service event source URL]
|
||||||
MF_THINGS_ES_PASS: [Things service event source password]
|
MF_THINGS_ES_PASS: [Things service event source password]
|
||||||
MF_THINGS_ES_DB: [Things service event source database]
|
MF_THINGS_ES_DB: [Things service event source database]
|
||||||
@ -110,7 +109,8 @@ version: "2"
|
|||||||
MF_BOOTSTRAP_ES_DB: [Bootstrap service event source database]
|
MF_BOOTSTRAP_ES_DB: [Bootstrap service event source database]
|
||||||
MF_BOOTSTRAP_EVENT_CONSUMER: [Bootstrap service event source consumer name]
|
MF_BOOTSTRAP_EVENT_CONSUMER: [Bootstrap service event source consumer name]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_BOOTSTRAP_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_AUTHN_GRPC_URL: [AuthN service gRPC URL]
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT: [AuthN service gRPC request timeout in seconds]
|
||||||
```
|
```
|
||||||
|
|
||||||
To start the service outside of the container, execute the following shell script:
|
To start the service outside of the container, execute the following shell script:
|
||||||
@ -128,7 +128,28 @@ make bootstrap
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# set the environment variables and run the service
|
# set the environment variables and run the service
|
||||||
MF_BOOTSTRAP_LOG_LEVEL=[Bootstrap log level] MF_BOOTSTRAP_DB_HOST=[Database host address] MF_BOOTSTRAP_DB_PORT=[Database host port] MF_BOOTSTRAP_DB_USER=[Database user] MF_BOOTSTRAP_DB_PASS=[Database password] MF_BOOTSTRAP_DB=[Name of the database used by the service] MF_BOOTSTRAP_DB_SSL_MODE=[SSL mode to connect to the database with] MF_BOOTSTRAP_DB_SSL_CERT=[Path to the PEM encoded certificate file] MF_BOOTSTRAP_DB_SSL_KEY=[Path to the PEM encoded key file] MF_BOOTSTRAP_DB_SSL_ROOT_CERT=[Path to the PEM encoded root certificate file] MF_BOOTSTRAP_ENCRYPT_KEY=[Hex-encoded encryption key used for secure bootstrap] MF_BOOTSTRAP_CLIENT_TLS=[Boolean value to enable/disable client TLS] MF_BOOTSTRAP_CA_CERTS=[Path to trusted CAs in PEM format] MF_BOOTSTRAP_PORT=[Service HTTP port] MF_BOOTSTRAP_SERVER_CERT=[Path to server certificate] MF_BOOTSTRAP_SERVER_KEY=[Path to server key] MF_SDK_BASE_URL=[Base SDK URL for the Mainflux services] MF_SDK_THINGS_PREFIX=[SDK prefix for Things service] MF_USERS_URL=[Users service URL] MF_JAEGER_URL=[Jaeger server URL] MF_BOOTSTRAP_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] $GOBIN/mainflux-bootstrap
|
MF_BOOTSTRAP_LOG_LEVEL=[Bootstrap log level] \
|
||||||
|
MF_BOOTSTRAP_DB_HOST=[Database host address] \
|
||||||
|
MF_BOOTSTRAP_DB_PORT=[Database host port] \
|
||||||
|
MF_BOOTSTRAP_DB_USER=[Database user] \
|
||||||
|
MF_BOOTSTRAP_DB_PASS=[Database password] \
|
||||||
|
MF_BOOTSTRAP_DB=[Name of the database used by the service] \
|
||||||
|
MF_BOOTSTRAP_DB_SSL_MODE=[SSL mode to connect to the database with] \
|
||||||
|
MF_BOOTSTRAP_DB_SSL_CERT=[Path to the PEM encoded certificate file] \
|
||||||
|
MF_BOOTSTRAP_DB_SSL_KEY=[Path to the PEM encoded key file] \
|
||||||
|
MF_BOOTSTRAP_DB_SSL_ROOT_CERT=[Path to the PEM encoded root certificate file] \
|
||||||
|
MF_BOOTSTRAP_ENCRYPT_KEY=[Hex-encoded encryption key used for secure bootstrap] \
|
||||||
|
MF_BOOTSTRAP_CLIENT_TLS=[Boolean value to enable/disable client TLS] \
|
||||||
|
MF_BOOTSTRAP_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
|
MF_BOOTSTRAP_PORT=[Service HTTP port] \
|
||||||
|
MF_BOOTSTRAP_SERVER_CERT=[Path to server certificate] \
|
||||||
|
MF_BOOTSTRAP_SERVER_KEY=[Path to server key] \
|
||||||
|
MF_SDK_BASE_URL=[Base SDK URL for the Mainflux services] \
|
||||||
|
MF_SDK_THINGS_PREFIX=[SDK prefix for Things service] \
|
||||||
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
|
MF_AUTHN_GRPC_URL=[AuthN service gRPC URL] \
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT=[AuthN service gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-bootstrap
|
||||||
```
|
```
|
||||||
|
|
||||||
Setting `MF_BOOTSTRAP_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Users gRPC endpoint trusting only those CAs that are provided.
|
Setting `MF_BOOTSTRAP_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Users gRPC endpoint trusting only those CAs that are provided.
|
||||||
|
@ -36,7 +36,7 @@ const (
|
|||||||
defDBPort = "5432"
|
defDBPort = "5432"
|
||||||
defDBUser = "mainflux"
|
defDBUser = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBName = "authn"
|
defDB = "authn"
|
||||||
defDBSSLMode = "disable"
|
defDBSSLMode = "disable"
|
||||||
defDBSSLCert = ""
|
defDBSSLCert = ""
|
||||||
defDBSSLKey = ""
|
defDBSSLKey = ""
|
||||||
@ -53,7 +53,7 @@ const (
|
|||||||
envDBPort = "MF_AUTHN_DB_PORT"
|
envDBPort = "MF_AUTHN_DB_PORT"
|
||||||
envDBUser = "MF_AUTHN_DB_USER"
|
envDBUser = "MF_AUTHN_DB_USER"
|
||||||
envDBPass = "MF_AUTHN_DB_PASS"
|
envDBPass = "MF_AUTHN_DB_PASS"
|
||||||
envDBName = "MF_AUTHN_DB"
|
envDB = "MF_AUTHN_DB"
|
||||||
envDBSSLMode = "MF_AUTHN_DB_SSL_MODE"
|
envDBSSLMode = "MF_AUTHN_DB_SSL_MODE"
|
||||||
envDBSSLCert = "MF_AUTHN_DB_SSL_CERT"
|
envDBSSLCert = "MF_AUTHN_DB_SSL_CERT"
|
||||||
envDBSSLKey = "MF_AUTHN_DB_SSL_KEY"
|
envDBSSLKey = "MF_AUTHN_DB_SSL_KEY"
|
||||||
@ -122,7 +122,7 @@ func loadConfig() config {
|
|||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
User: mainflux.Env(envDBUser, defDBUser),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Pass: mainflux.Env(envDBPass, defDBPass),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
||||||
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
||||||
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
||||||
|
@ -43,7 +43,7 @@ const (
|
|||||||
defDBPort = "5432"
|
defDBPort = "5432"
|
||||||
defDBUser = "mainflux"
|
defDBUser = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBName = "bootstrap"
|
defDB = "bootstrap"
|
||||||
defDBSSLMode = "disable"
|
defDBSSLMode = "disable"
|
||||||
defDBSSLCert = ""
|
defDBSSLCert = ""
|
||||||
defDBSSLKey = ""
|
defDBSSLKey = ""
|
||||||
@ -64,15 +64,15 @@ const (
|
|||||||
defESDB = "0"
|
defESDB = "0"
|
||||||
defESConsumerName = "bootstrap"
|
defESConsumerName = "bootstrap"
|
||||||
defJaegerURL = ""
|
defJaegerURL = ""
|
||||||
defAuthURL = "localhost:8181"
|
defAuthnURL = "localhost:8181"
|
||||||
defAuthTimeout = "1" // in seconds
|
defAuthnTimeout = "1" // in seconds
|
||||||
|
|
||||||
envLogLevel = "MF_BOOTSTRAP_LOG_LEVEL"
|
envLogLevel = "MF_BOOTSTRAP_LOG_LEVEL"
|
||||||
envDBHost = "MF_BOOTSTRAP_DB_HOST"
|
envDBHost = "MF_BOOTSTRAP_DB_HOST"
|
||||||
envDBPort = "MF_BOOTSTRAP_DB_PORT"
|
envDBPort = "MF_BOOTSTRAP_DB_PORT"
|
||||||
envDBUser = "MF_BOOTSTRAP_DB_USER"
|
envDBUser = "MF_BOOTSTRAP_DB_USER"
|
||||||
envDBPass = "MF_BOOTSTRAP_DB_PASS"
|
envDBPass = "MF_BOOTSTRAP_DB_PASS"
|
||||||
envDBName = "MF_BOOTSTRAP_DB"
|
envDB = "MF_BOOTSTRAP_DB"
|
||||||
envDBSSLMode = "MF_BOOTSTRAP_DB_SSL_MODE"
|
envDBSSLMode = "MF_BOOTSTRAP_DB_SSL_MODE"
|
||||||
envDBSSLCert = "MF_BOOTSTRAP_DB_SSL_CERT"
|
envDBSSLCert = "MF_BOOTSTRAP_DB_SSL_CERT"
|
||||||
envDBSSLKey = "MF_BOOTSTRAP_DB_SSL_KEY"
|
envDBSSLKey = "MF_BOOTSTRAP_DB_SSL_KEY"
|
||||||
@ -93,8 +93,8 @@ const (
|
|||||||
envESDB = "MF_BOOTSTRAP_ES_DB"
|
envESDB = "MF_BOOTSTRAP_ES_DB"
|
||||||
envESConsumerName = "MF_BOOTSTRAP_EVENT_CONSUMER"
|
envESConsumerName = "MF_BOOTSTRAP_EVENT_CONSUMER"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envAuthURL = "MF_AUTH_URL"
|
envAuthnURL = "MF_AUTHN_GRPC_URL"
|
||||||
envAuthTimeout = "MF_AUTH_TIMEOUT"
|
envAuthnTimeout = "MF_AUTHN_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
@ -116,8 +116,8 @@ type config struct {
|
|||||||
esDB string
|
esDB string
|
||||||
esConsumerName string
|
esConsumerName string
|
||||||
jaegerURL string
|
jaegerURL string
|
||||||
authURL string
|
authnURL string
|
||||||
authTimeout time.Duration
|
authnTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -143,7 +143,7 @@ func main() {
|
|||||||
authConn := connectToAuth(cfg, logger)
|
authConn := connectToAuth(cfg, logger)
|
||||||
defer authConn.Close()
|
defer authConn.Close()
|
||||||
|
|
||||||
auth := authapi.NewClient(authTracer, authConn, cfg.authTimeout)
|
auth := authapi.NewClient(authTracer, authConn, cfg.authnTimeout)
|
||||||
|
|
||||||
svc := newService(auth, db, logger, esClient, cfg)
|
svc := newService(auth, db, logger, esClient, cfg)
|
||||||
errs := make(chan error, 2)
|
errs := make(chan error, 2)
|
||||||
@ -171,16 +171,16 @@ func loadConfig() config {
|
|||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
User: mainflux.Env(envDBUser, defDBUser),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Pass: mainflux.Env(envDBPass, defDBPass),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
||||||
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
||||||
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
||||||
SSLRootCert: mainflux.Env(envDBSSLRootCert, defDBSSLRootCert),
|
SSLRootCert: mainflux.Env(envDBSSLRootCert, defDBSSLRootCert),
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envAuthTimeout, defAuthTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envAuthnTimeout, defAuthnTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envAuthTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envAuthnTimeout, err.Error())
|
||||||
}
|
}
|
||||||
encKey, err := hex.DecodeString(mainflux.Env(envEncryptKey, defEncryptKey))
|
encKey, err := hex.DecodeString(mainflux.Env(envEncryptKey, defEncryptKey))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -212,8 +212,8 @@ func loadConfig() config {
|
|||||||
esDB: mainflux.Env(envESDB, defESDB),
|
esDB: mainflux.Env(envESDB, defESDB),
|
||||||
esConsumerName: mainflux.Env(envESConsumerName, defESConsumerName),
|
esConsumerName: mainflux.Env(envESConsumerName, defESConsumerName),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
authURL: mainflux.Env(envAuthURL, defAuthURL),
|
authnURL: mainflux.Env(envAuthnURL, defAuthnURL),
|
||||||
authTimeout: time.Duration(timeout) * time.Second,
|
authnTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,9 +311,9 @@ func connectToAuth(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
logger.Info("gRPC communication is not encrypted")
|
logger.Info("gRPC communication is not encrypted")
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.authURL, opts...)
|
conn, err := grpc.Dial(cfg.authnURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to users service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to authn service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,48 +34,48 @@ import (
|
|||||||
const (
|
const (
|
||||||
sep = ","
|
sep = ","
|
||||||
|
|
||||||
defLogLevel = "error"
|
defLogLevel = "error"
|
||||||
defPort = "8180"
|
defPort = "8180"
|
||||||
defCluster = "127.0.0.1"
|
defCluster = "127.0.0.1"
|
||||||
defKeyspace = "mainflux"
|
defKeyspace = "messages"
|
||||||
defDBUsername = ""
|
defDBUser = "mainflux"
|
||||||
defDBPassword = ""
|
defDBPass = "mainflux"
|
||||||
defDBPort = "9042"
|
defDBPort = "9042"
|
||||||
defThingsURL = "localhost:8181"
|
defClientTLS = "false"
|
||||||
defClientTLS = "false"
|
defCACerts = ""
|
||||||
defCACerts = ""
|
defServerCert = ""
|
||||||
defServerCert = ""
|
defServerKey = ""
|
||||||
defServerKey = ""
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envLogLevel = "MF_CASSANDRA_READER_LOG_LEVEL"
|
envLogLevel = "MF_CASSANDRA_READER_LOG_LEVEL"
|
||||||
envPort = "MF_CASSANDRA_READER_PORT"
|
envPort = "MF_CASSANDRA_READER_PORT"
|
||||||
envCluster = "MF_CASSANDRA_READER_DB_CLUSTER"
|
envCluster = "MF_CASSANDRA_READER_DB_CLUSTER"
|
||||||
envKeyspace = "MF_CASSANDRA_READER_DB_KEYSPACE"
|
envKeyspace = "MF_CASSANDRA_READER_DB_KEYSPACE"
|
||||||
envDBUsername = "MF_CASSANDRA_READER_DB_USERNAME"
|
envDBUser = "MF_CASSANDRA_READER_DB_USER"
|
||||||
envDBPassword = "MF_CASSANDRA_READER_DB_PASSWORD"
|
envDBPass = "MF_CASSANDRA_READER_DB_PASS"
|
||||||
envDBPort = "MF_CASSANDRA_READER_DB_PORT"
|
envDBPort = "MF_CASSANDRA_READER_DB_PORT"
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envClientTLS = "MF_CASSANDRA_READER_CLIENT_TLS"
|
||||||
envClientTLS = "MF_CASSANDRA_READER_CLIENT_TLS"
|
envCACerts = "MF_CASSANDRA_READER_CA_CERTS"
|
||||||
envCACerts = "MF_CASSANDRA_READER_CA_CERTS"
|
envServerCert = "MF_CASSANDRA_READER_SERVER_CERT"
|
||||||
envServerCert = "MF_CASSANDRA_READER_SERVER_CERT"
|
envServerKey = "MF_CASSANDRA_READER_SERVER_KEY"
|
||||||
envServerKey = "MF_CASSANDRA_READER_SERVER_KEY"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_CASSANDRA_READER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
logLevel string
|
logLevel string
|
||||||
port string
|
port string
|
||||||
dbCfg cassandra.DBConfig
|
dbCfg cassandra.DBConfig
|
||||||
thingsURL string
|
clientTLS bool
|
||||||
clientTLS bool
|
caCerts string
|
||||||
caCerts string
|
serverCert string
|
||||||
serverCert string
|
serverKey string
|
||||||
serverKey string
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -95,7 +95,7 @@ func main() {
|
|||||||
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
||||||
defer thingsCloser.Close()
|
defer thingsCloser.Close()
|
||||||
|
|
||||||
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
repo := newService(session, logger)
|
repo := newService(session, logger)
|
||||||
|
|
||||||
errs := make(chan error, 2)
|
errs := make(chan error, 2)
|
||||||
@ -121,8 +121,8 @@ func loadConfig() config {
|
|||||||
dbCfg := cassandra.DBConfig{
|
dbCfg := cassandra.DBConfig{
|
||||||
Hosts: strings.Split(mainflux.Env(envCluster, defCluster), sep),
|
Hosts: strings.Split(mainflux.Env(envCluster, defCluster), sep),
|
||||||
Keyspace: mainflux.Env(envKeyspace, defKeyspace),
|
Keyspace: mainflux.Env(envKeyspace, defKeyspace),
|
||||||
Username: mainflux.Env(envDBUsername, defDBUsername),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Password: mainflux.Env(envDBPassword, defDBPassword),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Port: dbPort,
|
Port: dbPort,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,22 +131,22 @@ func loadConfig() config {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
port: mainflux.Env(envPort, defPort),
|
port: mainflux.Env(envPort, defPort),
|
||||||
dbCfg: dbCfg,
|
dbCfg: dbCfg,
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
clientTLS: tls,
|
||||||
clientTLS: tls,
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
serverCert: mainflux.Env(envServerCert, defServerCert),
|
||||||
serverCert: mainflux.Env(envServerCert, defServerCert),
|
serverKey: mainflux.Env(envServerKey, defServerKey),
|
||||||
serverKey: mainflux.Env(envServerKey, defServerKey),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -29,13 +29,13 @@ const (
|
|||||||
svcName = "cassandra-writer"
|
svcName = "cassandra-writer"
|
||||||
sep = ","
|
sep = ","
|
||||||
|
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defLogLevel = "error"
|
defLogLevel = "error"
|
||||||
defPort = "8180"
|
defPort = "8180"
|
||||||
defCluster = "127.0.0.1"
|
defCluster = "127.0.0.1"
|
||||||
defKeyspace = "mainflux"
|
defKeyspace = "messages"
|
||||||
defDBUsername = ""
|
defDBUser = "mainflux"
|
||||||
defDBPassword = ""
|
defDBPass = "mainflux"
|
||||||
defDBPort = "9042"
|
defDBPort = "9042"
|
||||||
defSubjectsCfgPath = "/config/subjects.toml"
|
defSubjectsCfgPath = "/config/subjects.toml"
|
||||||
|
|
||||||
@ -44,8 +44,8 @@ const (
|
|||||||
envPort = "MF_CASSANDRA_WRITER_PORT"
|
envPort = "MF_CASSANDRA_WRITER_PORT"
|
||||||
envCluster = "MF_CASSANDRA_WRITER_DB_CLUSTER"
|
envCluster = "MF_CASSANDRA_WRITER_DB_CLUSTER"
|
||||||
envKeyspace = "MF_CASSANDRA_WRITER_DB_KEYSPACE"
|
envKeyspace = "MF_CASSANDRA_WRITER_DB_KEYSPACE"
|
||||||
envDBUsername = "MF_CASSANDRA_WRITER_DB_USERNAME"
|
envDBUser = "MF_CASSANDRA_WRITER_DB_USER"
|
||||||
envDBPassword = "MF_CASSANDRA_WRITER_DB_PASSWORD"
|
envDBPass = "MF_CASSANDRA_WRITER_DB_PASS"
|
||||||
envDBPort = "MF_CASSANDRA_WRITER_DB_PORT"
|
envDBPort = "MF_CASSANDRA_WRITER_DB_PORT"
|
||||||
envSubjectsCfgPath = "MF_CASSANDRA_WRITER_SUBJECTS_CONFIG"
|
envSubjectsCfgPath = "MF_CASSANDRA_WRITER_SUBJECTS_CONFIG"
|
||||||
)
|
)
|
||||||
@ -105,8 +105,8 @@ func loadConfig() config {
|
|||||||
dbCfg := cassandra.DBConfig{
|
dbCfg := cassandra.DBConfig{
|
||||||
Hosts: strings.Split(mainflux.Env(envCluster, defCluster), sep),
|
Hosts: strings.Split(mainflux.Env(envCluster, defCluster), sep),
|
||||||
Keyspace: mainflux.Env(envKeyspace, defKeyspace),
|
Keyspace: mainflux.Env(envKeyspace, defKeyspace),
|
||||||
Username: mainflux.Env(envDBUsername, defDBUsername),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Password: mainflux.Env(envDBPassword, defDBPassword),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Port: dbPort,
|
Port: dbPort,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,37 +31,37 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defPort = "5683"
|
defPort = "5683"
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defThingsURL = "localhost:8181"
|
defLogLevel = "error"
|
||||||
defLogLevel = "error"
|
defClientTLS = "false"
|
||||||
defClientTLS = "false"
|
defCACerts = ""
|
||||||
defCACerts = ""
|
defPingPeriod = "12"
|
||||||
defPingPeriod = "12"
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envPort = "MF_COAP_ADAPTER_PORT"
|
envPort = "MF_COAP_ADAPTER_PORT"
|
||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envLogLevel = "MF_COAP_ADAPTER_LOG_LEVEL"
|
||||||
envLogLevel = "MF_COAP_ADAPTER_LOG_LEVEL"
|
envClientTLS = "MF_COAP_ADAPTER_CLIENT_TLS"
|
||||||
envClientTLS = "MF_COAP_ADAPTER_CLIENT_TLS"
|
envCACerts = "MF_COAP_ADAPTER_CA_CERTS"
|
||||||
envCACerts = "MF_COAP_ADAPTER_CA_CERTS"
|
envPingPeriod = "MF_COAP_ADAPTER_PING_PERIOD"
|
||||||
envPingPeriod = "MF_COAP_ADAPTER_PING_PERIOD"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_COAP_ADAPTER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
port string
|
port string
|
||||||
natsURL string
|
natsURL string
|
||||||
thingsURL string
|
logLevel string
|
||||||
logLevel string
|
clientTLS bool
|
||||||
clientTLS bool
|
caCerts string
|
||||||
caCerts string
|
pingPeriod time.Duration
|
||||||
pingPeriod time.Duration
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -78,7 +78,7 @@ func main() {
|
|||||||
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
||||||
defer thingsCloser.Close()
|
defer thingsCloser.Close()
|
||||||
|
|
||||||
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
respChan := make(chan string, 10000)
|
respChan := make(chan string, 10000)
|
||||||
|
|
||||||
b, err := broker.New(cfg.natsURL)
|
b, err := broker.New(cfg.natsURL)
|
||||||
@ -138,21 +138,21 @@ func loadConfig() config {
|
|||||||
log.Fatalf("Value of %s must be between 1 and 24", envPingPeriod)
|
log.Fatalf("Value of %s must be between 1 and 24", envPingPeriod)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
port: mainflux.Env(envPort, defPort),
|
||||||
port: mainflux.Env(envPort, defPort),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
clientTLS: tls,
|
||||||
clientTLS: tls,
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
pingPeriod: time.Duration(pp),
|
||||||
pingPeriod: time.Duration(pp),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -31,34 +31,34 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defClientTLS = "false"
|
defLogLevel = "error"
|
||||||
defCACerts = ""
|
defClientTLS = "false"
|
||||||
defPort = "8180"
|
defCACerts = ""
|
||||||
defLogLevel = "error"
|
defPort = "8180"
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defThingsURL = "localhost:8181"
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envClientTLS = "MF_HTTP_ADAPTER_CLIENT_TLS"
|
envLogLevel = "MF_HTTP_ADAPTER_LOG_LEVEL"
|
||||||
envCACerts = "MF_HTTP_ADAPTER_CA_CERTS"
|
envClientTLS = "MF_HTTP_ADAPTER_CLIENT_TLS"
|
||||||
envPort = "MF_HTTP_ADAPTER_PORT"
|
envCACerts = "MF_HTTP_ADAPTER_CA_CERTS"
|
||||||
envLogLevel = "MF_HTTP_ADAPTER_LOG_LEVEL"
|
envPort = "MF_HTTP_ADAPTER_PORT"
|
||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_HTTP_ADAPTER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
thingsURL string
|
natsURL string
|
||||||
natsURL string
|
logLevel string
|
||||||
logLevel string
|
port string
|
||||||
port string
|
clientTLS bool
|
||||||
clientTLS bool
|
caCerts string
|
||||||
caCerts string
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -86,7 +86,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
defer b.Close()
|
defer b.Close()
|
||||||
|
|
||||||
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
svc := adapter.New(b, cc)
|
svc := adapter.New(b, cc)
|
||||||
|
|
||||||
svc = api.LoggingMiddleware(svc, logger)
|
svc = api.LoggingMiddleware(svc, logger)
|
||||||
@ -130,20 +130,20 @@ func loadConfig() config {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
port: mainflux.Env(envPort, defPort),
|
||||||
port: mainflux.Env(envPort, defPort),
|
clientTLS: tls,
|
||||||
clientTLS: tls,
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -28,52 +28,52 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defThingsURL = "localhost:8181"
|
defLogLevel = "error"
|
||||||
defLogLevel = "error"
|
defPort = "8180"
|
||||||
defPort = "8180"
|
defDB = "messages"
|
||||||
defDBName = "mainflux"
|
defDBHost = "localhost"
|
||||||
defDBHost = "localhost"
|
defDBPort = "8086"
|
||||||
defDBPort = "8086"
|
defDBUser = "mainflux"
|
||||||
defDBUser = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defClientTLS = "false"
|
||||||
defClientTLS = "false"
|
defCACerts = ""
|
||||||
defCACerts = ""
|
defServerCert = ""
|
||||||
defServerCert = ""
|
defServerKey = ""
|
||||||
defServerKey = ""
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envLogLevel = "MF_INFLUX_READER_LOG_LEVEL"
|
||||||
envLogLevel = "MF_INFLUX_READER_LOG_LEVEL"
|
envPort = "MF_INFLUX_READER_PORT"
|
||||||
envPort = "MF_INFLUX_READER_PORT"
|
envDB = "MF_INFLUX_READER_DB"
|
||||||
envDBName = "MF_INFLUX_READER_DB_NAME"
|
envDBHost = "MF_INFLUX_READER_DB_HOST"
|
||||||
envDBHost = "MF_INFLUX_READER_DB_HOST"
|
envDBPort = "MF_INFLUX_READER_DB_PORT"
|
||||||
envDBPort = "MF_INFLUX_READER_DB_PORT"
|
envDBUser = "MF_INFLUX_READER_DB_USER"
|
||||||
envDBUser = "MF_INFLUX_READER_DB_USER"
|
envDBPass = "MF_INFLUX_READER_DB_PASS"
|
||||||
envDBPass = "MF_INFLUX_READER_DB_PASS"
|
envClientTLS = "MF_INFLUX_READER_CLIENT_TLS"
|
||||||
envClientTLS = "MF_INFLUX_READER_CLIENT_TLS"
|
envCACerts = "MF_INFLUX_READER_CA_CERTS"
|
||||||
envCACerts = "MF_INFLUX_READER_CA_CERTS"
|
envServerCert = "MF_INFLUX_READER_SERVER_CERT"
|
||||||
envServerCert = "MF_INFLUX_READER_SERVER_CERT"
|
envServerKey = "MF_INFLUX_READER_SERVER_KEY"
|
||||||
envServerKey = "MF_INFLUX_READER_SERVER_KEY"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_INFLUX_READER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
thingsURL string
|
logLevel string
|
||||||
logLevel string
|
port string
|
||||||
port string
|
dbName string
|
||||||
dbName string
|
dbHost string
|
||||||
dbHost string
|
dbPort string
|
||||||
dbPort string
|
dbUser string
|
||||||
dbUser string
|
dbPass string
|
||||||
dbPass string
|
clientTLS bool
|
||||||
clientTLS bool
|
caCerts string
|
||||||
caCerts string
|
serverCert string
|
||||||
serverCert string
|
serverKey string
|
||||||
serverKey string
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -88,7 +88,7 @@ func main() {
|
|||||||
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
||||||
defer thingsCloser.Close()
|
defer thingsCloser.Close()
|
||||||
|
|
||||||
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
|
|
||||||
client, err := influxdata.NewHTTPClient(clientCfg)
|
client, err := influxdata.NewHTTPClient(clientCfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -118,26 +118,26 @@ func loadConfigs() (config, influxdata.HTTPConfig) {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg := config{
|
cfg := config{
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
port: mainflux.Env(envPort, defPort),
|
||||||
port: mainflux.Env(envPort, defPort),
|
dbName: mainflux.Env(envDB, defDB),
|
||||||
dbName: mainflux.Env(envDBName, defDBName),
|
dbHost: mainflux.Env(envDBHost, defDBHost),
|
||||||
dbHost: mainflux.Env(envDBHost, defDBHost),
|
dbPort: mainflux.Env(envDBPort, defDBPort),
|
||||||
dbPort: mainflux.Env(envDBPort, defDBPort),
|
dbUser: mainflux.Env(envDBUser, defDBUser),
|
||||||
dbUser: mainflux.Env(envDBUser, defDBUser),
|
dbPass: mainflux.Env(envDBPass, defDBPass),
|
||||||
dbPass: mainflux.Env(envDBPass, defDBPass),
|
clientTLS: tls,
|
||||||
clientTLS: tls,
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
serverCert: mainflux.Env(envServerCert, defServerCert),
|
||||||
serverCert: mainflux.Env(envServerCert, defServerCert),
|
serverKey: mainflux.Env(envServerKey, defServerKey),
|
||||||
serverKey: mainflux.Env(envServerKey, defServerKey),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
|
|
||||||
clientCfg := influxdata.HTTPConfig{
|
clientCfg := influxdata.HTTPConfig{
|
||||||
@ -165,7 +165,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -26,10 +26,10 @@ import (
|
|||||||
const (
|
const (
|
||||||
svcName = "influxdb-writer"
|
svcName = "influxdb-writer"
|
||||||
|
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defLogLevel = "error"
|
defLogLevel = "error"
|
||||||
defPort = "8180"
|
defPort = "8180"
|
||||||
defDBName = "mainflux"
|
defDB = "messages"
|
||||||
defDBHost = "localhost"
|
defDBHost = "localhost"
|
||||||
defDBPort = "8086"
|
defDBPort = "8086"
|
||||||
defDBUser = "mainflux"
|
defDBUser = "mainflux"
|
||||||
@ -39,7 +39,7 @@ const (
|
|||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
envLogLevel = "MF_INFLUX_WRITER_LOG_LEVEL"
|
envLogLevel = "MF_INFLUX_WRITER_LOG_LEVEL"
|
||||||
envPort = "MF_INFLUX_WRITER_PORT"
|
envPort = "MF_INFLUX_WRITER_PORT"
|
||||||
envDBName = "MF_INFLUX_WRITER_DB_NAME"
|
envDB = "MF_INFLUX_WRITER_DB"
|
||||||
envDBHost = "MF_INFLUX_WRITER_DB_HOST"
|
envDBHost = "MF_INFLUX_WRITER_DB_HOST"
|
||||||
envDBPort = "MF_INFLUX_WRITER_DB_PORT"
|
envDBPort = "MF_INFLUX_WRITER_DB_PORT"
|
||||||
envDBUser = "MF_INFLUX_WRITER_DB_USER"
|
envDBUser = "MF_INFLUX_WRITER_DB_USER"
|
||||||
@ -110,7 +110,7 @@ func loadConfigs() (config, influxdata.HTTPConfig) {
|
|||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
port: mainflux.Env(envPort, defPort),
|
port: mainflux.Env(envPort, defPort),
|
||||||
dbName: mainflux.Env(envDBName, defDBName),
|
dbName: mainflux.Env(envDB, defDB),
|
||||||
dbHost: mainflux.Env(envDBHost, defDBHost),
|
dbHost: mainflux.Env(envDBHost, defDBHost),
|
||||||
dbPort: mainflux.Env(envDBPort, defDBPort),
|
dbPort: mainflux.Env(envDBPort, defDBPort),
|
||||||
dbUser: mainflux.Env(envDBUser, defDBUser),
|
dbUser: mainflux.Env(envDBUser, defDBUser),
|
||||||
|
@ -27,10 +27,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
defLogLevel = "error"
|
||||||
defHTTPPort = "8180"
|
defHTTPPort = "8180"
|
||||||
defLoraMsgURL = "tcp://localhost:1883"
|
defLoraMsgURL = "tcp://localhost:1883"
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defLogLevel = "error"
|
|
||||||
defESURL = "localhost:6379"
|
defESURL = "localhost:6379"
|
||||||
defESPass = ""
|
defESPass = ""
|
||||||
defESDB = "0"
|
defESDB = "0"
|
||||||
|
@ -33,46 +33,46 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defThingsURL = "localhost:8181"
|
defLogLevel = "error"
|
||||||
defLogLevel = "error"
|
defPort = "8180"
|
||||||
defPort = "8180"
|
defDB = "messages"
|
||||||
defDBName = "mainflux"
|
defDBHost = "localhost"
|
||||||
defDBHost = "localhost"
|
defDBPort = "27017"
|
||||||
defDBPort = "27017"
|
defClientTLS = "false"
|
||||||
defClientTLS = "false"
|
defCACerts = ""
|
||||||
defCACerts = ""
|
defServerCert = ""
|
||||||
defServerCert = ""
|
defServerKey = ""
|
||||||
defServerKey = ""
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envLogLevel = "MF_MONGO_READER_LOG_LEVEL"
|
||||||
envLogLevel = "MF_MONGO_READER_LOG_LEVEL"
|
envPort = "MF_MONGO_READER_PORT"
|
||||||
envPort = "MF_MONGO_READER_PORT"
|
envDB = "MF_MONGO_READER_DB"
|
||||||
envDBName = "MF_MONGO_READER_DB_NAME"
|
envDBHost = "MF_MONGO_READER_DB_HOST"
|
||||||
envDBHost = "MF_MONGO_READER_DB_HOST"
|
envDBPort = "MF_MONGO_READER_DB_PORT"
|
||||||
envDBPort = "MF_MONGO_READER_DB_PORT"
|
envClientTLS = "MF_MONGO_READER_CLIENT_TLS"
|
||||||
envClientTLS = "MF_MONGO_READER_CLIENT_TLS"
|
envCACerts = "MF_MONGO_READER_CA_CERTS"
|
||||||
envCACerts = "MF_MONGO_READER_CA_CERTS"
|
envServerCert = "MF_MONGO_READER_SERVER_CERT"
|
||||||
envServerCert = "MF_MONGO_READER_SERVER_CERT"
|
envServerKey = "MF_MONGO_READER_SERVER_KEY"
|
||||||
envServerKey = "MF_MONGO_READER_SERVER_KEY"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_ThINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_MONGO_READER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
thingsURL string
|
logLevel string
|
||||||
logLevel string
|
port string
|
||||||
port string
|
dbName string
|
||||||
dbName string
|
dbHost string
|
||||||
dbHost string
|
dbPort string
|
||||||
dbPort string
|
clientTLS bool
|
||||||
clientTLS bool
|
caCerts string
|
||||||
caCerts string
|
serverCert string
|
||||||
serverCert string
|
serverKey string
|
||||||
serverKey string
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -88,7 +88,7 @@ func main() {
|
|||||||
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
||||||
defer thingsCloser.Close()
|
defer thingsCloser.Close()
|
||||||
|
|
||||||
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
|
|
||||||
db := connectToMongoDB(cfg.dbHost, cfg.dbPort, cfg.dbName, logger)
|
db := connectToMongoDB(cfg.dbHost, cfg.dbPort, cfg.dbName, logger)
|
||||||
|
|
||||||
@ -113,24 +113,24 @@ func loadConfigs() config {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
port: mainflux.Env(envPort, defPort),
|
||||||
port: mainflux.Env(envPort, defPort),
|
dbName: mainflux.Env(envDB, defDB),
|
||||||
dbName: mainflux.Env(envDBName, defDBName),
|
dbHost: mainflux.Env(envDBHost, defDBHost),
|
||||||
dbHost: mainflux.Env(envDBHost, defDBHost),
|
dbPort: mainflux.Env(envDBPort, defDBPort),
|
||||||
dbPort: mainflux.Env(envDBPort, defDBPort),
|
clientTLS: tls,
|
||||||
clientTLS: tls,
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
serverCert: mainflux.Env(envServerCert, defServerCert),
|
||||||
serverCert: mainflux.Env(envServerCert, defServerCert),
|
serverKey: mainflux.Env(envServerKey, defServerKey),
|
||||||
serverKey: mainflux.Env(envServerKey, defServerKey),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -28,10 +28,10 @@ import (
|
|||||||
const (
|
const (
|
||||||
svcName = "mongodb-writer"
|
svcName = "mongodb-writer"
|
||||||
|
|
||||||
defNatsURL = mainflux.DefNatsURL
|
|
||||||
defLogLevel = "error"
|
defLogLevel = "error"
|
||||||
|
defNatsURL = "nats://localhost:4222"
|
||||||
defPort = "8180"
|
defPort = "8180"
|
||||||
defDBName = "mainflux"
|
defDB = "messages"
|
||||||
defDBHost = "localhost"
|
defDBHost = "localhost"
|
||||||
defDBPort = "27017"
|
defDBPort = "27017"
|
||||||
defSubjectsCfgPath = "/config/subjects.toml"
|
defSubjectsCfgPath = "/config/subjects.toml"
|
||||||
@ -39,7 +39,7 @@ const (
|
|||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
envLogLevel = "MF_MONGO_WRITER_LOG_LEVEL"
|
envLogLevel = "MF_MONGO_WRITER_LOG_LEVEL"
|
||||||
envPort = "MF_MONGO_WRITER_PORT"
|
envPort = "MF_MONGO_WRITER_PORT"
|
||||||
envDBName = "MF_MONGO_WRITER_DB_NAME"
|
envDB = "MF_MONGO_WRITER_DB"
|
||||||
envDBHost = "MF_MONGO_WRITER_DB_HOST"
|
envDBHost = "MF_MONGO_WRITER_DB_HOST"
|
||||||
envDBPort = "MF_MONGO_WRITER_DB_PORT"
|
envDBPort = "MF_MONGO_WRITER_DB_PORT"
|
||||||
envSubjectsCfgPath = "MF_MONGO_WRITER_SUBJECTS_CONFIG"
|
envSubjectsCfgPath = "MF_MONGO_WRITER_SUBJECTS_CONFIG"
|
||||||
@ -107,7 +107,7 @@ func loadConfigs() config {
|
|||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
port: mainflux.Env(envPort, defPort),
|
port: mainflux.Env(envPort, defPort),
|
||||||
dbName: mainflux.Env(envDBName, defDBName),
|
dbName: mainflux.Env(envDB, defDB),
|
||||||
dbHost: mainflux.Env(envDBHost, defDBHost),
|
dbHost: mainflux.Env(envDBHost, defDBHost),
|
||||||
dbPort: mainflux.Env(envDBPort, defDBPort),
|
dbPort: mainflux.Env(envDBPort, defDBPort),
|
||||||
subjectsCfgPath: mainflux.Env(envSubjectsCfgPath, defSubjectsCfgPath),
|
subjectsCfgPath: mainflux.Env(envSubjectsCfgPath, defSubjectsCfgPath),
|
||||||
|
110
cmd/mqtt/main.go
110
cmd/mqtt/main.go
@ -28,6 +28,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
// Logging
|
||||||
|
defLogLevel = "error"
|
||||||
|
envLogLevel = "MF_MQTT_ADAPTER_LOG_LEVEL"
|
||||||
// MQTT
|
// MQTT
|
||||||
defMQTTHost = "0.0.0.0"
|
defMQTTHost = "0.0.0.0"
|
||||||
defMQTTPort = "1883"
|
defMQTTPort = "1883"
|
||||||
@ -50,16 +53,13 @@ const (
|
|||||||
envHTTPTargetHost = "MF_MQTT_ADAPTER_WS_TARGET_HOST"
|
envHTTPTargetHost = "MF_MQTT_ADAPTER_WS_TARGET_HOST"
|
||||||
envHTTPTargetPort = "MF_MQTT_ADAPTER_WS_TARGET_PORT"
|
envHTTPTargetPort = "MF_MQTT_ADAPTER_WS_TARGET_PORT"
|
||||||
envHTTPTargetPath = "MF_MQTT_ADAPTER_WS_TARGET_PATH"
|
envHTTPTargetPath = "MF_MQTT_ADAPTER_WS_TARGET_PATH"
|
||||||
// Logging
|
|
||||||
defLogLevel = "error"
|
|
||||||
envLogLevel = "MF_MQTT_ADAPTER_LOG_LEVEL"
|
|
||||||
// Things
|
// Things
|
||||||
defThingsURL = "localhost:8181"
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_MQTT_ADAPTER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMMEOUT"
|
||||||
// Nats
|
// Nats
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
// Jaeger
|
// Jaeger
|
||||||
defJaegerURL = ""
|
defJaegerURL = ""
|
||||||
@ -82,27 +82,28 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
mqttHost string
|
mqttHost string
|
||||||
mqttPort string
|
mqttPort string
|
||||||
mqttTargetHost string
|
mqttTargetHost string
|
||||||
mqttTargetPort string
|
mqttTargetPort string
|
||||||
httpHost string
|
httpHost string
|
||||||
httpPort string
|
httpPort string
|
||||||
httpScheme string
|
httpScheme string
|
||||||
httpTargetHost string
|
httpTargetHost string
|
||||||
httpTargetPort string
|
httpTargetPort string
|
||||||
httpTargetPath string
|
httpTargetPath string
|
||||||
jaegerURL string
|
jaegerURL string
|
||||||
logLevel string
|
logLevel string
|
||||||
thingsURL string
|
thingsURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthURL string
|
||||||
natsURL string
|
thingsAuthTimeout time.Duration
|
||||||
clientTLS bool
|
natsURL string
|
||||||
caCerts string
|
clientTLS bool
|
||||||
instance string
|
caCerts string
|
||||||
esURL string
|
instance string
|
||||||
esPass string
|
esURL string
|
||||||
esDB string
|
esPass string
|
||||||
|
esDB string
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -125,7 +126,7 @@ func main() {
|
|||||||
rc := connectToRedis(cfg.esURL, cfg.esPass, cfg.esDB, logger)
|
rc := connectToRedis(cfg.esURL, cfg.esPass, cfg.esDB, logger)
|
||||||
defer rc.Close()
|
defer rc.Close()
|
||||||
|
|
||||||
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
|
|
||||||
b, err := broker.New(cfg.natsURL)
|
b, err := broker.New(cfg.natsURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -163,33 +164,34 @@ func loadConfig() config {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
mqttHost: mainflux.Env(envMQTTHost, defMQTTHost),
|
mqttHost: mainflux.Env(envMQTTHost, defMQTTHost),
|
||||||
mqttPort: mainflux.Env(envMQTTPort, defMQTTPort),
|
mqttPort: mainflux.Env(envMQTTPort, defMQTTPort),
|
||||||
mqttTargetHost: mainflux.Env(envMQTTTargetHost, defMQTTTargetHost),
|
mqttTargetHost: mainflux.Env(envMQTTTargetHost, defMQTTTargetHost),
|
||||||
mqttTargetPort: mainflux.Env(envMQTTTargetPort, defMQTTTargetPort),
|
mqttTargetPort: mainflux.Env(envMQTTTargetPort, defMQTTTargetPort),
|
||||||
httpHost: mainflux.Env(envHTTPHost, defHTTPHost),
|
httpHost: mainflux.Env(envHTTPHost, defHTTPHost),
|
||||||
httpPort: mainflux.Env(envHTTPPort, defHTTPPort),
|
httpPort: mainflux.Env(envHTTPPort, defHTTPPort),
|
||||||
httpScheme: mainflux.Env(envHTTPScheme, defHTTPScheme),
|
httpScheme: mainflux.Env(envHTTPScheme, defHTTPScheme),
|
||||||
httpTargetHost: mainflux.Env(envHTTPTargetHost, defHTTPTargetHost),
|
httpTargetHost: mainflux.Env(envHTTPTargetHost, defHTTPTargetHost),
|
||||||
httpTargetPort: mainflux.Env(envHTTPTargetPort, defHTTPTargetPort),
|
httpTargetPort: mainflux.Env(envHTTPTargetPort, defHTTPTargetPort),
|
||||||
httpTargetPath: mainflux.Env(envHTTPTargetPath, defHTTPTargetPath),
|
httpTargetPath: mainflux.Env(envHTTPTargetPath, defHTTPTargetPath),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
thingsURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
clientTLS: tls,
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
clientTLS: tls,
|
||||||
instance: mainflux.Env(envInstance, defInstance),
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
esURL: mainflux.Env(envESURL, defESURL),
|
instance: mainflux.Env(envInstance, defInstance),
|
||||||
esPass: mainflux.Env(envESPass, defESPass),
|
esURL: mainflux.Env(envESURL, defESURL),
|
||||||
esDB: mainflux.Env(envESDB, defESDB),
|
esPass: mainflux.Env(envESPass, defESPass),
|
||||||
|
esDB: mainflux.Env(envESDB, defESDB),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -233,7 +235,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -28,14 +28,14 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defHTTPPort = "8188"
|
defLogLevel = "error"
|
||||||
|
defHTTPPort = "8180"
|
||||||
defOPCIntervalMs = "1000"
|
defOPCIntervalMs = "1000"
|
||||||
defOPCPolicy = ""
|
defOPCPolicy = ""
|
||||||
defOPCMode = ""
|
defOPCMode = ""
|
||||||
defOPCCertFile = ""
|
defOPCCertFile = ""
|
||||||
defOPCKeyFile = ""
|
defOPCKeyFile = ""
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defLogLevel = "debug"
|
|
||||||
defESURL = "localhost:6379"
|
defESURL = "localhost:6379"
|
||||||
defESPass = ""
|
defESPass = ""
|
||||||
defESDB = "0"
|
defESDB = "0"
|
||||||
@ -44,8 +44,8 @@ const (
|
|||||||
defRouteMapPass = ""
|
defRouteMapPass = ""
|
||||||
defRouteMapDB = "0"
|
defRouteMapDB = "0"
|
||||||
|
|
||||||
envHTTPPort = "MF_OPCUA_ADAPTER_HTTP_PORT"
|
|
||||||
envLogLevel = "MF_OPCUA_ADAPTER_LOG_LEVEL"
|
envLogLevel = "MF_OPCUA_ADAPTER_LOG_LEVEL"
|
||||||
|
envHTTPPort = "MF_OPCUA_ADAPTER_HTTP_PORT"
|
||||||
envOPCIntervalMs = "MF_OPCUA_ADAPTER_INTERVAL_MS"
|
envOPCIntervalMs = "MF_OPCUA_ADAPTER_INTERVAL_MS"
|
||||||
envOPCPolicy = "MF_OPCUA_ADAPTER_POLICY"
|
envOPCPolicy = "MF_OPCUA_ADAPTER_POLICY"
|
||||||
envOPCMode = "MF_OPCUA_ADAPTER_MODE"
|
envOPCMode = "MF_OPCUA_ADAPTER_MODE"
|
||||||
|
@ -34,50 +34,50 @@ const (
|
|||||||
svcName = "postgres-writer"
|
svcName = "postgres-writer"
|
||||||
sep = ","
|
sep = ","
|
||||||
|
|
||||||
defThingsURL = "localhost:8183"
|
defLogLevel = "error"
|
||||||
defLogLevel = "debug"
|
defPort = "8180"
|
||||||
defPort = "9204"
|
defClientTLS = "false"
|
||||||
defClientTLS = "false"
|
defCACerts = ""
|
||||||
defCACerts = ""
|
defDBHost = "localhost"
|
||||||
defDBHost = "localhost"
|
defDBPort = "5432"
|
||||||
defDBPort = "5432"
|
defDBUser = "mainflux"
|
||||||
defDBUser = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defDB = "messages"
|
||||||
defDBName = "messages"
|
defDBSSLMode = "disable"
|
||||||
defDBSSLMode = "disable"
|
defDBSSLCert = ""
|
||||||
defDBSSLCert = ""
|
defDBSSLKey = ""
|
||||||
defDBSSLKey = ""
|
defDBSSLRootCert = ""
|
||||||
defDBSSLRootCert = ""
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envLogLevel = "MF_POSTGRES_READER_LOG_LEVEL"
|
||||||
envLogLevel = "MF_POSTGRES_READER_LOG_LEVEL"
|
envPort = "MF_POSTGRES_READER_PORT"
|
||||||
envPort = "MF_POSTGRES_READER_PORT"
|
envClientTLS = "MF_POSTGRES_READER_CLIENT_TLS"
|
||||||
envClientTLS = "MF_POSTGRES_READER_CLIENT_TLS"
|
envCACerts = "MF_POSTGRES_READER_CA_CERTS"
|
||||||
envCACerts = "MF_POSTGRES_READER_CA_CERTS"
|
envDBHost = "MF_POSTGRES_READER_DB_HOST"
|
||||||
envDBHost = "MF_POSTGRES_READER_DB_HOST"
|
envDBPort = "MF_POSTGRES_READER_DB_PORT"
|
||||||
envDBPort = "MF_POSTGRES_READER_DB_PORT"
|
envDBUser = "MF_POSTGRES_READER_DB_USER"
|
||||||
envDBUser = "MF_POSTGRES_READER_DB_USER"
|
envDBPass = "MF_POSTGRES_READER_DB_PASS"
|
||||||
envDBPass = "MF_POSTGRES_READER_DB_PASS"
|
envDB = "MF_POSTGRES_READER_DB"
|
||||||
envDBName = "MF_POSTGRES_READER_DB_NAME"
|
envDBSSLMode = "MF_POSTGRES_READER_DB_SSL_MODE"
|
||||||
envDBSSLMode = "MF_POSTGRES_READER_DB_SSL_MODE"
|
envDBSSLCert = "MF_POSTGRES_READER_DB_SSL_CERT"
|
||||||
envDBSSLCert = "MF_POSTGRES_READER_DB_SSL_CERT"
|
envDBSSLKey = "MF_POSTGRES_READER_DB_SSL_KEY"
|
||||||
envDBSSLKey = "MF_POSTGRES_READER_DB_SSL_KEY"
|
envDBSSLRootCert = "MF_POSTGRES_READER_DB_SSL_ROOT_CERT"
|
||||||
envDBSSLRootCert = "MF_POSTGRES_READER_DB_SSL_ROOT_CERT"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_POSTGRES_READER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
thingsURL string
|
logLevel string
|
||||||
logLevel string
|
port string
|
||||||
port string
|
clientTLS bool
|
||||||
clientTLS bool
|
caCerts string
|
||||||
caCerts string
|
dbConfig postgres.Config
|
||||||
dbConfig postgres.Config
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -94,7 +94,7 @@ func main() {
|
|||||||
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
||||||
defer thingsCloser.Close()
|
defer thingsCloser.Close()
|
||||||
|
|
||||||
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
tc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
|
|
||||||
db := connectToDB(cfg.dbConfig, logger)
|
db := connectToDB(cfg.dbConfig, logger)
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
@ -121,25 +121,32 @@ func loadConfig() config {
|
|||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
User: mainflux.Env(envDBUser, defDBUser),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Pass: mainflux.Env(envDBPass, defDBPass),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
||||||
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
||||||
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
||||||
SSLRootCert: mainflux.Env(envDBSSLRootCert, defDBSSLRootCert),
|
SSLRootCert: mainflux.Env(envDBSSLRootCert, defDBSSLRootCert),
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
tls, err := strconv.ParseBool(mainflux.Env(envClientTLS, defClientTLS))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
|
}
|
||||||
|
|
||||||
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
port: mainflux.Env(envPort, defPort),
|
||||||
port: mainflux.Env(envPort, defPort),
|
clientTLS: tls,
|
||||||
dbConfig: dbConfig,
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
dbConfig: dbConfig,
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,7 +199,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -27,14 +27,14 @@ const (
|
|||||||
svcName = "postgres-writer"
|
svcName = "postgres-writer"
|
||||||
sep = ","
|
sep = ","
|
||||||
|
|
||||||
defNatsURL = mainflux.DefNatsURL
|
|
||||||
defLogLevel = "error"
|
defLogLevel = "error"
|
||||||
defPort = "9104"
|
defNatsURL = "nats://localhost:4222"
|
||||||
|
defPort = "8180"
|
||||||
defDBHost = "postgres"
|
defDBHost = "postgres"
|
||||||
defDBPort = "5432"
|
defDBPort = "5432"
|
||||||
defDBUser = "mainflux"
|
defDBUser = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBName = "messages"
|
defDB = "messages"
|
||||||
defDBSSLMode = "disable"
|
defDBSSLMode = "disable"
|
||||||
defDBSSLCert = ""
|
defDBSSLCert = ""
|
||||||
defDBSSLKey = ""
|
defDBSSLKey = ""
|
||||||
@ -48,7 +48,7 @@ const (
|
|||||||
envDBPort = "MF_POSTGRES_WRITER_DB_PORT"
|
envDBPort = "MF_POSTGRES_WRITER_DB_PORT"
|
||||||
envDBUser = "MF_POSTGRES_WRITER_DB_USER"
|
envDBUser = "MF_POSTGRES_WRITER_DB_USER"
|
||||||
envDBPass = "MF_POSTGRES_WRITER_DB_PASS"
|
envDBPass = "MF_POSTGRES_WRITER_DB_PASS"
|
||||||
envDBName = "MF_POSTGRES_WRITER_DB_NAME"
|
envDB = "MF_POSTGRES_WRITER_DB"
|
||||||
envDBSSLMode = "MF_POSTGRES_WRITER_DB_SSL_MODE"
|
envDBSSLMode = "MF_POSTGRES_WRITER_DB_SSL_MODE"
|
||||||
envDBSSLCert = "MF_POSTGRES_WRITER_DB_SSL_CERT"
|
envDBSSLCert = "MF_POSTGRES_WRITER_DB_SSL_CERT"
|
||||||
envDBSSLKey = "MF_POSTGRES_WRITER_DB_SSL_KEY"
|
envDBSSLKey = "MF_POSTGRES_WRITER_DB_SSL_KEY"
|
||||||
@ -108,7 +108,7 @@ func loadConfig() config {
|
|||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
User: mainflux.Env(envDBUser, defDBUser),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Pass: mainflux.Env(envDBPass, defDBPass),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
||||||
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
||||||
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
||||||
|
@ -47,7 +47,7 @@ const (
|
|||||||
defDBPort = "5432"
|
defDBPort = "5432"
|
||||||
defDBUser = "mainflux"
|
defDBUser = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBName = "things"
|
defDB = "things"
|
||||||
defDBSSLMode = "disable"
|
defDBSSLMode = "disable"
|
||||||
defDBSSLCert = ""
|
defDBSSLCert = ""
|
||||||
defDBSSLKey = ""
|
defDBSSLKey = ""
|
||||||
@ -60,23 +60,23 @@ const (
|
|||||||
defESURL = "localhost:6379"
|
defESURL = "localhost:6379"
|
||||||
defESPass = ""
|
defESPass = ""
|
||||||
defESDB = "0"
|
defESDB = "0"
|
||||||
defHTTPPort = "8180"
|
defHTTPPort = "8182"
|
||||||
defAuthHTTPPort = "8989"
|
defAuthHTTPPort = "8180"
|
||||||
defAuthGRPCPort = "8181"
|
defAuthGRPCPort = "8181"
|
||||||
defServerCert = ""
|
defServerCert = ""
|
||||||
defServerKey = ""
|
defServerKey = ""
|
||||||
defSingleUserEmail = ""
|
defSingleUserEmail = ""
|
||||||
defSingleUserToken = ""
|
defSingleUserToken = ""
|
||||||
defJaegerURL = ""
|
defJaegerURL = ""
|
||||||
defAuthURL = "localhost:8181"
|
defAuthnURL = "localhost:8181"
|
||||||
defAuthTimeout = "1" // in seconds
|
defAuthnTimeout = "1" // in seconds
|
||||||
|
|
||||||
envLogLevel = "MF_THINGS_LOG_LEVEL"
|
envLogLevel = "MF_THINGS_LOG_LEVEL"
|
||||||
envDBHost = "MF_THINGS_DB_HOST"
|
envDBHost = "MF_THINGS_DB_HOST"
|
||||||
envDBPort = "MF_THINGS_DB_PORT"
|
envDBPort = "MF_THINGS_DB_PORT"
|
||||||
envDBUser = "MF_THINGS_DB_USER"
|
envDBUser = "MF_THINGS_DB_USER"
|
||||||
envDBPass = "MF_THINGS_DB_PASS"
|
envDBPass = "MF_THINGS_DB_PASS"
|
||||||
envDBName = "MF_THINGS_DB"
|
envDB = "MF_THINGS_DB"
|
||||||
envDBSSLMode = "MF_THINGS_DB_SSL_MODE"
|
envDBSSLMode = "MF_THINGS_DB_SSL_MODE"
|
||||||
envDBSSLCert = "MF_THINGS_DB_SSL_CERT"
|
envDBSSLCert = "MF_THINGS_DB_SSL_CERT"
|
||||||
envDBSSLKey = "MF_THINGS_DB_SSL_KEY"
|
envDBSSLKey = "MF_THINGS_DB_SSL_KEY"
|
||||||
@ -97,8 +97,8 @@ const (
|
|||||||
envSingleUserEmail = "MF_THINGS_SINGLE_USER_EMAIL"
|
envSingleUserEmail = "MF_THINGS_SINGLE_USER_EMAIL"
|
||||||
envSingleUserToken = "MF_THINGS_SINGLE_USER_TOKEN"
|
envSingleUserToken = "MF_THINGS_SINGLE_USER_TOKEN"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envAuthURL = "MF_AUTH_URL"
|
envAuthnURL = "MF_AUTHN_GRPC_URL"
|
||||||
envAuthTimeout = "MF_AUTH_TIMEOUT"
|
envAuthnTimeout = "MF_AUTHN_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
@ -120,8 +120,8 @@ type config struct {
|
|||||||
singleUserEmail string
|
singleUserEmail string
|
||||||
singleUserToken string
|
singleUserToken string
|
||||||
jaegerURL string
|
jaegerURL string
|
||||||
authURL string
|
authnURL string
|
||||||
authTimeout time.Duration
|
authnTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -179,9 +179,9 @@ func loadConfig() config {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envAuthTimeout, defAuthTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envAuthnTimeout, defAuthnTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envAuthTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envAuthnTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
dbConfig := postgres.Config{
|
dbConfig := postgres.Config{
|
||||||
@ -189,7 +189,7 @@ func loadConfig() config {
|
|||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
User: mainflux.Env(envDBUser, defDBUser),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Pass: mainflux.Env(envDBPass, defDBPass),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
||||||
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
||||||
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
||||||
@ -215,8 +215,8 @@ func loadConfig() config {
|
|||||||
singleUserEmail: mainflux.Env(envSingleUserEmail, defSingleUserEmail),
|
singleUserEmail: mainflux.Env(envSingleUserEmail, defSingleUserEmail),
|
||||||
singleUserToken: mainflux.Env(envSingleUserToken, defSingleUserToken),
|
singleUserToken: mainflux.Env(envSingleUserToken, defSingleUserToken),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
authURL: mainflux.Env(envAuthURL, defAuthURL),
|
authnURL: mainflux.Env(envAuthnURL, defAuthnURL),
|
||||||
authTimeout: time.Duration(timeout) * time.Second,
|
authnTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,7 +273,7 @@ func createAuthClient(cfg config, tracer opentracing.Tracer, logger logger.Logge
|
|||||||
}
|
}
|
||||||
|
|
||||||
conn := connectToAuth(cfg, logger)
|
conn := connectToAuth(cfg, logger)
|
||||||
return authapi.NewClient(tracer, conn, cfg.authTimeout), conn.Close
|
return authapi.NewClient(tracer, conn, cfg.authnTimeout), conn.Close
|
||||||
}
|
}
|
||||||
|
|
||||||
func connectToAuth(cfg config, logger logger.Logger) *grpc.ClientConn {
|
func connectToAuth(cfg config, logger logger.Logger) *grpc.ClientConn {
|
||||||
@ -292,9 +292,9 @@ func connectToAuth(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
logger.Info("gRPC communication is not encrypted")
|
logger.Info("gRPC communication is not encrypted")
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.authURL, opts...)
|
conn, err := grpc.Dial(cfg.authnURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to users service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to authn service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,45 +40,39 @@ import (
|
|||||||
const (
|
const (
|
||||||
queue = "twins"
|
queue = "twins"
|
||||||
|
|
||||||
defLogLevel = "info"
|
defLogLevel = "error"
|
||||||
defHTTPPort = "9021"
|
defHTTPPort = "8180"
|
||||||
defJaegerURL = ""
|
defJaegerURL = ""
|
||||||
defServerCert = ""
|
defServerCert = ""
|
||||||
defServerKey = ""
|
defServerKey = ""
|
||||||
defDBName = "mainflux"
|
defDB = "mainflux-twins"
|
||||||
defDBHost = "localhost"
|
defDBHost = "localhost"
|
||||||
defDBPort = "27017"
|
defDBPort = "27017"
|
||||||
defSingleUserEmail = ""
|
defSingleUserEmail = ""
|
||||||
defSingleUserToken = ""
|
defSingleUserToken = ""
|
||||||
defClientTLS = "false"
|
defClientTLS = "false"
|
||||||
defCACerts = ""
|
defCACerts = ""
|
||||||
defThingID = ""
|
|
||||||
defThingKey = ""
|
|
||||||
defChannelID = ""
|
defChannelID = ""
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
|
defAuthnURL = "localhost:8181"
|
||||||
defAuthnTimeout = "1" // in seconds
|
defAuthnTimeout = "1" // in seconds
|
||||||
defAuthnURL = "localhost:8181"
|
|
||||||
|
|
||||||
envLogLevel = "MF_TWINS_LOG_LEVEL"
|
envLogLevel = "MF_TWINS_LOG_LEVEL"
|
||||||
envHTTPPort = "MF_TWINS_HTTP_PORT"
|
envHTTPPort = "MF_TWINS_HTTP_PORT"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envServerCert = "MF_TWINS_SERVER_CERT"
|
envServerCert = "MF_TWINS_SERVER_CERT"
|
||||||
envServerKey = "MF_TWINS_SERVER_KEY"
|
envServerKey = "MF_TWINS_SERVER_KEY"
|
||||||
envDBName = "MF_TWINS_DB_NAME"
|
envDB = "MF_TWINS_DB"
|
||||||
envDBHost = "MF_TWINS_DB_HOST"
|
envDBHost = "MF_TWINS_DB_HOST"
|
||||||
envDBPort = "MF_TWINS_DB_PORT"
|
envDBPort = "MF_TWINS_DB_PORT"
|
||||||
envSingleUserEmail = "MF_TWINS_SINGLE_USER_EMAIL"
|
envSingleUserEmail = "MF_TWINS_SINGLE_USER_EMAIL"
|
||||||
envSingleUserToken = "MF_TWINS_SINGLE_USER_TOKEN"
|
envSingleUserToken = "MF_TWINS_SINGLE_USER_TOKEN"
|
||||||
envClientTLS = "MF_TWINS_CLIENT_TLS"
|
envClientTLS = "MF_TWINS_CLIENT_TLS"
|
||||||
envCACerts = "MF_TWINS_CA_CERTS"
|
envCACerts = "MF_TWINS_CA_CERTS"
|
||||||
envThingID = "MF_TWINS_THING_ID"
|
|
||||||
envThingKey = "MF_TWINS_THING_KEY"
|
|
||||||
envChannelID = "MF_TWINS_CHANNEL_ID"
|
envChannelID = "MF_TWINS_CHANNEL_ID"
|
||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
|
envAuthnURL = "MF_AUTHN_GRPC_URL"
|
||||||
envAuthnTimeout = "MF_AUTHN_TIMEOUT"
|
envAuthnTimeout = "MF_AUTHN_GRPC_TIMEOUT"
|
||||||
envAuthnURL = "MF_AUTHN_URL"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
@ -92,13 +86,11 @@ type config struct {
|
|||||||
singleUserToken string
|
singleUserToken string
|
||||||
clientTLS bool
|
clientTLS bool
|
||||||
caCerts string
|
caCerts string
|
||||||
thingID string
|
|
||||||
thingKey string
|
|
||||||
channelID string
|
channelID string
|
||||||
natsURL string
|
natsURL string
|
||||||
|
|
||||||
authnTimeout time.Duration
|
|
||||||
authnURL string
|
authnURL string
|
||||||
|
authnTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -164,7 +156,7 @@ func loadConfig() config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dbCfg := twmongodb.Config{
|
dbCfg := twmongodb.Config{
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
Host: mainflux.Env(envDBHost, defDBHost),
|
Host: mainflux.Env(envDBHost, defDBHost),
|
||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
}
|
}
|
||||||
@ -180,9 +172,7 @@ func loadConfig() config {
|
|||||||
singleUserToken: mainflux.Env(envSingleUserToken, defSingleUserToken),
|
singleUserToken: mainflux.Env(envSingleUserToken, defSingleUserToken),
|
||||||
clientTLS: tls,
|
clientTLS: tls,
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
thingID: mainflux.Env(envThingID, defThingID),
|
|
||||||
channelID: mainflux.Env(envChannelID, defChannelID),
|
channelID: mainflux.Env(envChannelID, defChannelID),
|
||||||
thingKey: mainflux.Env(envThingKey, defThingKey),
|
|
||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
authnURL: mainflux.Env(envAuthnURL, defAuthnURL),
|
authnURL: mainflux.Env(envAuthnURL, defAuthnURL),
|
||||||
authnTimeout: time.Duration(timeout) * time.Second,
|
authnTimeout: time.Duration(timeout) * time.Second,
|
||||||
@ -240,7 +230,7 @@ func connectToAuth(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
|
|
||||||
conn, err := grpc.Dial(cfg.authnURL, opts...)
|
conn, err := grpc.Dial(cfg.authnURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to auth service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to authn service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ const (
|
|||||||
defDBPort = "5432"
|
defDBPort = "5432"
|
||||||
defDBUser = "mainflux"
|
defDBUser = "mainflux"
|
||||||
defDBPass = "mainflux"
|
defDBPass = "mainflux"
|
||||||
defDBName = "users"
|
defDB = "users"
|
||||||
defDBSSLMode = "disable"
|
defDBSSLMode = "disable"
|
||||||
defDBSSLCert = ""
|
defDBSSLCert = ""
|
||||||
defDBSSLKey = ""
|
defDBSSLKey = ""
|
||||||
@ -51,13 +51,6 @@ const (
|
|||||||
defServerKey = ""
|
defServerKey = ""
|
||||||
defJaegerURL = ""
|
defJaegerURL = ""
|
||||||
|
|
||||||
defAuthnHTTPPort = "8989"
|
|
||||||
defAuthnGRPCPort = "8181"
|
|
||||||
defAuthnTimeout = "1" // in seconds
|
|
||||||
defAuthnTLS = "false"
|
|
||||||
defAuthnCACerts = ""
|
|
||||||
defAuthnURL = "localhost:8181"
|
|
||||||
|
|
||||||
defEmailLogLevel = "debug"
|
defEmailLogLevel = "debug"
|
||||||
defEmailDriver = "smtp"
|
defEmailDriver = "smtp"
|
||||||
defEmailHost = "localhost"
|
defEmailHost = "localhost"
|
||||||
@ -70,12 +63,17 @@ const (
|
|||||||
|
|
||||||
defTokenResetEndpoint = "/reset-request" // URL where user lands after click on the reset link from email
|
defTokenResetEndpoint = "/reset-request" // URL where user lands after click on the reset link from email
|
||||||
|
|
||||||
|
defAuthnTLS = "false"
|
||||||
|
defAuthnCACerts = ""
|
||||||
|
defAuthnURL = "localhost:8181"
|
||||||
|
defAuthnTimeout = "1" // in seconds
|
||||||
|
|
||||||
envLogLevel = "MF_USERS_LOG_LEVEL"
|
envLogLevel = "MF_USERS_LOG_LEVEL"
|
||||||
envDBHost = "MF_USERS_DB_HOST"
|
envDBHost = "MF_USERS_DB_HOST"
|
||||||
envDBPort = "MF_USERS_DB_PORT"
|
envDBPort = "MF_USERS_DB_PORT"
|
||||||
envDBUser = "MF_USERS_DB_USER"
|
envDBUser = "MF_USERS_DB_USER"
|
||||||
envDBPass = "MF_USERS_DB_PASS"
|
envDBPass = "MF_USERS_DB_PASS"
|
||||||
envDBName = "MF_USERS_DB"
|
envDB = "MF_USERS_DB"
|
||||||
envDBSSLMode = "MF_USERS_DB_SSL_MODE"
|
envDBSSLMode = "MF_USERS_DB_SSL_MODE"
|
||||||
envDBSSLCert = "MF_USERS_DB_SSL_CERT"
|
envDBSSLCert = "MF_USERS_DB_SSL_CERT"
|
||||||
envDBSSLKey = "MF_USERS_DB_SSL_KEY"
|
envDBSSLKey = "MF_USERS_DB_SSL_KEY"
|
||||||
@ -85,13 +83,6 @@ const (
|
|||||||
envServerKey = "MF_USERS_SERVER_KEY"
|
envServerKey = "MF_USERS_SERVER_KEY"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
|
|
||||||
envAuthnHTTPPort = "MF_AUTHN_HTTP_PORT"
|
|
||||||
envAuthnGRPCPort = "MF_AUTHN_GRPC_PORT"
|
|
||||||
envAuthnTimeout = "MF_AUTHN_TIMEOUT"
|
|
||||||
envAuthnTLS = "MF_AUTHN_CLIENT_TLS"
|
|
||||||
envAuthnCACerts = "MF_AUTHN_CA_CERTS"
|
|
||||||
envAuthnURL = "MF_AUTHN_URL"
|
|
||||||
|
|
||||||
envEmailDriver = "MF_EMAIL_DRIVER"
|
envEmailDriver = "MF_EMAIL_DRIVER"
|
||||||
envEmailHost = "MF_EMAIL_HOST"
|
envEmailHost = "MF_EMAIL_HOST"
|
||||||
envEmailPort = "MF_EMAIL_PORT"
|
envEmailPort = "MF_EMAIL_PORT"
|
||||||
@ -103,23 +94,26 @@ const (
|
|||||||
envEmailTemplate = "MF_EMAIL_TEMPLATE"
|
envEmailTemplate = "MF_EMAIL_TEMPLATE"
|
||||||
|
|
||||||
envTokenResetEndpoint = "MF_TOKEN_RESET_ENDPOINT"
|
envTokenResetEndpoint = "MF_TOKEN_RESET_ENDPOINT"
|
||||||
|
|
||||||
|
envAuthnTLS = "MF_AUTHN_CLIENT_TLS"
|
||||||
|
envAuthnCACerts = "MF_AUTHN_CA_CERTS"
|
||||||
|
envAuthnURL = "MF_AUTHN_GRPC_URL"
|
||||||
|
envAuthnTimeout = "MF_AUTHN_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
logLevel string
|
logLevel string
|
||||||
dbConfig postgres.Config
|
dbConfig postgres.Config
|
||||||
authnHTTPPort string
|
emailConf email.Config
|
||||||
authnGRPCPort string
|
httpPort string
|
||||||
authnTimeout time.Duration
|
serverCert string
|
||||||
authnTLS bool
|
serverKey string
|
||||||
authnCACerts string
|
jaegerURL string
|
||||||
authnURL string
|
resetURL string
|
||||||
emailConf email.Config
|
authnTLS bool
|
||||||
httpPort string
|
authnCACerts string
|
||||||
serverCert string
|
authnURL string
|
||||||
serverKey string
|
authnTimeout time.Duration
|
||||||
jaegerURL string
|
|
||||||
resetURL string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -178,7 +172,7 @@ func loadConfig() config {
|
|||||||
Port: mainflux.Env(envDBPort, defDBPort),
|
Port: mainflux.Env(envDBPort, defDBPort),
|
||||||
User: mainflux.Env(envDBUser, defDBUser),
|
User: mainflux.Env(envDBUser, defDBUser),
|
||||||
Pass: mainflux.Env(envDBPass, defDBPass),
|
Pass: mainflux.Env(envDBPass, defDBPass),
|
||||||
Name: mainflux.Env(envDBName, defDBName),
|
Name: mainflux.Env(envDB, defDB),
|
||||||
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
SSLMode: mainflux.Env(envDBSSLMode, defDBSSLMode),
|
||||||
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
SSLCert: mainflux.Env(envDBSSLCert, defDBSSLCert),
|
||||||
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
SSLKey: mainflux.Env(envDBSSLKey, defDBSSLKey),
|
||||||
@ -197,19 +191,18 @@ func loadConfig() config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
dbConfig: dbConfig,
|
dbConfig: dbConfig,
|
||||||
authnHTTPPort: mainflux.Env(envAuthnHTTPPort, defAuthnHTTPPort),
|
emailConf: emailConf,
|
||||||
authnGRPCPort: mainflux.Env(envAuthnGRPCPort, defAuthnGRPCPort),
|
httpPort: mainflux.Env(envHTTPPort, defHTTPPort),
|
||||||
authnURL: mainflux.Env(envAuthnURL, defAuthnURL),
|
serverCert: mainflux.Env(envServerCert, defServerCert),
|
||||||
authnTimeout: time.Duration(timeout) * time.Second,
|
serverKey: mainflux.Env(envServerKey, defServerKey),
|
||||||
authnTLS: tls,
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
emailConf: emailConf,
|
resetURL: mainflux.Env(envTokenResetEndpoint, defTokenResetEndpoint),
|
||||||
httpPort: mainflux.Env(envHTTPPort, defHTTPPort),
|
authnTLS: tls,
|
||||||
serverCert: mainflux.Env(envServerCert, defServerCert),
|
authnCACerts: mainflux.Env(envAuthnCACerts, defAuthnCACerts),
|
||||||
serverKey: mainflux.Env(envServerKey, defServerKey),
|
authnURL: mainflux.Env(envAuthnURL, defAuthnURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
authnTimeout: time.Duration(timeout) * time.Second,
|
||||||
resetURL: mainflux.Env(envTokenResetEndpoint, defTokenResetEndpoint),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -266,7 +259,7 @@ func connectToAuthn(cfg config, tracer opentracing.Tracer, logger logger.Logger)
|
|||||||
|
|
||||||
conn, err := grpc.Dial(cfg.authnURL, opts...)
|
conn, err := grpc.Dial(cfg.authnURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to users service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to authn service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,34 +31,34 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defClientTLS = "false"
|
defLogLevel = "error"
|
||||||
defCACerts = ""
|
defClientTLS = "false"
|
||||||
defPort = "8180"
|
defCACerts = ""
|
||||||
defLogLevel = "error"
|
defPort = "8180"
|
||||||
defNatsURL = mainflux.DefNatsURL
|
defNatsURL = "nats://localhost:4222"
|
||||||
defThingsURL = "localhost:8181"
|
defJaegerURL = ""
|
||||||
defJaegerURL = ""
|
defThingsAuthURL = "localhost:8181"
|
||||||
defThingsTimeout = "1" // in seconds
|
defThingsAuthTimeout = "1" // in seconds
|
||||||
|
|
||||||
envClientTLS = "MF_WS_ADAPTER_CLIENT_TLS"
|
envLogLevel = "MF_WS_ADAPTER_LOG_LEVEL"
|
||||||
envCACerts = "MF_WS_ADAPTER_CA_CERTS"
|
envClientTLS = "MF_WS_ADAPTER_CLIENT_TLS"
|
||||||
envPort = "MF_WS_ADAPTER_PORT"
|
envCACerts = "MF_WS_ADAPTER_CA_CERTS"
|
||||||
envLogLevel = "MF_WS_ADAPTER_LOG_LEVEL"
|
envPort = "MF_WS_ADAPTER_PORT"
|
||||||
envNatsURL = "MF_NATS_URL"
|
envNatsURL = "MF_NATS_URL"
|
||||||
envThingsURL = "MF_THINGS_URL"
|
envJaegerURL = "MF_JAEGER_URL"
|
||||||
envJaegerURL = "MF_JAEGER_URL"
|
envThingsAuthURL = "MF_THINGS_AUTH_GRPC_URL"
|
||||||
envThingsTimeout = "MF_WS_ADAPTER_THINGS_TIMEOUT"
|
envThingsAuthTimeout = "MF_THINGS_AUTH_GRPC_TIMEOUT"
|
||||||
)
|
)
|
||||||
|
|
||||||
type config struct {
|
type config struct {
|
||||||
clientTLS bool
|
clientTLS bool
|
||||||
caCerts string
|
caCerts string
|
||||||
thingsURL string
|
natsURL string
|
||||||
natsURL string
|
logLevel string
|
||||||
logLevel string
|
port string
|
||||||
port string
|
jaegerURL string
|
||||||
jaegerURL string
|
thingsAuthURL string
|
||||||
thingsTimeout time.Duration
|
thingsAuthTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -75,7 +75,7 @@ func main() {
|
|||||||
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
thingsTracer, thingsCloser := initJaeger("things", cfg.jaegerURL, logger)
|
||||||
defer thingsCloser.Close()
|
defer thingsCloser.Close()
|
||||||
|
|
||||||
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsTimeout)
|
cc := thingsapi.NewClient(conn, thingsTracer, cfg.thingsAuthTimeout)
|
||||||
|
|
||||||
b, err := broker.New(cfg.natsURL)
|
b, err := broker.New(cfg.natsURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -110,20 +110,20 @@ func loadConfig() config {
|
|||||||
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
log.Fatalf("Invalid value passed for %s\n", envClientTLS)
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout, err := strconv.ParseInt(mainflux.Env(envThingsTimeout, defThingsTimeout), 10, 64)
|
timeout, err := strconv.ParseInt(mainflux.Env(envThingsAuthTimeout, defThingsAuthTimeout), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid %s value: %s", envThingsTimeout, err.Error())
|
log.Fatalf("Invalid %s value: %s", envThingsAuthTimeout, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
return config{
|
return config{
|
||||||
clientTLS: tls,
|
clientTLS: tls,
|
||||||
caCerts: mainflux.Env(envCACerts, defCACerts),
|
caCerts: mainflux.Env(envCACerts, defCACerts),
|
||||||
thingsURL: mainflux.Env(envThingsURL, defThingsURL),
|
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
||||||
natsURL: mainflux.Env(envNatsURL, defNatsURL),
|
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
||||||
logLevel: mainflux.Env(envLogLevel, defLogLevel),
|
port: mainflux.Env(envPort, defPort),
|
||||||
port: mainflux.Env(envPort, defPort),
|
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
||||||
jaegerURL: mainflux.Env(envJaegerURL, defJaegerURL),
|
thingsAuthURL: mainflux.Env(envThingsAuthURL, defThingsAuthURL),
|
||||||
thingsTimeout: time.Duration(timeout) * time.Second,
|
thingsAuthTimeout: time.Duration(timeout) * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ func connectToThings(cfg config, logger logger.Logger) *grpc.ClientConn {
|
|||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(cfg.thingsURL, opts...)
|
conn, err := grpc.Dial(cfg.thingsAuthURL, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
logger.Error(fmt.Sprintf("Failed to connect to things service: %s", err))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -13,13 +13,13 @@ default values.
|
|||||||
|--------------------------------|--------------------------------------------------------|-----------------------|
|
|--------------------------------|--------------------------------------------------------|-----------------------|
|
||||||
| MF_COAP_ADAPTER_PORT | Service listening port | 5683 |
|
| MF_COAP_ADAPTER_PORT | Service listening port | 5683 |
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_THINGS_URL | Things service URL | localhost:8181 |
|
|
||||||
| MF_COAP_ADAPTER_LOG_LEVEL | Service log level | error |
|
| MF_COAP_ADAPTER_LOG_LEVEL | Service log level | error |
|
||||||
| MF_COAP_ADAPTER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
| MF_COAP_ADAPTER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
||||||
| MF_COAP_ADAPTER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_COAP_ADAPTER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_COAP_ADAPTER_PING_PERIOD | Hours between 1 and 24 to ping client with ACK message | 12 |
|
| MF_COAP_ADAPTER_PING_PERIOD | Hours between 1 and 24 to ping client with ACK message | 12 |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_COAP_ADAPTER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -37,13 +37,13 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MF_COAP_ADAPTER_PORT: [Service HTTP port]
|
MF_COAP_ADAPTER_PORT: [Service HTTP port]
|
||||||
MF_NATS_URL: [NATS instance URL]
|
MF_NATS_URL: [NATS instance URL]
|
||||||
MF_THINGS_URL: [Things service URL]
|
|
||||||
MF_COAP_ADAPTER_LOG_LEVEL: [Service log level]
|
MF_COAP_ADAPTER_LOG_LEVEL: [Service log level]
|
||||||
MF_COAP_ADAPTER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
MF_COAP_ADAPTER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
||||||
MF_COAP_ADAPTER_CA_CERTS: [Path to trusted CAs in PEM format]
|
MF_COAP_ADAPTER_CA_CERTS: [Path to trusted CAs in PEM format]
|
||||||
MF_COAP_ADAPTER_PING_PERIOD: [Hours between 1 and 24 to ping client with ACK message]
|
MF_COAP_ADAPTER_PING_PERIOD: [Hours between 1 and 24 to ping client with ACK message]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_COAP_ADAPTER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
```
|
```
|
||||||
|
|
||||||
Running this service outside of container requires working instance of the NATS service.
|
Running this service outside of container requires working instance of the NATS service.
|
||||||
@ -62,7 +62,16 @@ make coap
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# set the environment variables and run the service
|
# set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] MF_NATS_URL=[NATS instance URL] MF_COAP_ADAPTER_PORT=[Service HTTP port] MF_COAP_ADAPTER_LOG_LEVEL=[Service log level] MF_COAP_ADAPTER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] MF_COAP_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] MF_COAP_ADAPTER_PING_PERIOD: [Hours between 1 and 24 to ping client with ACK message] MF_JAEGER_URL=[Jaeger server URL] MF_COAP_ADAPTER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] $GOBIN/mainflux-coap
|
MF_NATS_URL=[NATS instance URL] \
|
||||||
|
MF_COAP_ADAPTER_PORT=[Service HTTP port] \
|
||||||
|
MF_COAP_ADAPTER_LOG_LEVEL=[Service log level] \
|
||||||
|
MF_COAP_ADAPTER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \
|
||||||
|
MF_COAP_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
|
MF_COAP_ADAPTER_PING_PERIOD: [Hours between 1 and 24 to ping client with ACK message] \
|
||||||
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth gRPC URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-coap
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -47,9 +47,10 @@ services:
|
|||||||
MF_BOOTSTRAP_DB_SSL_MODE: ${MF_BOOTSTRAP_DB_SSL_MODE}
|
MF_BOOTSTRAP_DB_SSL_MODE: ${MF_BOOTSTRAP_DB_SSL_MODE}
|
||||||
MF_BOOTSTRAP_PORT: ${MF_BOOTSTRAP_PORT}
|
MF_BOOTSTRAP_PORT: ${MF_BOOTSTRAP_PORT}
|
||||||
MF_SDK_BASE_URL: http://mainflux-things:${MF_THINGS_HTTP_PORT}
|
MF_SDK_BASE_URL: http://mainflux-things:${MF_THINGS_HTTP_PORT}
|
||||||
MF_AUTH_URL: authn:${MF_AUTHN_GRPC_PORT}
|
|
||||||
MF_THINGS_ES_URL: es-redis:${MF_REDIS_TCP_PORT}
|
MF_THINGS_ES_URL: es-redis:${MF_REDIS_TCP_PORT}
|
||||||
MF_BOOTSTRAP_ES_URL: es-redis:${MF_REDIS_TCP_PORT}
|
MF_BOOTSTRAP_ES_URL: es-redis:${MF_REDIS_TCP_PORT}
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_AUTHN_GRPC_URL: ${MF_AUTHN_GRPC_URL}
|
||||||
|
MF_AUTHN_GRPC_TIMMEOUT: ${MF_AUTHN_GRPC_TIMEOUT}
|
||||||
networks:
|
networks:
|
||||||
- docker_mainflux-base-net
|
- docker_mainflux-base-net
|
||||||
|
@ -19,13 +19,14 @@ services:
|
|||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_CASSANDRA_READER_LOG_LEVEL: ${MF_CASSANDRA_READER_LOG_LEVEL}
|
MF_CASSANDRA_READER_LOG_LEVEL: ${MF_CASSANDRA_READER_LOG_LEVEL}
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_CASSANDRA_READER_PORT: ${MF_CASSANDRA_READER_PORT}
|
MF_CASSANDRA_READER_PORT: ${MF_CASSANDRA_READER_PORT}
|
||||||
MF_CASSANDRA_READER_DB_CLUSTER: ${MF_CASSANDRA_READER_DB_CLUSTER}
|
MF_CASSANDRA_READER_DB_CLUSTER: ${MF_CASSANDRA_READER_DB_CLUSTER}
|
||||||
MF_CASSANDRA_READER_DB_KEYSPACE: ${MF_CASSANDRA_READER_DB_KEYSPACE}
|
MF_CASSANDRA_READER_DB_KEYSPACE: ${MF_CASSANDRA_READER_DB_KEYSPACE}
|
||||||
MF_CASSANDRA_READER_SERVER_CERT: ${MF_CASSANDRA_READER_SERVER_CERT}
|
MF_CASSANDRA_READER_SERVER_CERT: ${MF_CASSANDRA_READER_SERVER_CERT}
|
||||||
MF_CASSANDRA_READER_SERVER_KEY: ${MF_CASSANDRA_READER_SERVER_KEY}
|
MF_CASSANDRA_READER_SERVER_KEY: ${MF_CASSANDRA_READER_SERVER_KEY}
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_CASSANDRA_READER_PORT}:${MF_CASSANDRA_READER_PORT}
|
- ${MF_CASSANDRA_READER_PORT}:${MF_CASSANDRA_READER_PORT}
|
||||||
networks:
|
networks:
|
||||||
|
@ -21,9 +21,8 @@ services:
|
|||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_INFLUX_READER_LOG_LEVEL: debug
|
MF_INFLUX_READER_LOG_LEVEL: debug
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_INFLUX_READER_PORT: ${MF_INFLUX_READER_PORT}
|
MF_INFLUX_READER_PORT: ${MF_INFLUX_READER_PORT}
|
||||||
MF_INFLUX_READER_DB_NAME: ${MF_INFLUX_READER_DB_NAME}
|
MF_INFLUX_READER_DB: ${MF_INFLUX_READER_DB}
|
||||||
MF_INFLUX_READER_DB_HOST: mainflux-influxdb
|
MF_INFLUX_READER_DB_HOST: mainflux-influxdb
|
||||||
MF_INFLUX_READER_DB_PORT: ${MF_INFLUX_READER_DB_PORT}
|
MF_INFLUX_READER_DB_PORT: ${MF_INFLUX_READER_DB_PORT}
|
||||||
MF_INFLUX_READER_DB_USER: ${MF_INFLUX_READER_DB_USER}
|
MF_INFLUX_READER_DB_USER: ${MF_INFLUX_READER_DB_USER}
|
||||||
@ -31,6 +30,8 @@ services:
|
|||||||
MF_INFLUX_READER_SERVER_CERT: ${MF_INFLUX_READER_SERVER_CERT}
|
MF_INFLUX_READER_SERVER_CERT: ${MF_INFLUX_READER_SERVER_CERT}
|
||||||
MF_INFLUX_READER_SERVER_KEY: ${MF_INFLUX_READER_SERVER_KEY}
|
MF_INFLUX_READER_SERVER_KEY: ${MF_INFLUX_READER_SERVER_KEY}
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_INFLUX_READER_PORT}:${MF_INFLUX_READER_PORT}
|
- ${MF_INFLUX_READER_PORT}:${MF_INFLUX_READER_PORT}
|
||||||
networks:
|
networks:
|
||||||
|
@ -22,7 +22,7 @@ services:
|
|||||||
container_name: mainflux-influxdb
|
container_name: mainflux-influxdb
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
INFLUXDB_DB: ${MF_INFLUX_WRITER_DB_NAME}
|
INFLUXDB_DB: ${MF_INFLUX_WRITER_DB}
|
||||||
INFLUXDB_ADMIN_USER: ${MF_INFLUX_WRITER_DB_USER}
|
INFLUXDB_ADMIN_USER: ${MF_INFLUX_WRITER_DB_USER}
|
||||||
INFLUXDB_ADMIN_PASSWORD: ${MF_INFLUX_WRITER_DB_PASS}
|
INFLUXDB_ADMIN_PASSWORD: ${MF_INFLUX_WRITER_DB_PASS}
|
||||||
networks:
|
networks:
|
||||||
@ -44,7 +44,7 @@ services:
|
|||||||
MF_INFLUX_WRITER_PORT: ${MF_INFLUX_WRITER_PORT}
|
MF_INFLUX_WRITER_PORT: ${MF_INFLUX_WRITER_PORT}
|
||||||
MF_INFLUX_WRITER_BATCH_SIZE: ${MF_INFLUX_WRITER_BATCH_SIZE}
|
MF_INFLUX_WRITER_BATCH_SIZE: ${MF_INFLUX_WRITER_BATCH_SIZE}
|
||||||
MF_INFLUX_WRITER_BATCH_TIMEOUT: ${MF_INFLUX_WRITER_BATCH_TIMEOUT}
|
MF_INFLUX_WRITER_BATCH_TIMEOUT: ${MF_INFLUX_WRITER_BATCH_TIMEOUT}
|
||||||
MF_INFLUX_WRITER_DB_NAME: ${MF_INFLUX_WRITER_DB_NAME}
|
MF_INFLUX_WRITER_DB: ${MF_INFLUX_WRITER_DB}
|
||||||
MF_INFLUX_WRITER_DB_HOST: mainflux-influxdb
|
MF_INFLUX_WRITER_DB_HOST: mainflux-influxdb
|
||||||
MF_INFLUX_WRITER_DB_PORT: ${MF_INFLUX_WRITER_DB_PORT}
|
MF_INFLUX_WRITER_DB_PORT: ${MF_INFLUX_WRITER_DB_PORT}
|
||||||
MF_INFLUX_WRITER_DB_USER: ${MF_INFLUX_WRITER_DB_USER}
|
MF_INFLUX_WRITER_DB_USER: ${MF_INFLUX_WRITER_DB_USER}
|
||||||
|
@ -20,14 +20,15 @@ services:
|
|||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_MONGO_READER_LOG_LEVEL: ${MF_MONGO_READER_LOG_LEVEL}
|
MF_MONGO_READER_LOG_LEVEL: ${MF_MONGO_READER_LOG_LEVEL}
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_MONGO_READER_PORT: ${MF_MONGO_READER_PORT}
|
MF_MONGO_READER_PORT: ${MF_MONGO_READER_PORT}
|
||||||
MF_MONGO_READER_DB_NAME: ${MF_MONGO_READER_DB_NAME}
|
MF_MONGO_READER_DB: ${MF_MONGO_READER_DB}
|
||||||
MF_MONGO_READER_DB_HOST: mongodb
|
MF_MONGO_READER_DB_HOST: mongodb
|
||||||
MF_MONGO_READER_DB_PORT: ${MF_MONGO_READER_DB_PORT}
|
MF_MONGO_READER_DB_PORT: ${MF_MONGO_READER_DB_PORT}
|
||||||
MF_MONGO_READER_SERVER_CERT: ${MF_MONGO_READER_SERVER_CERT}
|
MF_MONGO_READER_SERVER_CERT: ${MF_MONGO_READER_SERVER_CERT}
|
||||||
MF_MONGO_READER_SERVER_KEY: ${MF_MONGO_READER_SERVER_KEY}
|
MF_MONGO_READER_SERVER_KEY: ${MF_MONGO_READER_SERVER_KEY}
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_MONGO_READER_PORT}:${MF_MONGO_READER_PORT}
|
- ${MF_MONGO_READER_PORT}:${MF_MONGO_READER_PORT}
|
||||||
networks:
|
networks:
|
||||||
|
@ -24,7 +24,7 @@ services:
|
|||||||
container_name: mainflux-mongodb
|
container_name: mainflux-mongodb
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MONGO_INITDB_DATABASE: ${MF_MONGO_WRITER_DB_NAME}
|
MONGO_INITDB_DATABASE: ${MF_MONGO_WRITER_DB}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_MONGO_WRITER_DB_PORT}:${MF_MONGO_WRITER_DB_PORT}
|
- ${MF_MONGO_WRITER_DB_PORT}:${MF_MONGO_WRITER_DB_PORT}
|
||||||
networks:
|
networks:
|
||||||
@ -43,7 +43,7 @@ services:
|
|||||||
MF_MONGO_WRITER_LOG_LEVEL: ${MF_MONGO_WRITER_LOG_LEVEL}
|
MF_MONGO_WRITER_LOG_LEVEL: ${MF_MONGO_WRITER_LOG_LEVEL}
|
||||||
MF_NATS_URL: ${MF_NATS_URL}
|
MF_NATS_URL: ${MF_NATS_URL}
|
||||||
MF_MONGO_WRITER_PORT: ${MF_MONGO_WRITER_PORT}
|
MF_MONGO_WRITER_PORT: ${MF_MONGO_WRITER_PORT}
|
||||||
MF_MONGO_WRITER_DB_NAME: ${MF_MONGO_WRITER_DB_NAME}
|
MF_MONGO_WRITER_DB: ${MF_MONGO_WRITER_DB}
|
||||||
MF_MONGO_WRITER_DB_HOST: mongodb
|
MF_MONGO_WRITER_DB_HOST: mongodb
|
||||||
MF_MONGO_WRITER_DB_PORT: ${MF_MONGO_WRITER_DB_PORT}
|
MF_MONGO_WRITER_DB_PORT: ${MF_MONGO_WRITER_DB_PORT}
|
||||||
ports:
|
ports:
|
||||||
|
@ -19,7 +19,6 @@ services:
|
|||||||
container_name: mainflux-postgres-reader
|
container_name: mainflux-postgres-reader
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_POSTGRES_READER_LOG_LEVEL: ${MF_POSTGRES_READER_LOG_LEVEL}
|
MF_POSTGRES_READER_LOG_LEVEL: ${MF_POSTGRES_READER_LOG_LEVEL}
|
||||||
MF_POSTGRES_READER_PORT: ${MF_POSTGRES_READER_PORT}
|
MF_POSTGRES_READER_PORT: ${MF_POSTGRES_READER_PORT}
|
||||||
MF_POSTGRES_READER_CLIENT_TLS: ${MF_POSTGRES_READER_CLIENT_TLS}
|
MF_POSTGRES_READER_CLIENT_TLS: ${MF_POSTGRES_READER_CLIENT_TLS}
|
||||||
@ -28,12 +27,14 @@ services:
|
|||||||
MF_POSTGRES_READER_DB_PORT: ${MF_POSTGRES_READER_DB_PORT}
|
MF_POSTGRES_READER_DB_PORT: ${MF_POSTGRES_READER_DB_PORT}
|
||||||
MF_POSTGRES_READER_DB_USER: ${MF_POSTGRES_READER_DB_USER}
|
MF_POSTGRES_READER_DB_USER: ${MF_POSTGRES_READER_DB_USER}
|
||||||
MF_POSTGRES_READER_DB_PASS: ${MF_POSTGRES_READER_DB_PASS}
|
MF_POSTGRES_READER_DB_PASS: ${MF_POSTGRES_READER_DB_PASS}
|
||||||
MF_POSTGRES_READER_DB_NAME: ${MF_POSTGRES_READER_DB_NAME}
|
MF_POSTGRES_READER_DB: ${MF_POSTGRES_READER_DB}
|
||||||
MF_POSTGRES_READER_DB_SSL_MODE: ${MF_POSTGRES_READER_DB_SSL_MODE}
|
MF_POSTGRES_READER_DB_SSL_MODE: ${MF_POSTGRES_READER_DB_SSL_MODE}
|
||||||
MF_POSTGRES_READER_DB_SSL_CERT: ${MF_POSTGRES_READER_DB_SSL_CERT}
|
MF_POSTGRES_READER_DB_SSL_CERT: ${MF_POSTGRES_READER_DB_SSL_CERT}
|
||||||
MF_POSTGRES_READER_DB_SSL_KEY: ${MF_POSTGRES_READER_DB_SSL_KEY}
|
MF_POSTGRES_READER_DB_SSL_KEY: ${MF_POSTGRES_READER_DB_SSL_KEY}
|
||||||
MF_POSTGRES_READER_DB_SSL_ROOT_CERT: ${MF_POSTGRES_READER_DB_SSL_ROOT_CERT}
|
MF_POSTGRES_READER_DB_SSL_ROOT_CERT: ${MF_POSTGRES_READER_DB_SSL_ROOT_CERT}
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_POSTGRES_READER_PORT}:${MF_POSTGRES_READER_PORT}
|
- ${MF_POSTGRES_READER_PORT}:${MF_POSTGRES_READER_PORT}
|
||||||
networks:
|
networks:
|
||||||
|
@ -25,7 +25,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: ${MF_POSTGRES_WRITER_DB_USER}
|
POSTGRES_USER: ${MF_POSTGRES_WRITER_DB_USER}
|
||||||
POSTGRES_PASSWORD: ${MF_POSTGRES_WRITER_DB_PASS}
|
POSTGRES_PASSWORD: ${MF_POSTGRES_WRITER_DB_PASS}
|
||||||
POSTGRES_DB: ${MF_POSTGRES_WRITER_DB_NAME}
|
POSTGRES_DB: ${MF_POSTGRES_WRITER_DB}
|
||||||
networks:
|
networks:
|
||||||
- docker_mainflux-base-net
|
- docker_mainflux-base-net
|
||||||
volumes:
|
volumes:
|
||||||
@ -45,7 +45,7 @@ services:
|
|||||||
MF_POSTGRES_WRITER_DB_PORT: ${MF_POSTGRES_WRITER_DB_PORT}
|
MF_POSTGRES_WRITER_DB_PORT: ${MF_POSTGRES_WRITER_DB_PORT}
|
||||||
MF_POSTGRES_WRITER_DB_USER: ${MF_POSTGRES_WRITER_DB_USER}
|
MF_POSTGRES_WRITER_DB_USER: ${MF_POSTGRES_WRITER_DB_USER}
|
||||||
MF_POSTGRES_WRITER_DB_PASS: ${MF_POSTGRES_WRITER_DB_PASS}
|
MF_POSTGRES_WRITER_DB_PASS: ${MF_POSTGRES_WRITER_DB_PASS}
|
||||||
MF_POSTGRES_WRITER_DB_NAME: ${MF_POSTGRES_WRITER_DB_NAME}
|
MF_POSTGRES_WRITER_DB: ${MF_POSTGRES_WRITER_DB}
|
||||||
MF_POSTGRES_WRITER_DB_SSL_MODE: ${MF_POSTGRES_WRITER_DB_SSL_MODE}
|
MF_POSTGRES_WRITER_DB_SSL_MODE: ${MF_POSTGRES_WRITER_DB_SSL_MODE}
|
||||||
MF_POSTGRES_WRITER_DB_SSL_CERT: ${MF_POSTGRES_WRITER_DB_SSL_CERT}
|
MF_POSTGRES_WRITER_DB_SSL_CERT: ${MF_POSTGRES_WRITER_DB_SSL_CERT}
|
||||||
MF_POSTGRES_WRITER_DB_SSL_KEY: ${MF_POSTGRES_WRITER_DB_SSL_KEY}
|
MF_POSTGRES_WRITER_DB_SSL_KEY: ${MF_POSTGRES_WRITER_DB_SSL_KEY}
|
||||||
|
@ -23,7 +23,7 @@ services:
|
|||||||
container_name: mainflux-twins-db
|
container_name: mainflux-twins-db
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MONGO_INITDB_DATABASE: ${MF_TWINS_DB_NAME}
|
MONGO_INITDB_DATABASE: ${MF_TWINS_DB}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_TWINS_DB_PORT}:${MF_TWINS_DB_PORT}
|
- ${MF_TWINS_DB_PORT}:${MF_TWINS_DB_PORT}
|
||||||
networks:
|
networks:
|
||||||
@ -39,15 +39,14 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MF_TWINS_LOG_LEVEL: ${MF_TWINS_LOG_LEVEL}
|
MF_TWINS_LOG_LEVEL: ${MF_TWINS_LOG_LEVEL}
|
||||||
MF_TWINS_HTTP_PORT: ${MF_TWINS_HTTP_PORT}
|
MF_TWINS_HTTP_PORT: ${MF_TWINS_HTTP_PORT}
|
||||||
MF_TWINS_DB_NAME: ${MF_TWINS_DB_NAME}
|
MF_TWINS_DB: ${MF_TWINS_DB}
|
||||||
MF_TWINS_DB_HOST: ${MF_TWINS_DB_HOST}
|
MF_TWINS_DB_HOST: ${MF_TWINS_DB_HOST}
|
||||||
MF_TWINS_DB_PORT: ${MF_TWINS_DB_PORT}
|
MF_TWINS_DB_PORT: ${MF_TWINS_DB_PORT}
|
||||||
MF_TWINS_THING_ID: ${MF_TWINS_THING_ID}
|
|
||||||
MF_TWINS_THING_KEY: ${MF_TWINS_THING_KEY}
|
|
||||||
MF_TWINS_CHANNEL_ID: ${MF_TWINS_CHANNEL_ID}
|
MF_TWINS_CHANNEL_ID: ${MF_TWINS_CHANNEL_ID}
|
||||||
MF_NATS_URL: ${MF_NATS_URL}
|
MF_NATS_URL: ${MF_NATS_URL}
|
||||||
MF_AUTHN_URL: authn:${MF_AUTHN_GRPC_PORT}
|
|
||||||
MF_TWINS_MQTT_URL: ${MF_TWINS_MQTT_URL}
|
MF_TWINS_MQTT_URL: ${MF_TWINS_MQTT_URL}
|
||||||
|
MF_AUTHN_GRPC_URL: ${MF_AUTHN_GRPC_URL}
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT: ${MF_AUTHN_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_TWINS_HTTP_PORT}:${MF_TWINS_HTTP_PORT}
|
- ${MF_TWINS_HTTP_PORT}:${MF_TWINS_HTTP_PORT}
|
||||||
networks:
|
networks:
|
||||||
|
@ -134,7 +134,8 @@ services:
|
|||||||
MF_EMAIL_FROM_NAME: ${MF_EMAIL_FROM_NAME}
|
MF_EMAIL_FROM_NAME: ${MF_EMAIL_FROM_NAME}
|
||||||
MF_EMAIL_TEMPLATE: ${MF_EMAIL_TEMPLATE}
|
MF_EMAIL_TEMPLATE: ${MF_EMAIL_TEMPLATE}
|
||||||
MF_TOKEN_RESET_ENDPOINT: ${MF_TOKEN_RESET_ENDPOINT}
|
MF_TOKEN_RESET_ENDPOINT: ${MF_TOKEN_RESET_ENDPOINT}
|
||||||
MF_AUTHN_URL: authn:${MF_AUTHN_GRPC_PORT}
|
MF_AUTHN_GRPC_URL: ${MF_AUTHN_GRPC_URL}
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT: ${MF_AUTHN_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_USERS_HTTP_PORT}:${MF_USERS_HTTP_PORT}
|
- ${MF_USERS_HTTP_PORT}:${MF_USERS_HTTP_PORT}
|
||||||
networks:
|
networks:
|
||||||
@ -181,9 +182,10 @@ services:
|
|||||||
MF_THINGS_HTTP_PORT: ${MF_THINGS_HTTP_PORT}
|
MF_THINGS_HTTP_PORT: ${MF_THINGS_HTTP_PORT}
|
||||||
MF_THINGS_AUTH_HTTP_PORT: ${MF_THINGS_AUTH_HTTP_PORT}
|
MF_THINGS_AUTH_HTTP_PORT: ${MF_THINGS_AUTH_HTTP_PORT}
|
||||||
MF_THINGS_AUTH_GRPC_PORT: ${MF_THINGS_AUTH_GRPC_PORT}
|
MF_THINGS_AUTH_GRPC_PORT: ${MF_THINGS_AUTH_GRPC_PORT}
|
||||||
MF_AUTH_URL: authn:${MF_AUTHN_GRPC_PORT}
|
|
||||||
MF_THINGS_SECRET: ${MF_THINGS_SECRET}
|
MF_THINGS_SECRET: ${MF_THINGS_SECRET}
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_AUTHN_GRPC_URL: ${MF_AUTHN_GRPC_URL}
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT: ${MF_AUTHN_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_THINGS_HTTP_PORT}:${MF_THINGS_HTTP_PORT}
|
- ${MF_THINGS_HTTP_PORT}:${MF_THINGS_HTTP_PORT}
|
||||||
- ${MF_THINGS_AUTH_HTTP_PORT}:${MF_THINGS_AUTH_HTTP_PORT}
|
- ${MF_THINGS_AUTH_HTTP_PORT}:${MF_THINGS_AUTH_HTTP_PORT}
|
||||||
@ -228,12 +230,13 @@ services:
|
|||||||
MF_MQTT_ADAPTER_WS_PORT: ${MF_MQTT_ADAPTER_WS_PORT}
|
MF_MQTT_ADAPTER_WS_PORT: ${MF_MQTT_ADAPTER_WS_PORT}
|
||||||
MF_MQTT_ADAPTER_ES_URL: es-redis:${MF_REDIS_TCP_PORT}
|
MF_MQTT_ADAPTER_ES_URL: es-redis:${MF_REDIS_TCP_PORT}
|
||||||
MF_NATS_URL: ${MF_NATS_URL}
|
MF_NATS_URL: ${MF_NATS_URL}
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
|
||||||
MF_MQTT_ADAPTER_MQTT_TARGET_HOST: vernemq
|
MF_MQTT_ADAPTER_MQTT_TARGET_HOST: vernemq
|
||||||
MF_MQTT_ADAPTER_MQTT_TARGET_PORT: ${MF_MQTT_BROKER_PORT}
|
MF_MQTT_ADAPTER_MQTT_TARGET_PORT: ${MF_MQTT_BROKER_PORT}
|
||||||
MF_MQTT_ADAPTER_WS_TARGET_HOST: vernemq
|
MF_MQTT_ADAPTER_WS_TARGET_HOST: vernemq
|
||||||
MF_MQTT_ADAPTER_WS_TARGET_PORT: ${MF_MQTT_BROKER_WS_PORT}
|
MF_MQTT_ADAPTER_WS_TARGET_PORT: ${MF_MQTT_BROKER_WS_PORT}
|
||||||
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
networks:
|
networks:
|
||||||
- mainflux-base-net
|
- mainflux-base-net
|
||||||
|
|
||||||
@ -249,8 +252,9 @@ services:
|
|||||||
MF_WS_ADAPTER_LOG_LEVEL: ${MF_WS_ADAPTER_LOG_LEVEL}
|
MF_WS_ADAPTER_LOG_LEVEL: ${MF_WS_ADAPTER_LOG_LEVEL}
|
||||||
MF_WS_ADAPTER_PORT: ${MF_WS_ADAPTER_PORT}
|
MF_WS_ADAPTER_PORT: ${MF_WS_ADAPTER_PORT}
|
||||||
MF_NATS_URL: ${MF_NATS_URL}
|
MF_NATS_URL: ${MF_NATS_URL}
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_WS_ADAPTER_PORT}:${MF_WS_ADAPTER_PORT}
|
- ${MF_WS_ADAPTER_PORT}:${MF_WS_ADAPTER_PORT}
|
||||||
networks:
|
networks:
|
||||||
@ -267,8 +271,9 @@ services:
|
|||||||
MF_HTTP_ADAPTER_LOG_LEVEL: debug
|
MF_HTTP_ADAPTER_LOG_LEVEL: debug
|
||||||
MF_HTTP_ADAPTER_PORT: ${MF_HTTP_ADAPTER_PORT}
|
MF_HTTP_ADAPTER_PORT: ${MF_HTTP_ADAPTER_PORT}
|
||||||
MF_NATS_URL: ${MF_NATS_URL}
|
MF_NATS_URL: ${MF_NATS_URL}
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_HTTP_ADAPTER_PORT}:${MF_HTTP_ADAPTER_PORT}
|
- ${MF_HTTP_ADAPTER_PORT}:${MF_HTTP_ADAPTER_PORT}
|
||||||
networks:
|
networks:
|
||||||
@ -294,8 +299,9 @@ services:
|
|||||||
MF_COAP_ADAPTER_LOG_LEVEL: ${MF_COAP_ADAPTER_LOG_LEVEL}
|
MF_COAP_ADAPTER_LOG_LEVEL: ${MF_COAP_ADAPTER_LOG_LEVEL}
|
||||||
MF_COAP_ADAPTER_PORT: ${MF_COAP_ADAPTER_PORT}
|
MF_COAP_ADAPTER_PORT: ${MF_COAP_ADAPTER_PORT}
|
||||||
MF_NATS_URL: ${MF_NATS_URL}
|
MF_NATS_URL: ${MF_NATS_URL}
|
||||||
MF_THINGS_URL: things:${MF_THINGS_AUTH_GRPC_PORT}
|
|
||||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_URL: ${MF_THINGS_AUTH_GRPC_URL}
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: ${MF_THINGS_AUTH_GRPC_TIMEOUT}
|
||||||
ports:
|
ports:
|
||||||
- ${MF_COAP_ADAPTER_PORT}:${MF_COAP_ADAPTER_PORT}/udp
|
- ${MF_COAP_ADAPTER_PORT}:${MF_COAP_ADAPTER_PORT}/udp
|
||||||
- ${MF_COAP_ADAPTER_PORT}:${MF_COAP_ADAPTER_PORT}/tcp
|
- ${MF_COAP_ADAPTER_PORT}:${MF_COAP_ADAPTER_PORT}/tcp
|
||||||
|
@ -12,7 +12,6 @@ fi
|
|||||||
envsubst '
|
envsubst '
|
||||||
${MF_USERS_HTTP_PORT}
|
${MF_USERS_HTTP_PORT}
|
||||||
${MF_THINGS_HTTP_PORT}
|
${MF_THINGS_HTTP_PORT}
|
||||||
${MF_THINGS_HTTP_PORT}
|
|
||||||
${MF_HTTP_ADAPTER_PORT}
|
${MF_HTTP_ADAPTER_PORT}
|
||||||
${MF_WS_ADAPTER_PORT}' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf
|
${MF_WS_ADAPTER_PORT}' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
7
env.go
7
env.go
@ -5,13 +5,6 @@ package mainflux
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/nats-io/nats.go"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// DefNatsURL default NATS message broker URL
|
|
||||||
DefNatsURL = nats.DefaultURL
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Env reads specified environment variable. If no value has been found,
|
// Env reads specified environment variable. If no value has been found,
|
||||||
|
2
go.sum
2
go.sum
@ -168,8 +168,6 @@ github.com/mainflux/mainflux v0.0.0-20200314190902-c91fe0d45353/go.mod h1:yijZGL
|
|||||||
github.com/mainflux/mainflux v0.0.0-20200324100741-6ffa916ed229/go.mod h1:mde8cQhTPjLulu2pn/x8OgQ2S++lDufS+ODE93zuHjY=
|
github.com/mainflux/mainflux v0.0.0-20200324100741-6ffa916ed229/go.mod h1:mde8cQhTPjLulu2pn/x8OgQ2S++lDufS+ODE93zuHjY=
|
||||||
github.com/mainflux/mproxy v0.1.3 h1:/JNnxgo/03wSpbwQH2+WE1AzgMWaSKogTVXblh18x5s=
|
github.com/mainflux/mproxy v0.1.3 h1:/JNnxgo/03wSpbwQH2+WE1AzgMWaSKogTVXblh18x5s=
|
||||||
github.com/mainflux/mproxy v0.1.3/go.mod h1:/BdaBfgye1GNCD+eat4ipFamy9IEVRH5nhZS0yEShVg=
|
github.com/mainflux/mproxy v0.1.3/go.mod h1:/BdaBfgye1GNCD+eat4ipFamy9IEVRH5nhZS0yEShVg=
|
||||||
github.com/mainflux/mproxy v0.1.4 h1:g7LhJgA+BXlgaZeyLj505aD5DCsrix79TEiLWuHJZd4=
|
|
||||||
github.com/mainflux/mproxy v0.1.4/go.mod h1:MBLtv/RvhT8QsmXz4g3GxkRaP8PqlVqBWeqvw9QmO8k=
|
|
||||||
github.com/mainflux/mproxy v0.1.5 h1:a0zKiUyuTDld2TwCuhrOFtUvotcvSfwJMuh/JcrqC6I=
|
github.com/mainflux/mproxy v0.1.5 h1:a0zKiUyuTDld2TwCuhrOFtUvotcvSfwJMuh/JcrqC6I=
|
||||||
github.com/mainflux/mproxy v0.1.5/go.mod h1:MBLtv/RvhT8QsmXz4g3GxkRaP8PqlVqBWeqvw9QmO8k=
|
github.com/mainflux/mproxy v0.1.5/go.mod h1:MBLtv/RvhT8QsmXz4g3GxkRaP8PqlVqBWeqvw9QmO8k=
|
||||||
github.com/mainflux/mproxy v0.1.6 h1:In0JkSO7/XU7KdyqCzFfDQW3OOvNZc1tsrq1/aWRkRE=
|
github.com/mainflux/mproxy v0.1.6 h1:In0JkSO7/XU7KdyqCzFfDQW3OOvNZc1tsrq1/aWRkRE=
|
||||||
|
@ -8,16 +8,16 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|--------------------------------|------------------------------------------------|-----------------------|
|
|--------------------------------|-----------------------------------------------------|-----------------------|
|
||||||
| MF_HTTP_ADAPTER_LOG_LEVEL | Log level for the HTTP Adapter | error |
|
| MF_HTTP_ADAPTER_LOG_LEVEL | Log level for the HTTP Adapter | error |
|
||||||
| MF_HTTP_ADAPTER_PORT | Service HTTP port | 8180 |
|
| MF_HTTP_ADAPTER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_THINGS_URL | Things service URL | localhost:8181 |
|
| MF_HTTP_ADAPTER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
||||||
| MF_HTTP_ADAPTER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
| MF_HTTP_ADAPTER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_HTTP_ADAPTER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
| MF_HTTP_ADAPTER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -33,13 +33,13 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- [host machine port]:8180
|
- [host machine port]:8180
|
||||||
environment:
|
environment:
|
||||||
MF_THINGS_URL: [Things service URL]
|
|
||||||
MF_NATS_URL: [NATS instance URL]
|
MF_NATS_URL: [NATS instance URL]
|
||||||
MF_HTTP_ADAPTER_LOG_LEVEL: [HTTP Adapter Log Level]
|
MF_HTTP_ADAPTER_LOG_LEVEL: [HTTP Adapter Log Level]
|
||||||
MF_HTTP_ADAPTER_PORT: [Service HTTP port]
|
MF_HTTP_ADAPTER_PORT: [Service HTTP port]
|
||||||
MF_HTTP_ADAPTER_CA_CERTS: [Path to trusted CAs in PEM format]
|
MF_HTTP_ADAPTER_CA_CERTS: [Path to trusted CAs in PEM format]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_HTTP_ADAPTER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
```
|
```
|
||||||
|
|
||||||
To start the service outside of the container, execute the following shell script:
|
To start the service outside of the container, execute the following shell script:
|
||||||
@ -57,7 +57,14 @@ make http
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# set the environment variables and run the service
|
# set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] MF_NATS_URL=[NATS instance URL] MF_HTTP_ADAPTER_LOG_LEVEL=[HTTP Adapter Log Level] MF_HTTP_ADAPTER_PORT=[Service HTTP port] MF_HTTP_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] MF_JAEGER_URL=[Jaeger server URL] MF_HTTP_ADAPTER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] $GOBIN/mainflux-http
|
MF_NATS_URL=[NATS instance URL] \
|
||||||
|
MF_HTTP_ADAPTER_LOG_LEVEL=[HTTP Adapter Log Level] \
|
||||||
|
MF_HTTP_ADAPTER_PORT=[Service HTTP port] \
|
||||||
|
MF_HTTP_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth gRPC URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-http
|
||||||
```
|
```
|
||||||
|
|
||||||
Setting `MF_HTTP_ADAPTER_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Things gRPC endpoint trusting only those CAs that are provided.
|
Setting `MF_HTTP_ADAPTER_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Things gRPC endpoint trusting only those CAs that are provided.
|
||||||
|
@ -13,7 +13,7 @@ default values.
|
|||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|----------------------------------|----------------------------------------|----------------------------|
|
|----------------------------------|----------------------------------------|----------------------------|
|
||||||
| MF_OPCUA_ADAPTER_HTTP_PORT | Service HTTP port | 8188 |
|
| MF_OPCUA_ADAPTER_HTTP_PORT | Service HTTP port | 8180 |
|
||||||
| MF_OPCUA_ADAPTER_LOG_LEVEL | Service Log level | error |
|
| MF_OPCUA_ADAPTER_LOG_LEVEL | Service Log level | error |
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_OPCUA_ADAPTER_INTERVAL_MS | OPC-UA Server Interval in milliseconds | 1000 |
|
| MF_OPCUA_ADAPTER_INTERVAL_MS | OPC-UA Server Interval in milliseconds | 1000 |
|
||||||
|
@ -8,21 +8,21 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|------------------------------------|------------------------------------------------|----------------|
|
|---------------------------------|-----------------------------------------------------|----------------|
|
||||||
| MF_CASSANDRA_READER_PORT | Service HTTP port | 8180 |
|
| MF_CASSANDRA_READER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_CASSANDRA_READER_DB_CLUSTER | Cassandra cluster comma separated addresses | 127.0.0.1 |
|
| MF_CASSANDRA_READER_DB_CLUSTER | Cassandra cluster comma separated addresses | 127.0.0.1 |
|
||||||
| MF_CASSANDRA_READER_DB_KEYSPACE | Cassandra keyspace name | mainflux |
|
| MF_CASSANDRA_READER_DB_USER | Cassandra DB username | |
|
||||||
| MF_CASSANDRA_READER_DB_USERNAME | Cassandra DB username | |
|
| MF_CASSANDRA_READER_DB_PASS | Cassandra DB password | |
|
||||||
| MF_CASSANDRA_READER_DB_PASSWORD | Cassandra DB password | |
|
| MF_CASSANDRA_READER_DB_KEYSPACE | Cassandra keyspace name | messages |
|
||||||
| MF_CASSANDRA_READER_DB_PORT | Cassandra DB port | 9042 |
|
| MF_CASSANDRA_READER_DB_PORT | Cassandra DB port | 9042 |
|
||||||
| MF_THINGS_URL | Things service URL | localhost:8181 |
|
| MF_CASSANDRA_READER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
||||||
| MF_CASSANDRA_READER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
| MF_CASSANDRA_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_CASSANDRA_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_CASSANDRA_READER_SERVER_CERT | Path to server certificate in pem format | |
|
||||||
| MF_CASSANDRA_READER_SERVER_CERT | Path to server certificate in pem format | |
|
| MF_CASSANDRA_READER_SERVER_KEY | Path to server key in pem format | |
|
||||||
| MF_CASSANDRA_READER_SERVER_KEY | Path to server key in pem format | |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
| MF_CASSANDRA_READER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
@ -36,19 +36,19 @@ default values.
|
|||||||
- [Service HTTP port]
|
- [Service HTTP port]
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_THINGS_URL: [Things service URL]
|
|
||||||
MF_CASSANDRA_READER_PORT: [Service HTTP port]
|
MF_CASSANDRA_READER_PORT: [Service HTTP port]
|
||||||
MF_CASSANDRA_READER_DB_CLUSTER: [Cassandra cluster comma separated addresses]
|
MF_CASSANDRA_READER_DB_CLUSTER: [Cassandra cluster comma separated addresses]
|
||||||
MF_CASSANDRA_READER_DB_KEYSPACE: [Cassandra keyspace name]
|
MF_CASSANDRA_READER_DB_KEYSPACE: [Cassandra keyspace name]
|
||||||
MF_CASSANDRA_READER_DB_USERNAME: [Cassandra DB username]
|
MF_CASSANDRA_READER_DB_USER: [Cassandra DB username]
|
||||||
MF_CASSANDRA_READER_DB_PASSWORD: [Cassandra DB password]
|
MF_CASSANDRA_READER_DB_PASS: [Cassandra DB password]
|
||||||
MF_CASSANDRA_READER_DB_PORT: [Cassandra DB port]
|
MF_CASSANDRA_READER_DB_PORT: [Cassandra DB port]
|
||||||
MF_CASSANDRA_READER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
MF_CASSANDRA_READER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
||||||
MF_CASSANDRA_READER_CA_CERTS: [Path to trusted CAs in PEM format]
|
MF_CASSANDRA_READER_CA_CERTS: [Path to trusted CAs in PEM format]
|
||||||
MF_CASSANDRA_READER_SERVER_CERT: [String path to server cert in pem format]
|
MF_CASSANDRA_READER_SERVER_CERT: [String path to server cert in pem format]
|
||||||
MF_CASSANDRA_READER_SERVER_KEY: [String path to server key in pem format]
|
MF_CASSANDRA_READER_SERVER_KEY: [String path to server key in pem format]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_CASSANDRA_READER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
ports:
|
ports:
|
||||||
- [host machine port]:[configured HTTP port]
|
- [host machine port]:[configured HTTP port]
|
||||||
```
|
```
|
||||||
@ -68,19 +68,19 @@ make cassandra-reader
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] \
|
|
||||||
MF_CASSANDRA_READER_PORT=[Service HTTP port] \
|
MF_CASSANDRA_READER_PORT=[Service HTTP port] \
|
||||||
MF_CASSANDRA_READER_DB_CLUSTER=[Cassandra cluster comma separated addresses] \
|
MF_CASSANDRA_READER_DB_CLUSTER=[Cassandra cluster comma separated addresses] \
|
||||||
MF_CASSANDRA_READER_DB_KEYSPACE=[Cassandra keyspace name] \
|
MF_CASSANDRA_READER_DB_KEYSPACE=[Cassandra keyspace name] \
|
||||||
MF_CASSANDRA_READER_DB_USERNAME=[Cassandra DB username] \
|
MF_CASSANDRA_READER_DB_USER=[Cassandra DB username] \
|
||||||
MF_CASSANDRA_READER_DB_PASSWORD=[Cassandra DB password] \
|
MF_CASSANDRA_READER_DB_PASS=[Cassandra DB password] \
|
||||||
MF_CASSANDRA_READER_DB_PORT=[Cassandra DB port] \
|
MF_CASSANDRA_READER_DB_PORT=[Cassandra DB port] \
|
||||||
MF_CASSANDRA_READER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \
|
MF_CASSANDRA_READER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \
|
||||||
MF_CASSANDRA_READER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
MF_CASSANDRA_READER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
MF_CASSANDRA_READER_SERVER_CERT=[Path to server pem certificate file] \
|
MF_CASSANDRA_READER_SERVER_CERT=[Path to server pem certificate file] \
|
||||||
MF_CASSANDRA_READER_SERVER_KEY=[Path to server pem key file] \
|
MF_CASSANDRA_READER_SERVER_KEY=[Path to server pem key file] \
|
||||||
MF_JAEGER_URL=[Jaeger server URL] \
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
MF_CASSANDRA_READER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] \
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth gRPC URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
$GOBIN/mainflux-cassandra-reader
|
$GOBIN/mainflux-cassandra-reader
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -11,8 +11,8 @@ import (
|
|||||||
type DBConfig struct {
|
type DBConfig struct {
|
||||||
Hosts []string
|
Hosts []string
|
||||||
Keyspace string
|
Keyspace string
|
||||||
Username string
|
User string
|
||||||
Password string
|
Pass string
|
||||||
Port int
|
Port int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,8 +22,8 @@ func Connect(cfg DBConfig) (*gocql.Session, error) {
|
|||||||
cluster.Keyspace = cfg.Keyspace
|
cluster.Keyspace = cfg.Keyspace
|
||||||
cluster.Consistency = gocql.Quorum
|
cluster.Consistency = gocql.Quorum
|
||||||
cluster.Authenticator = gocql.PasswordAuthenticator{
|
cluster.Authenticator = gocql.PasswordAuthenticator{
|
||||||
Username: cfg.Username,
|
Username: cfg.User,
|
||||||
Password: cfg.Password,
|
Password: cfg.Pass,
|
||||||
}
|
}
|
||||||
cluster.Port = cfg.Port
|
cluster.Port = cfg.Port
|
||||||
|
|
||||||
|
@ -8,20 +8,21 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|---------------------------------|------------------------------------------------|----------------|
|
|------------------------------|-----------------------------------------------------|----------------|
|
||||||
| MF_INFLUX_READER_PORT | Service HTTP port | 8180 |
|
| MF_INFLUX_READER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_INFLUX_READER_DB_NAME | InfluxDB database name | mainflux |
|
| MF_INFLUX_READER_DB_HOST | InfluxDB host | localhost |
|
||||||
| MF_INFLUX_READER_DB_HOST | InfluxDB host | localhost |
|
| MF_INFLUX_READER_DB_PORT | Default port of InfluxDB database | 8086 |
|
||||||
| MF_INFLUX_READER_DB_PORT | Default port of InfluxDB database | 8086 |
|
| MF_INFLUX_READER_DB_USER | Default user of InfluxDB database | mainflux |
|
||||||
| MF_INFLUX_READER_DB_USER | Default user of InfluxDB database | mainflux |
|
| MF_INFLUX_READER_DB_PASS | Default password of InfluxDB user | mainflux |
|
||||||
| MF_INFLUX_READER_DB_PASS | Default password of InfluxDB user | mainflux |
|
| MF_INFLUX_READER_DB | InfluxDB database name | messages |
|
||||||
| MF_INFLUX_READER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
| MF_INFLUX_READER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
||||||
| MF_INFLUX_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_INFLUX_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_INFLUX_READER_SERVER_CERT | Path to server certificate in pem format | |
|
| MF_INFLUX_READER_SERVER_CERT | Path to server certificate in pem format | |
|
||||||
| MF_INFLUX_READER_SERVER_KEY | Path to server key in pem format | |
|
| MF_INFLUX_READER_SERVER_KEY | Path to server key in pem format | |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_INFLUX_READER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -32,9 +33,8 @@ default values.
|
|||||||
container_name: [instance name]
|
container_name: [instance name]
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_THINGS_URL: [Things service URL]
|
|
||||||
MF_INFLUX_READER_PORT: [Service HTTP port]
|
MF_INFLUX_READER_PORT: [Service HTTP port]
|
||||||
MF_INFLUX_READER_DB_NAME: [InfluxDB name]
|
MF_INFLUX_READER_DB: [InfluxDB name]
|
||||||
MF_INFLUX_READER_DB_HOST: [InfluxDB host]
|
MF_INFLUX_READER_DB_HOST: [InfluxDB host]
|
||||||
MF_INFLUX_READER_DB_PORT: [InfluxDB port]
|
MF_INFLUX_READER_DB_PORT: [InfluxDB port]
|
||||||
MF_INFLUX_READER_DB_USER: [InfluxDB admin user]
|
MF_INFLUX_READER_DB_USER: [InfluxDB admin user]
|
||||||
@ -44,7 +44,8 @@ default values.
|
|||||||
MF_INFLUX_READER_SERVER_CERT: [String path to server cert in pem format]
|
MF_INFLUX_READER_SERVER_CERT: [String path to server cert in pem format]
|
||||||
MF_INFLUX_READER_SERVER_KEY: [String path to server key in pem format]
|
MF_INFLUX_READER_SERVER_KEY: [String path to server key in pem format]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_INFLUX_READER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
ports:
|
ports:
|
||||||
- [host machine port]:[configured HTTP port]
|
- [host machine port]:[configured HTTP port]
|
||||||
```
|
```
|
||||||
@ -64,9 +65,8 @@ make influxdb-reader
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] \
|
|
||||||
MF_INFLUX_READER_PORT=[Service HTTP port] \
|
MF_INFLUX_READER_PORT=[Service HTTP port] \
|
||||||
MF_INFLUX_READER_DB_NAME=[InfluxDB database name] \
|
MF_INFLUX_READER_DB=[InfluxDB database name] \
|
||||||
MF_INFLUX_READER_DB_HOST=[InfluxDB database host] \
|
MF_INFLUX_READER_DB_HOST=[InfluxDB database host] \
|
||||||
MF_INFLUX_READER_DB_PORT=[InfluxDB database port] \
|
MF_INFLUX_READER_DB_PORT=[InfluxDB database port] \
|
||||||
MF_INFLUX_READER_DB_USER=[InfluxDB admin user] \
|
MF_INFLUX_READER_DB_USER=[InfluxDB admin user] \
|
||||||
@ -76,7 +76,8 @@ MF_INFLUX_READER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
|||||||
MF_INFLUX_READER_SERVER_CERT=[Path to server pem certificate file] \
|
MF_INFLUX_READER_SERVER_CERT=[Path to server pem certificate file] \
|
||||||
MF_INFLUX_READER_SERVER_KEY=[Path to server pem key file] \
|
MF_INFLUX_READER_SERVER_KEY=[Path to server pem key file] \
|
||||||
MF_JAEGER_URL=[Jaeger server URL] \
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
MF_INFLUX_READER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] \
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth gRPC URL] \
|
||||||
|
MF_THINGS_AURH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
$GOBIN/mainflux-influxdb
|
$GOBIN/mainflux-influxdb
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -8,19 +8,19 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|--------------------------------|------------------------------------------------|----------------|
|
|-----------------------------|-----------------------------------------------------|----------------|
|
||||||
| MF_THINGS_URL | Things service URL | localhost:8181 |
|
| MF_MONGO_READER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_MONGO_READER_PORT | Service HTTP port | 8180 |
|
| MF_MONGO_READER_DB | MongoDB database name | messages |
|
||||||
| MF_MONGO_READER_DB_NAME | MongoDB database name | mainflux |
|
| MF_MONGO_READER_DB_HOST | MongoDB database host | localhost |
|
||||||
| MF_MONGO_READER_DB_HOST | MongoDB database host | localhost |
|
| MF_MONGO_READER_DB_PORT | MongoDB database port | 27017 |
|
||||||
| MF_MONGO_READER_DB_PORT | MongoDB database port | 27017 |
|
| MF_MONGO_READER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
||||||
| MF_MONGO_READER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
| MF_MONGO_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_MONGO_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_MONGO_SERVER_CERT | Path to server certificate in pem format | |
|
||||||
| MF_MONGO_SERVER_CERT | Path to server certificate in pem format | |
|
| MF_MONGO_SERVER_KEY | Path to server key in pem format | |
|
||||||
| MF_MONGO_SERVER_KEY | Path to server key in pem format | |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
| MF_MONGO_READER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -33,9 +33,8 @@ default values.
|
|||||||
- [Service HTTP port]
|
- [Service HTTP port]
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
environment:
|
environment:
|
||||||
MF_THINGS_URL: [Things service URL]
|
|
||||||
MF_MONGO_READER_PORT: [Service HTTP port]
|
MF_MONGO_READER_PORT: [Service HTTP port]
|
||||||
MF_MONGO_READER_DB_NAME: [MongoDB name]
|
MF_MONGO_READER_DB: [MongoDB name]
|
||||||
MF_MONGO_READER_DB_HOST: [MongoDB host]
|
MF_MONGO_READER_DB_HOST: [MongoDB host]
|
||||||
MF_MONGO_READER_DB_PORT: [MongoDB port]
|
MF_MONGO_READER_DB_PORT: [MongoDB port]
|
||||||
MF_MONGO_READER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
MF_MONGO_READER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
||||||
@ -43,7 +42,8 @@ default values.
|
|||||||
MF_MONGO_READER_SERVER_CERT: [String path to server cert in pem format]
|
MF_MONGO_READER_SERVER_CERT: [String path to server cert in pem format]
|
||||||
MF_MONGO_READER_SERVER_KEY: [String path to server key in pem format]
|
MF_MONGO_READER_SERVER_KEY: [String path to server key in pem format]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_MONGO_READER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
ports:
|
ports:
|
||||||
- [host machine port]:[configured HTTP port]
|
- [host machine port]:[configured HTTP port]
|
||||||
```
|
```
|
||||||
@ -63,9 +63,8 @@ make mongodb-reader
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] \
|
|
||||||
MF_MONGO_READER_PORT=[Service HTTP port] \
|
MF_MONGO_READER_PORT=[Service HTTP port] \
|
||||||
MF_MONGO_READER_DB_NAME=[MongoDB database name] \
|
MF_MONGO_READER_DB=[MongoDB database name] \
|
||||||
MF_MONGO_READER_DB_HOST=[MongoDB database host] \
|
MF_MONGO_READER_DB_HOST=[MongoDB database host] \
|
||||||
MF_MONGO_READER_DB_PORT=[MongoDB database port] \
|
MF_MONGO_READER_DB_PORT=[MongoDB database port] \
|
||||||
MF_MONGO_READER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \
|
MF_MONGO_READER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \
|
||||||
@ -73,7 +72,8 @@ MF_MONGO_READER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
|||||||
MF_JAEGER_URL=[Jaeger server URL] \
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
MF_MONGO_READER_SERVER_CERT=[Path to server pem certificate file] \
|
MF_MONGO_READER_SERVER_CERT=[Path to server pem certificate file] \
|
||||||
MF_MONGO_READER_SERVER_KEY=[Path to server pem key file] \
|
MF_MONGO_READER_SERVER_KEY=[Path to server pem key file] \
|
||||||
MF_MONGO_READER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] \
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth gRPC URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
$GOBIN/mainflux-mongodb-reader
|
$GOBIN/mainflux-mongodb-reader
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -8,24 +8,24 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|-------------------------------------|----------------------------------------|----------------|
|
|-------------------------------------|---------------------------------------------|----------------|
|
||||||
| MF_THINGS_URL | Things service URL | things:8183 |
|
| MF_POSTGRES_READER_LOG_LEVEL | Service log level | debug |
|
||||||
| MF_POSTGRES_READER_LOG_LEVEL | Service log level | debug |
|
| MF_POSTGRES_READER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_POSTGRES_READER_PORT | Service HTTP port | 9204 |
|
| MF_POSTGRES_READER_CLIENT_TLS | TLS mode flag | false |
|
||||||
| MF_POSTGRES_READER_CLIENT_TLS | TLS mode flag | false |
|
| MF_POSTGRES_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_POSTGRES_READER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_POSTGRES_READER_DB_HOST | Postgres DB host | postgres |
|
||||||
| MF_POSTGRES_READER_DB_HOST | Postgres DB host | postgres |
|
| MF_POSTGRES_READER_DB_PORT | Postgres DB port | 5432 |
|
||||||
| MF_POSTGRES_READER_DB_PORT | Postgres DB port | 5432 |
|
| MF_POSTGRES_READER_DB_USER | Postgres user | mainflux |
|
||||||
| MF_POSTGRES_READER_DB_USER | Postgres user | mainflux |
|
| MF_POSTGRES_READER_DB_PASS | Postgres password | mainflux |
|
||||||
| MF_POSTGRES_READER_DB_PASS | Postgres password | mainflux |
|
| MF_POSTGRES_READER_DB | Postgres database name | messages |
|
||||||
| MF_POSTGRES_READER_DB_NAME | Postgres database name | messages |
|
| MF_POSTGRES_READER_DB_SSL_MODE | Postgres SSL mode | disabled |
|
||||||
| MF_POSTGRES_READER_DB_SSL_MODE | Postgres SSL mode | disabled |
|
| MF_POSTGRES_READER_DB_SSL_CERT | Postgres SSL certificate path | "" |
|
||||||
| MF_POSTGRES_READER_DB_SSL_CERT | Postgres SSL certificate path | "" |
|
| MF_POSTGRES_READER_DB_SSL_KEY | Postgres SSL key | "" |
|
||||||
| MF_POSTGRES_READER_DB_SSL_KEY | Postgres SSL key | "" |
|
| MF_POSTGRES_READER_DB_SSL_ROOT_CERT | Postgres SSL root certificate path | "" |
|
||||||
| MF_POSTGRES_READER_DB_SSL_ROOT_CERT | Postgres SSL root certificate path | "" |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
| MF_POSTGRES_READER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -46,15 +46,16 @@ default values.
|
|||||||
MF_POSTGRES_READER_DB_PORT: [Postgres port]
|
MF_POSTGRES_READER_DB_PORT: [Postgres port]
|
||||||
MF_POSTGRES_READER_DB_USER: [Postgres user]
|
MF_POSTGRES_READER_DB_USER: [Postgres user]
|
||||||
MF_POSTGRES_READER_DB_PASS: [Postgres password]
|
MF_POSTGRES_READER_DB_PASS: [Postgres password]
|
||||||
MF_POSTGRES_READER_DB_NAME: [Postgres database name]
|
MF_POSTGRES_READER_DB: [Postgres database name]
|
||||||
MF_POSTGRES_READER_DB_SSL_MODE: [Postgres SSL mode]
|
MF_POSTGRES_READER_DB_SSL_MODE: [Postgres SSL mode]
|
||||||
MF_POSTGRES_READER_DB_SSL_CERT: [Postgres SSL cert]
|
MF_POSTGRES_READER_DB_SSL_CERT: [Postgres SSL cert]
|
||||||
MF_POSTGRES_READER_DB_SSL_KEY: [Postgres SSL key]
|
MF_POSTGRES_READER_DB_SSL_KEY: [Postgres SSL key]
|
||||||
MF_POSTGRES_READER_DB_SSL_ROOT_CERT: [Postgres SSL Root cert]
|
MF_POSTGRES_READER_DB_SSL_ROOT_CERT: [Postgres SSL Root cert]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_POSTGRES_READER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
ports:
|
ports:
|
||||||
- 8903:8903
|
- 8180:8180
|
||||||
networks:
|
networks:
|
||||||
- docker_mainflux-base-net
|
- docker_mainflux-base-net
|
||||||
```
|
```
|
||||||
@ -74,7 +75,23 @@ make postgres-writer
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] MF_POSTGRES_READER_LOG_LEVEL=[Service log level] MF_POSTGRES_READER_PORT=[Service HTTP port] MF_POSTGRES_READER_CLIENT_TLS =[TLS mode flag] MF_POSTGRES_READER_CA_CERTS=[Path to trusted CAs in PEM format] MF_POSTGRES_READER_DB_HOST=[Postgres host] MF_POSTGRES_READER_DB_PORT=[Postgres port] MF_POSTGRES_READER_DB_USER=[Postgres user] MF_POSTGRES_READER_DB_PASS=[Postgres password] MF_POSTGRES_READER_DB_NAME=[Postgres database name] MF_POSTGRES_READER_DB_SSL_MODE=[Postgres SSL mode] MF_POSTGRES_READER_DB_SSL_CERT=[Postgres SSL cert] MF_POSTGRES_READER_DB_SSL_KEY=[Postgres SSL key] MF_POSTGRES_READER_DB_SSL_ROOT_CERT=[Postgres SSL Root cert] MF_JAEGER_URL=[Jaeger server URL] MF_POSTGRES_READER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] $GOBIN/mainflux-postgres-reader
|
MF_POSTGRES_READER_LOG_LEVEL=[Service log level] \
|
||||||
|
MF_POSTGRES_READER_PORT=[Service HTTP port] \
|
||||||
|
MF_POSTGRES_READER_CLIENT_TLS =[TLS mode flag] \
|
||||||
|
MF_POSTGRES_READER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
|
MF_POSTGRES_READER_DB_HOST=[Postgres host] \
|
||||||
|
MF_POSTGRES_READER_DB_PORT=[Postgres port] \
|
||||||
|
MF_POSTGRES_READER_DB_USER=[Postgres user] \
|
||||||
|
MF_POSTGRES_READER_DB_PASS=[Postgres password] \
|
||||||
|
MF_POSTGRES_READER_DB=[Postgres database name] \
|
||||||
|
MF_POSTGRES_READER_DB_SSL_MODE=[Postgres SSL mode] \
|
||||||
|
MF_POSTGRES_READER_DB_SSL_CERT=[Postgres SSL cert] \
|
||||||
|
MF_POSTGRES_READER_DB_SSL_KEY=[Postgres SSL key] \
|
||||||
|
MF_POSTGRES_READER_DB_SSL_ROOT_CERT=[Postgres SSL Root cert] \
|
||||||
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth GRPC URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-postgres-reader
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -48,22 +48,22 @@ MF_THINGS_LOG_LEVEL=info MF_THINGS_HTTP_PORT=8182 MF_THINGS_AUTH_GRPC_PORT=8183
|
|||||||
###
|
###
|
||||||
# HTTP
|
# HTTP
|
||||||
###
|
###
|
||||||
MF_HTTP_ADAPTER_LOG_LEVEL=info MF_HTTP_ADAPTER_PORT=8185 MF_THINGS_URL=localhost:8183 $BUILD_DIR/mainflux-http &
|
MF_HTTP_ADAPTER_LOG_LEVEL=info MF_HTTP_ADAPTER_PORT=8185 MF_THINGS_AUTH_GRPC_URL=localhost:8183 $BUILD_DIR/mainflux-http &
|
||||||
|
|
||||||
###
|
###
|
||||||
# WS
|
# WS
|
||||||
###
|
###
|
||||||
MF_WS_ADAPTER_LOG_LEVEL=info MF_WS_ADAPTER_PORT=8186 MF_THINGS_URL=localhost:8183 $BUILD_DIR/mainflux-ws &
|
MF_WS_ADAPTER_LOG_LEVEL=info MF_WS_ADAPTER_PORT=8186 MF_THINGS_AUTH_GRPC_URL=localhost:8183 $BUILD_DIR/mainflux-ws &
|
||||||
|
|
||||||
###
|
###
|
||||||
# MQTT
|
# MQTT
|
||||||
###
|
###
|
||||||
MF_MQTT_ADAPTER_LOG_LEVEL=info MF_THINGS_URL=localhost:8183 $BUILD_DIR/mainflux-mqtt &
|
MF_MQTT_ADAPTER_LOG_LEVEL=info MF_THINGS_AUTH_GRPC_URL=localhost:8183 $BUILD_DIR/mainflux-mqtt &
|
||||||
|
|
||||||
###
|
###
|
||||||
# CoAP
|
# CoAP
|
||||||
###
|
###
|
||||||
MF_COAP_ADAPTER_LOG_LEVEL=info MF_COAP_ADAPTER_PORT=5683 MF_THINGS_URL=localhost:8183 $BUILD_DIR/mainflux-coap &
|
MF_COAP_ADAPTER_LOG_LEVEL=info MF_COAP_ADAPTER_PORT=5683 MF_THINGS_AUTH_GRPC_URL=localhost:8183 $BUILD_DIR/mainflux-coap &
|
||||||
|
|
||||||
###
|
###
|
||||||
# AUTHN
|
# AUTHN
|
||||||
|
@ -36,16 +36,16 @@ default values.
|
|||||||
| MF_THINGS_ES_URL | Event store URL | localhost:6379 |
|
| MF_THINGS_ES_URL | Event store URL | localhost:6379 |
|
||||||
| MF_THINGS_ES_PASS | Event store password | |
|
| MF_THINGS_ES_PASS | Event store password | |
|
||||||
| MF_THINGS_ES_DB | Event store instance name | 0 |
|
| MF_THINGS_ES_DB | Event store instance name | 0 |
|
||||||
| MF_THINGS_HTTP_PORT | Things service HTTP port | 8180 |
|
| MF_THINGS_HTTP_PORT | Things service HTTP port | 8182 |
|
||||||
| MF_THINGS_AUTH_HTTP_PORT | Things service auth HTTP port | 8989 |
|
| MF_THINGS_AUTH_HTTP_PORT | Things service Auth HTTP port | 8180 |
|
||||||
| MF_THINGS_AUTH_GRPC_PORT | Things service auth gRPC port | 8181 |
|
| MF_THINGS_AUTH_GRPC_PORT | Things service Auth gRPC port | 8181 |
|
||||||
| MF_THINGS_SERVER_CERT | Path to server certificate in pem format | |
|
| MF_THINGS_SERVER_CERT | Path to server certificate in pem format | |
|
||||||
| MF_THINGS_SERVER_KEY | Path to server key in pem format | |
|
| MF_THINGS_SERVER_KEY | Path to server key in pem format | |
|
||||||
| MF_USERS_URL | Users service URL | localhost:8181 |
|
|
||||||
| MF_THINGS_SINGLE_USER_EMAIL | User email for single user mode (no gRPC communication with users) | |
|
| MF_THINGS_SINGLE_USER_EMAIL | User email for single user mode (no gRPC communication with users) | |
|
||||||
| MF_THINGS_SINGLE_USER_TOKEN | User token for single user mode that should be passed in auth header | |
|
| MF_THINGS_SINGLE_USER_TOKEN | User token for single user mode that should be passed in auth header | |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_THINGS_USERS_TIMEOUT | Users gRPC request timeout in seconds | 1 |
|
| MF_AUTHN_GRPC_URL | AuthN service gRPC URL | localhost:8181 |
|
||||||
|
| MF_AUTHN_GRPC_TIMEOUT | AuthN service gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
**Note** that if you want `things` service to have only one user locally, you should use `MF_THINGS_SINGLE_USER` env vars. By specifying these, you don't need `users` service in your deployment as it won't be used for authorization.
|
**Note** that if you want `things` service to have only one user locally, you should use `MF_THINGS_SINGLE_USER` env vars. By specifying these, you don't need `users` service in your deployment as it won't be used for authorization.
|
||||||
|
|
||||||
@ -81,17 +81,17 @@ services:
|
|||||||
MF_THINGS_ES_URL: [Event store URL]
|
MF_THINGS_ES_URL: [Event store URL]
|
||||||
MF_THINGS_ES_PASS: [Event store password]
|
MF_THINGS_ES_PASS: [Event store password]
|
||||||
MF_THINGS_ES_DB: [Event store instance name]
|
MF_THINGS_ES_DB: [Event store instance name]
|
||||||
MF_THINGS_HTTP_PORT: [Service HTTP port]
|
MF_THINGS_HTTP_PORT: [Things service HTTP port]
|
||||||
MF_THINGS_AUTH_HTTP_PORT: [Service auth HTTP port]
|
MF_THINGS_AUTH_HTTP_PORT: [Things service Auth HTTP port]
|
||||||
MF_THINGS_AUTH_GRPC_PORT: [Service auth gRPC port]
|
MF_THINGS_AUTH_GRPC_PORT: [Things service Auth gRPC port]
|
||||||
MF_THINGS_SERVER_CERT: [String path to server cert in pem format]
|
MF_THINGS_SERVER_CERT: [String path to server cert in pem format]
|
||||||
MF_THINGS_SERVER_KEY: [String path to server key in pem format]
|
MF_THINGS_SERVER_KEY: [String path to server key in pem format]
|
||||||
MF_USERS_URL: [Users service URL]
|
|
||||||
MF_THINGS_SECRET: [String used for signing tokens]
|
MF_THINGS_SECRET: [String used for signing tokens]
|
||||||
MF_THINGS_SINGLE_USER_EMAIL: [User email for single user mode (no gRPC communication with users)]
|
MF_THINGS_SINGLE_USER_EMAIL: [User email for single user mode (no gRPC communication with users)]
|
||||||
MF_THINGS_SINGLE_USER_TOKEN: [User token for single user mode that should be passed in auth header]
|
MF_THINGS_SINGLE_USER_TOKEN: [User token for single user mode that should be passed in auth header]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_THINGS_USERS_TIMEOUT: [Users gRPC request timeout in seconds]
|
MF_AUTHN_GRPC_URL: [AuthN service gRPC URL]
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT: [AuthN service gRPC request timeout in seconds]
|
||||||
```
|
```
|
||||||
|
|
||||||
To start the service outside of the container, execute the following shell script:
|
To start the service outside of the container, execute the following shell script:
|
||||||
@ -109,7 +109,34 @@ make things
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# set the environment variables and run the service
|
# set the environment variables and run the service
|
||||||
MF_THINGS_LOG_LEVEL=[Things log level] MF_THINGS_DB_HOST=[Database host address] MF_THINGS_DB_PORT=[Database host port] MF_THINGS_DB_USER=[Database user] MF_THINGS_DB_PASS=[Database password] MF_THINGS_DB=[Name of the database used by the service] MF_THINGS_DB_SSL_MODE=[SSL mode to connect to the database with] MF_THINGS_DB_SSL_CERT=[Path to the PEM encoded certificate file] MF_THINGS_DB_SSL_KEY=[Path to the PEM encoded key file] MF_THINGS_DB_SSL_ROOT_CERT=[Path to the PEM encoded root certificate file] MF_HTTP_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] MF_THINGS_CACHE_URL=[Cache database URL] MF_THINGS_CACHE_PASS=[Cache database password] MF_THINGS_CACHE_DB=[Cache instance name] MF_THINGS_ES_URL=[Event store URL] MF_THINGS_ES_PASS=[Event store password] MF_THINGS_ES_DB=[Event store instance name] MF_THINGS_HTTP_PORT=[Service HTTP port] MF_THINGS_AUTH_HTTP_PORT=[Service auth HTTP port] MF_THINGS_AUTH_GRPC_PORT=[Service auth gRPC port] MF_USERS_URL=[Users service URL] MF_THINGS_SERVER_CERT=[Path to server certificate] MF_THINGS_SERVER_KEY=[Path to server key] MF_THINGS_SINGLE_USER_EMAIL=[User email for single user mode (no gRPC communication with users)] MF_THINGS_SINGLE_USER_TOKEN=[User token for single user mode that should be passed in auth header] MF_JAEGER_URL=[Jaeger server URL] MF_THINGS_USERS_TIMEOUT=[Users gRPC request timeout in seconds] $GOBIN/mainflux-things
|
MF_THINGS_LOG_LEVEL=[Things log level] \
|
||||||
|
MF_THINGS_DB_HOST=[Database host address] \
|
||||||
|
MF_THINGS_DB_PORT=[Database host port] \
|
||||||
|
MF_THINGS_DB_USER=[Database user] \
|
||||||
|
MF_THINGS_DB_PASS=[Database password] \
|
||||||
|
MF_THINGS_DB=[Name of the database used by the service] \
|
||||||
|
MF_THINGS_DB_SSL_MODE=[SSL mode to connect to the database with] \
|
||||||
|
MF_THINGS_DB_SSL_CERT=[Path to the PEM encoded certificate file] \
|
||||||
|
MF_THINGS_DB_SSL_KEY=[Path to the PEM encoded key file] \
|
||||||
|
MF_THINGS_DB_SSL_ROOT_CERT=[Path to the PEM encoded root certificate file] \
|
||||||
|
MF_HTTP_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
|
MF_THINGS_CACHE_URL=[Cache database URL] \
|
||||||
|
MF_THINGS_CACHE_PASS=[Cache database password] \
|
||||||
|
MF_THINGS_CACHE_DB=[Cache instance name] \
|
||||||
|
MF_THINGS_ES_URL=[Event store URL] \
|
||||||
|
MF_THINGS_ES_PASS=[Event store password] \
|
||||||
|
MF_THINGS_ES_DB=[Event store instance name] \
|
||||||
|
MF_THINGS_HTTP_PORT=[Things service HTTP port] \
|
||||||
|
MF_THINGS_AUTH_HTTP_PORT=[Things service Auth HTTP port] \
|
||||||
|
MF_THINGS_AUTH_GRPC_PORT=[Things service Auth gRPC port] \
|
||||||
|
MF_THINGS_SERVER_CERT=[Path to server certificate] \
|
||||||
|
MF_THINGS_SERVER_KEY=[Path to server key] \
|
||||||
|
MF_THINGS_SINGLE_USER_EMAIL=[User email for single user mode (no gRPC communication with users)] \
|
||||||
|
MF_THINGS_SINGLE_USER_TOKEN=[User token for single user mode that should be passed in auth header] \
|
||||||
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
|
MF_AUTHN_GRPC_URL=[AuthN service gRPC URL] \
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT=[AuthN service gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-things
|
||||||
```
|
```
|
||||||
|
|
||||||
Setting `MF_THINGS_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Users gRPC endpoint trusting only those CAs that are provided.
|
Setting `MF_THINGS_CA_CERTS` expects a file in PEM format of trusted CAs. This will enable TLS against the Users gRPC endpoint trusting only those CAs that are provided.
|
||||||
|
@ -19,7 +19,7 @@ default values.
|
|||||||
| MF_TWINS_SERVER_CERT | Path to server certificate in PEM format | |
|
| MF_TWINS_SERVER_CERT | Path to server certificate in PEM format | |
|
||||||
| MF_TWINS_SERVER_KEY | Path to server key in PEM format | |
|
| MF_TWINS_SERVER_KEY | Path to server key in PEM format | |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | |
|
| MF_JAEGER_URL | Jaeger server URL | |
|
||||||
| MF_TWINS_DB_NAME | Database name | mainflux |
|
| MF_TWINS_DB | Database name | mainflux |
|
||||||
| MF_TWINS_DB_HOST | Database host address | localhost |
|
| MF_TWINS_DB_HOST | Database host address | localhost |
|
||||||
| MF_TWINS_DB_PORT | Database host port | 27017 |
|
| MF_TWINS_DB_PORT | Database host port | 27017 |
|
||||||
| MF_TWINS_SINGLE_USER_EMAIL | User email for single user mode (no gRPC communication with users) | |
|
| MF_TWINS_SINGLE_USER_EMAIL | User email for single user mode (no gRPC communication with users) | |
|
||||||
@ -30,10 +30,9 @@ default values.
|
|||||||
| MF_TWINS_THING_ID | ID of thing representing twins service & mqtt user | |
|
| MF_TWINS_THING_ID | ID of thing representing twins service & mqtt user | |
|
||||||
| MF_TWINS_THING_KEY | Key of thing representing twins service & mqtt pass | |
|
| MF_TWINS_THING_KEY | Key of thing representing twins service & mqtt pass | |
|
||||||
| MF_TWINS_CHANNEL_ID | Mqtt notifications topic | |
|
| MF_TWINS_CHANNEL_ID | Mqtt notifications topic | |
|
||||||
| MF_NATS_URL | Mainflux NATS broker URL | nats://127.0.0.1:4222 |
|
| MF_NATS_URL | Mainflux NATS broker URL | nats://localhost:4222 |
|
||||||
| MF_AUTHN_GRPC_PORT | Authn service gRPC port | 8181 |
|
| MF_AUTHN_GRPC_URL | AuthN service gRPC URL | localhost:8181 |
|
||||||
| MF_AUTHN_TIMEOUT | Authn gRPC request timeout in seconds | 1 |
|
| MF_AUTHN_GRPC_TIMEOUT | AuthN service gRPC request timeout in seconds | 1 |
|
||||||
| MF_AUTHN_URL | Authn service URL | localhost:8181 |
|
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -55,7 +54,7 @@ services:
|
|||||||
MF_TWINS_SERVER_CERT: [String path to server cert in pem format]
|
MF_TWINS_SERVER_CERT: [String path to server cert in pem format]
|
||||||
MF_TWINS_SERVER_KEY: [String path to server key in pem format]
|
MF_TWINS_SERVER_KEY: [String path to server key in pem format]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_TWINS_DB_NAME: [Database name]
|
MF_TWINS_DB: [Database name]
|
||||||
MF_TWINS_DB_HOST: [Database host address]
|
MF_TWINS_DB_HOST: [Database host address]
|
||||||
MF_TWINS_DB_PORT: [Database host port]
|
MF_TWINS_DB_PORT: [Database host port]
|
||||||
MF_TWINS_SINGLE_USER_EMAIL: [User email for single user mode]
|
MF_TWINS_SINGLE_USER_EMAIL: [User email for single user mode]
|
||||||
@ -67,9 +66,8 @@ services:
|
|||||||
MF_TWINS_THING_KEY: [Key of thing representing twins service]
|
MF_TWINS_THING_KEY: [Key of thing representing twins service]
|
||||||
MF_TWINS_CHANNEL_ID: [Mqtt notifications topic]
|
MF_TWINS_CHANNEL_ID: [Mqtt notifications topic]
|
||||||
MF_NATS_URL: [Mainflux NATS broker URL]
|
MF_NATS_URL: [Mainflux NATS broker URL]
|
||||||
MF_AUTHN_GRPC_PORT: [Authn service gRPC port]
|
MF_AUTHN_GRPC_URL: [AuthN service gRPC URL]
|
||||||
MF_AUTHN_TIMEOUT: [Authn gRPC request timeout in seconds]
|
MF_AUTHN_GRPC_TIMEOUT: [AuthN service gRPC request timeout in seconds]
|
||||||
MF_AUTHN_URL: [Authn service URL]
|
|
||||||
```
|
```
|
||||||
|
|
||||||
To start the service outside of the container, execute the following shell script:
|
To start the service outside of the container, execute the following shell script:
|
||||||
@ -87,7 +85,25 @@ make twins
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# set the environment variables and run the service
|
# set the environment variables and run the service
|
||||||
MF_TWINS_LOG_LEVEL: [Twins log level] MF_TWINS_HTTP_PORT: [Service HTTP port] MF_TWINS_SERVER_CERT: [String path to server cert in pem format] MF_TWINS_SERVER_KEY: [String path to server key in pem format] MF_JAEGER_URL: [Jaeger server URL] MF_TWINS_DB_NAME: [Database name] MF_TWINS_DB_HOST: [Database host address] MF_TWINS_DB_PORT: [Database host port] MF_TWINS_SINGLE_USER_EMAIL: [User email for single user mode] MF_TWINS_SINGLE_USER_TOKEN: [User token for single user mode] MF_TWINS_CLIENT_TLS: [Flag that indicates if TLS should be turned on] MF_TWINS_CA_CERTS: [Path to trusted CAs in PEM format] MF_TWINS_MQTT_URL: [Mqtt broker URL for twin CRUD and states] MF_TWINS_THING_ID: [ID of thing representing twins service] MF_TWINS_THING_KEY: [Key of thing representing twins service] MF_TWINS_CHANNEL_ID: [Mqtt notifications topic] MF_NATS_URL: [Mainflux NATS broker URL] MF_AUTHN_GRPC_PORT: [Authn service gRPC port] MF_AUTHN_TIMEOUT: [Authn gRPC request timeout in seconds] MF_AUTHN_URL: [Authn service URL] $GOBIN/mainflux-twins
|
MF_TWINS_LOG_LEVEL: [Twins log level] \
|
||||||
|
MF_TWINS_HTTP_PORT: [Service HTTP port] \
|
||||||
|
MF_TWINS_SERVER_CERT: [String path to server cert in pem format] \
|
||||||
|
MF_TWINS_SERVER_KEY: [String path to server key in pem format] \
|
||||||
|
MF_JAEGER_URL: [Jaeger server URL] MF_TWINS_DB: [Database name] \
|
||||||
|
MF_TWINS_DB_HOST: [Database host address] \
|
||||||
|
MF_TWINS_DB_PORT: [Database host port] \
|
||||||
|
MF_TWINS_SINGLE_USER_EMAIL: [User email for single user mode] \
|
||||||
|
MF_TWINS_SINGLE_USER_TOKEN: [User token for single user mode] \
|
||||||
|
MF_TWINS_CLIENT_TLS: [Flag that indicates if TLS should be turned on] \
|
||||||
|
MF_TWINS_CA_CERTS: [Path to trusted CAs in PEM format] \
|
||||||
|
MF_TWINS_MQTT_URL: [Mqtt broker URL for twin CRUD and states] \
|
||||||
|
MF_TWINS_THING_ID: [ID of thing representing twins service] \
|
||||||
|
MF_TWINS_THING_KEY: [Key of thing representing twins service] \
|
||||||
|
MF_TWINS_CHANNEL_ID: [Mqtt notifications topic] \
|
||||||
|
MF_NATS_URL: [Mainflux NATS broker URL] \
|
||||||
|
MF_AUTHN_GRPC_URL: [AuthN service gRPC URL] \
|
||||||
|
MF_AUTHN_GRPC_TIMEOUT: [AuthN service gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-twins
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -15,8 +15,8 @@ default values.
|
|||||||
| MF_CASSANDRA_WRITER_PORT | Service HTTP port | 8180 |
|
| MF_CASSANDRA_WRITER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_CASSANDRA_WRITER_DB_CLUSTER | Cassandra cluster comma separated addresses | 127.0.0.1 |
|
| MF_CASSANDRA_WRITER_DB_CLUSTER | Cassandra cluster comma separated addresses | 127.0.0.1 |
|
||||||
| MF_CASSANDRA_WRITER_DB_KEYSPACE | Cassandra keyspace name | mainflux |
|
| MF_CASSANDRA_WRITER_DB_KEYSPACE | Cassandra keyspace name | mainflux |
|
||||||
| MF_CASSANDRA_WRITER_DB_USERNAME | Cassandra DB username | |
|
| MF_CASSANDRA_WRITER_DB_USER | Cassandra DB username | |
|
||||||
| MF_CASSANDRA_WRITER_DB_PASSWORD | Cassandra DB password | |
|
| MF_CASSANDRA_WRITER_DB_PASS | Cassandra DB password | |
|
||||||
| MF_CASSANDRA_WRITER_DB_PORT | Cassandra DB port | 9042 |
|
| MF_CASSANDRA_WRITER_DB_PORT | Cassandra DB port | 9042 |
|
||||||
| MF_CASSANDRA_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
| MF_CASSANDRA_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
||||||
## Deployment
|
## Deployment
|
||||||
@ -35,8 +35,8 @@ default values.
|
|||||||
MF_CASSANDRA_WRITER_PORT: [Service HTTP port]
|
MF_CASSANDRA_WRITER_PORT: [Service HTTP port]
|
||||||
MF_CASSANDRA_WRITER_DB_CLUSTER: [Cassandra cluster comma separated addresses]
|
MF_CASSANDRA_WRITER_DB_CLUSTER: [Cassandra cluster comma separated addresses]
|
||||||
MF_CASSANDRA_WRITER_DB_KEYSPACE: [Cassandra keyspace name]
|
MF_CASSANDRA_WRITER_DB_KEYSPACE: [Cassandra keyspace name]
|
||||||
MF_CASSANDRA_WRITER_DB_USERNAME: [Cassandra DB username]
|
MF_CASSANDRA_WRITER_DB_USER: [Cassandra DB username]
|
||||||
MF_CASSANDRA_WRITER_DB_PASSWORD: [Cassandra DB password]
|
MF_CASSANDRA_WRITER_DB_PASS: [Cassandra DB password]
|
||||||
MF_CASSANDRA_WRITER_DB_PORT: [Cassandra DB port]
|
MF_CASSANDRA_WRITER_DB_PORT: [Cassandra DB port]
|
||||||
MF_CASSANDRA_WRITER_SUBJECTS_CONFIG: [Configuration file path with subjects list]
|
MF_CASSANDRA_WRITER_SUBJECTS_CONFIG: [Configuration file path with subjects list]
|
||||||
ports:
|
ports:
|
||||||
@ -60,7 +60,16 @@ make cassandra-writer
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_NATS_URL=[NATS instance URL] MF_CASSANDRA_WRITER_LOG_LEVEL=[Cassandra writer log level] MF_CASSANDRA_WRITER_PORT=[Service HTTP port] MF_CASSANDRA_WRITER_DB_CLUSTER=[Cassandra cluster comma separated addresses] MF_CASSANDRA_WRITER_DB_KEYSPACE=[Cassandra keyspace name] MF_CASSANDRA_READER_DB_USERNAME=[Cassandra DB username] MF_CASSANDRA_READER_DB_PASSWORD=[Cassandra DB password] MF_CASSANDRA_READER_DB_PORT=[Cassandra DB port] MF_CASSANDRA_WRITER_SUBJECTS_CONFIG=[Configuration file path with subjects list] $GOBIN/mainflux-cassandra-writer
|
MF_NATS_URL=[NATS instance URL] \
|
||||||
|
MF_CASSANDRA_WRITER_LOG_LEVEL=[Cassandra writer log level] \
|
||||||
|
MF_CASSANDRA_WRITER_PORT=[Service HTTP port] \
|
||||||
|
MF_CASSANDRA_WRITER_DB_CLUSTER=[Cassandra cluster comma separated addresses] \
|
||||||
|
MF_CASSANDRA_WRITER_DB_KEYSPACE=[Cassandra keyspace name] \
|
||||||
|
MF_CASSANDRA_READER_DB_USER=[Cassandra DB username] \
|
||||||
|
MF_CASSANDRA_READER_DB_PASS=[Cassandra DB password] \
|
||||||
|
MF_CASSANDRA_READER_DB_PORT=[Cassandra DB port] \
|
||||||
|
MF_CASSANDRA_WRITER_SUBJECTS_CONFIG=[Configuration file path with subjects list] \
|
||||||
|
$GOBIN/mainflux-cassandra-writer
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using docker-compose
|
### Using docker-compose
|
||||||
|
@ -27,8 +27,8 @@ const table = `CREATE TABLE IF NOT EXISTS messages (
|
|||||||
type DBConfig struct {
|
type DBConfig struct {
|
||||||
Hosts []string
|
Hosts []string
|
||||||
Keyspace string
|
Keyspace string
|
||||||
Username string
|
User string
|
||||||
Password string
|
Pass string
|
||||||
Port int
|
Port int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,8 +38,8 @@ func Connect(cfg DBConfig) (*gocql.Session, error) {
|
|||||||
cluster.Keyspace = cfg.Keyspace
|
cluster.Keyspace = cfg.Keyspace
|
||||||
cluster.Consistency = gocql.Quorum
|
cluster.Consistency = gocql.Quorum
|
||||||
cluster.Authenticator = gocql.PasswordAuthenticator{
|
cluster.Authenticator = gocql.PasswordAuthenticator{
|
||||||
Username: cfg.Username,
|
Username: cfg.User,
|
||||||
Password: cfg.Password,
|
Password: cfg.Pass,
|
||||||
}
|
}
|
||||||
cluster.Port = cfg.Port
|
cluster.Port = cfg.Port
|
||||||
|
|
||||||
|
@ -8,17 +8,17 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|-----------------------------------|-----------------------------------------------------------|------------------------|
|
|----------------------------------|----------------------------------------------------------|------------------------|
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_INFLUX_WRITER_LOG_LEVEL | Log level for InfluxDB writer (debug, info, warn, error) | error |
|
| MF_INFLUX_WRITER_LOG_LEVEL | Log level for InfluxDB writer (debug, info, warn, error) | error |
|
||||||
| MF_INFLUX_WRITER_PORT | Service HTTP port | 8180 |
|
| MF_INFLUX_WRITER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_INFLUX_WRITER_DB_NAME | InfluxDB database name | mainflux |
|
| MF_INFLUX_WRITER_DB_HOST | InfluxDB host | localhost |
|
||||||
| MF_INFLUX_WRITER_DB_HOST | InfluxDB host | localhost |
|
| MF_INFLUX_WRITER_DB_PORT | Default port of InfluxDB database | 8086 |
|
||||||
| MF_INFLUX_WRITER_DB_PORT | Default port of InfluxDB database | 8086 |
|
| MF_INFLUX_WRITER_DB_USER | Default user of InfluxDB database | mainflux |
|
||||||
| MF_INFLUX_WRITER_DB_USER | Default user of InfluxDB database | mainflux |
|
| MF_INFLUX_WRITER_DB_PASS | Default password of InfluxDB user | mainflux |
|
||||||
| MF_INFLUX_WRITER_DB_PASS | Default password of InfluxDB user | mainflux |
|
| MF_INFLUX_WRITER_DB | InfluxDB database name | messages |
|
||||||
| MF_INFLUX_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
| MF_INFLUX_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ default values.
|
|||||||
MF_NATS_URL: [NATS instance URL]
|
MF_NATS_URL: [NATS instance URL]
|
||||||
MF_INFLUX_WRITER_LOG_LEVEL: [Influx writer log level]
|
MF_INFLUX_WRITER_LOG_LEVEL: [Influx writer log level]
|
||||||
MF_INFLUX_WRITER_PORT: [Service HTTP port]
|
MF_INFLUX_WRITER_PORT: [Service HTTP port]
|
||||||
MF_INFLUX_WRITER_DB_NAME: [InfluxDB name]
|
MF_INFLUX_WRITER_DB: [InfluxDB name]
|
||||||
MF_INFLUX_WRITER_DB_HOST: [InfluxDB host]
|
MF_INFLUX_WRITER_DB_HOST: [InfluxDB host]
|
||||||
MF_INFLUX_WRITER_DB_PORT: [InfluxDB port]
|
MF_INFLUX_WRITER_DB_PORT: [InfluxDB port]
|
||||||
MF_INFLUX_WRITER_DB_USER: [InfluxDB admin user]
|
MF_INFLUX_WRITER_DB_USER: [InfluxDB admin user]
|
||||||
@ -61,7 +61,7 @@ make influxdb
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_NATS_URL=[NATS instance URL] MF_INFLUX_WRITER_LOG_LEVEL=[Influx writer log level] MF_INFLUX_WRITER_PORT=[Service HTTP port] MF_INFLUX_WRITER_DB_NAME=[InfluxDB database name] MF_INFLUX_WRITER_DB_HOST=[InfluxDB database host] MF_INFLUX_WRITER_DB_PORT=[InfluxDB database port] MF_INFLUX_WRITER_DB_USER=[InfluxDB admin user] MF_INFLUX_WRITER_DB_PASS=[InfluxDB admin password] MF_INFLUX_WRITER_SUBJECTS_CONFIG=[Configuration file path with subjects list] $GOBIN/mainflux-influxdb
|
MF_NATS_URL=[NATS instance URL] MF_INFLUX_WRITER_LOG_LEVEL=[Influx writer log level] MF_INFLUX_WRITER_PORT=[Service HTTP port] MF_INFLUX_WRITER_DB=[InfluxDB database name] MF_INFLUX_WRITER_DB_HOST=[InfluxDB database host] MF_INFLUX_WRITER_DB_PORT=[InfluxDB database port] MF_INFLUX_WRITER_DB_USER=[InfluxDB admin user] MF_INFLUX_WRITER_DB_PASS=[InfluxDB admin password] MF_INFLUX_WRITER_SUBJECTS_CONFIG=[Configuration file path with subjects list] $GOBIN/mainflux-influxdb
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using docker-compose
|
### Using docker-compose
|
||||||
|
@ -8,15 +8,15 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|----------------------------------|---------------------------------------------|------------------------|
|
|---------------------------------|--------------------------------------------|------------------------|
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_MONGO_WRITER_LOG_LEVEL | Log level for MongoDB writer | error |
|
| MF_MONGO_WRITER_LOG_LEVEL | Log level for MongoDB writer | error |
|
||||||
| MF_MONGO_WRITER_PORT | Service HTTP port | 8180 |
|
| MF_MONGO_WRITER_PORT | Service HTTP port | 8180 |
|
||||||
| MF_MONGO_WRITER_DB_NAME | Default MongoDB database name | mainflux |
|
| MF_MONGO_WRITER_DB | Default MongoDB database name | messages |
|
||||||
| MF_MONGO_WRITER_DB_HOST | Default MongoDB database host | localhost |
|
| MF_MONGO_WRITER_DB_HOST | Default MongoDB database host | localhost |
|
||||||
| MF_MONGO_WRITER_DB_PORT | Default MongoDB database port | 27017 |
|
| MF_MONGO_WRITER_DB_PORT | Default MongoDB database port | 27017 |
|
||||||
| MF_MONGO_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
| MF_MONGO_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ default values.
|
|||||||
MF_NATS_URL: [NATS instance URL]
|
MF_NATS_URL: [NATS instance URL]
|
||||||
MF_MONGO_WRITER_LOG_LEVEL: [MongoDB writer log level]
|
MF_MONGO_WRITER_LOG_LEVEL: [MongoDB writer log level]
|
||||||
MF_MONGO_WRITER_PORT: [Service HTTP port]
|
MF_MONGO_WRITER_PORT: [Service HTTP port]
|
||||||
MF_MONGO_WRITER_DB_NAME: [MongoDB name]
|
MF_MONGO_WRITER_DB: [MongoDB name]
|
||||||
MF_MONGO_WRITER_DB_HOST: [MongoDB host]
|
MF_MONGO_WRITER_DB_HOST: [MongoDB host]
|
||||||
MF_MONGO_WRITER_DB_PORT: [MongoDB port]
|
MF_MONGO_WRITER_DB_PORT: [MongoDB port]
|
||||||
MF_MONGO_WRITER_SUBJETCS_CONFIG: [Configuration file path with subjects list]
|
MF_MONGO_WRITER_SUBJETCS_CONFIG: [Configuration file path with subjects list]
|
||||||
@ -60,7 +60,7 @@ make mongodb-writer
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_NATS_URL=[NATS instance URL] MF_MONGO_WRITER_LOG_LEVEL=[MongoDB writer log level] MF_MONGO_WRITER_PORT=[Service HTTP port] MF_MONGO_WRITER_DB_NAME=[MongoDB database name] MF_MONGO_WRITER_DB_HOST=[MongoDB database host] MF_MONGO_WRITER_DB_PORT=[MongoDB database port] MF_MONGO_WRITER_SUBJETCS_CONFIG=[Configuration file path with subjetcs list] $GOBIN/mainflux-mongodb-writer
|
MF_NATS_URL=[NATS instance URL] MF_MONGO_WRITER_LOG_LEVEL=[MongoDB writer log level] MF_MONGO_WRITER_PORT=[Service HTTP port] MF_MONGO_WRITER_DB=[MongoDB database name] MF_MONGO_WRITER_DB_HOST=[MongoDB database host] MF_MONGO_WRITER_DB_PORT=[MongoDB database port] MF_MONGO_WRITER_SUBJETCS_CONFIG=[Configuration file path with subjetcs list] $GOBIN/mainflux-mongodb-writer
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -8,21 +8,21 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|--------------------------------------|---------------------------------------------|------------------------|
|
|-------------------------------------|---------------------------------------------|------------------------|
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_POSTGRES_WRITER_LOG_LEVEL | Service log level | error |
|
| MF_POSTGRES_WRITER_LOG_LEVEL | Service log level | error |
|
||||||
| MF_POSTGRES_WRITER_PORT | Service HTTP port | 9104 |
|
| MF_POSTGRES_WRITER_PORT | Service HTTP port | 9104 |
|
||||||
| MF_POSTGRES_WRITER_DB_HOST | Postgres DB host | postgres |
|
| MF_POSTGRES_WRITER_DB_HOST | Postgres DB host | postgres |
|
||||||
| MF_POSTGRES_WRITER_DB_PORT | Postgres DB port | 5432 |
|
| MF_POSTGRES_WRITER_DB_PORT | Postgres DB port | 5432 |
|
||||||
| MF_POSTGRES_WRITER_DB_USER | Postgres user | mainflux |
|
| MF_POSTGRES_WRITER_DB_USER | Postgres user | mainflux |
|
||||||
| MF_POSTGRES_WRITER_DB_PASS | Postgres password | mainflux |
|
| MF_POSTGRES_WRITER_DB_PASS | Postgres password | mainflux |
|
||||||
| MF_POSTGRES_WRITER_DB_NAME | Postgres database name | messages |
|
| MF_POSTGRES_WRITER_DB | Postgres database name | messages |
|
||||||
| MF_POSTGRES_WRITER_DB_SSL_MODE | Postgres SSL mode | disabled |
|
| MF_POSTGRES_WRITER_DB_SSL_MODE | Postgres SSL mode | disabled |
|
||||||
| MF_POSTGRES_WRITER_DB_SSL_CERT | Postgres SSL certificate path | "" |
|
| MF_POSTGRES_WRITER_DB_SSL_CERT | Postgres SSL certificate path | "" |
|
||||||
| MF_POSTGRES_WRITER_DB_SSL_KEY | Postgres SSL key | "" |
|
| MF_POSTGRES_WRITER_DB_SSL_KEY | Postgres SSL key | "" |
|
||||||
| MF_POSTGRES_WRITER_DB_SSL_ROOT_CERT | Postgres SSL root certificate path | "" |
|
| MF_POSTGRES_WRITER_DB_SSL_ROOT_CERT | Postgres SSL root certificate path | "" |
|
||||||
| MF_POSTGRES_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
| MF_POSTGRES_WRITER_SUBJECTS_CONFIG | Configuration file path with subjects list | /config/subjects.toml |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ default values.
|
|||||||
MF_POSTGRES_WRITER_DB_PORT: [Postgres port]
|
MF_POSTGRES_WRITER_DB_PORT: [Postgres port]
|
||||||
MF_POSTGRES_WRITER_DB_USER: [Postgres user]
|
MF_POSTGRES_WRITER_DB_USER: [Postgres user]
|
||||||
MF_POSTGRES_WRITER_DB_PASS: [Postgres password]
|
MF_POSTGRES_WRITER_DB_PASS: [Postgres password]
|
||||||
MF_POSTGRES_WRITER_DB_NAME: [Postgres database name]
|
MF_POSTGRES_WRITER_DB: [Postgres database name]
|
||||||
MF_POSTGRES_WRITER_DB_SSL_MODE: [Postgres SSL mode]
|
MF_POSTGRES_WRITER_DB_SSL_MODE: [Postgres SSL mode]
|
||||||
MF_POSTGRES_WRITER_DB_SSL_CERT: [Postgres SSL cert]
|
MF_POSTGRES_WRITER_DB_SSL_CERT: [Postgres SSL cert]
|
||||||
MF_POSTGRES_WRITER_DB_SSL_KEY: [Postgres SSL key]
|
MF_POSTGRES_WRITER_DB_SSL_KEY: [Postgres SSL key]
|
||||||
@ -72,7 +72,20 @@ make postgres-writer
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# Set the environment variables and run the service
|
# Set the environment variables and run the service
|
||||||
MF_NATS_URL=[NATS instance URL] MF_POSTGRES_WRITER_LOG_LEVEL=[Service log level] MF_POSTGRES_WRITER_PORT=[Service HTTP port] MF_POSTGRES_WRITER_DB_HOST=[Postgres host] MF_POSTGRES_WRITER_DB_PORT=[Postgres port] MF_POSTGRES_WRITER_DB_USER=[Postgres user] MF_POSTGRES_WRITER_DB_PASS=[Postgres password] MF_POSTGRES_WRITER_DB_NAME=[Postgres database name] MF_POSTGRES_WRITER_DB_SSL_MODE=[Postgres SSL mode] MF_POSTGRES_WRITER_DB_SSL_CERT=[Postgres SSL cert] MF_POSTGRES_WRITER_DB_SSL_KEY=[Postgres SSL key] MF_POSTGRES_WRITER_DB_SSL_ROOT_CERT=[Postgres SSL Root cert] MF_POSTGRES_WRITER_SUBJECTS_CONFIG=[Configuration file path with subjects list] $GOBIN/mainflux-postgres-writer
|
MF_NATS_URL=[NATS instance URL] \
|
||||||
|
MF_POSTGRES_WRITER_LOG_LEVEL=[Service log level] \
|
||||||
|
MF_POSTGRES_WRITER_PORT=[Service HTTP port] \
|
||||||
|
MF_POSTGRES_WRITER_DB_HOST=[Postgres host] \
|
||||||
|
MF_POSTGRES_WRITER_DB_PORT=[Postgres port] \
|
||||||
|
MF_POSTGRES_WRITER_DB_USER=[Postgres user] \
|
||||||
|
MF_POSTGRES_WRITER_DB_PASS=[Postgres password] \
|
||||||
|
MF_POSTGRES_WRITER_DB=[Postgres database name] \
|
||||||
|
MF_POSTGRES_WRITER_DB_SSL_MODE=[Postgres SSL mode] \
|
||||||
|
MF_POSTGRES_WRITER_DB_SSL_CERT=[Postgres SSL cert] \
|
||||||
|
MF_POSTGRES_WRITER_DB_SSL_KEY=[Postgres SSL key] \
|
||||||
|
MF_POSTGRES_WRITER_DB_SSL_ROOT_CERT=[Postgres SSL Root cert] \
|
||||||
|
MF_POSTGRES_WRITER_SUBJECTS_CONFIG=[Configuration file path with subjects list] \
|
||||||
|
$GOBIN/mainflux-postgres-writer
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
34
ws/README.md
34
ws/README.md
@ -8,16 +8,16 @@ The service is configured using the environment variables presented in the
|
|||||||
following table. Note that any unset variables will be replaced with their
|
following table. Note that any unset variables will be replaced with their
|
||||||
default values.
|
default values.
|
||||||
|
|
||||||
| Variable | Description | Default |
|
| Variable | Description | Default |
|
||||||
|------------------------------|------------------------------------------------|-----------------------|
|
|------------------------------|-----------------------------------------------------|-----------------------|
|
||||||
| MF_WS_ADAPTER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
| MF_WS_ADAPTER_CLIENT_TLS | Flag that indicates if TLS should be turned on | false |
|
||||||
| MF_WS_ADAPTER_CA_CERTS | Path to trusted CAs in PEM format | |
|
| MF_WS_ADAPTER_CA_CERTS | Path to trusted CAs in PEM format | |
|
||||||
| MF_WS_ADAPTER_LOG_LEVEL | Log level for the WS Adapter | error |
|
| MF_WS_ADAPTER_LOG_LEVEL | Log level for the WS Adapter | error |
|
||||||
| MF_WS_ADAPTER_PORT | Service WS port | 8180 |
|
| MF_WS_ADAPTER_PORT | Service WS port | 8180 |
|
||||||
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
| MF_NATS_URL | NATS instance URL | nats://localhost:4222 |
|
||||||
| MF_THINGS_URL | Things service URL | localhost:8181 |
|
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
||||||
| MF_JAEGER_URL | Jaeger server URL | localhost:6831 |
|
| MF_THINGS_AUTH_GRPC_URL | Things service Auth gRPC URL | localhost:8181 |
|
||||||
| MF_WS_ADAPTER_THINGS_TIMEOUT | Things gRPC request timeout in seconds | 1 |
|
| MF_THINGS_AUTH_GRPC_TIMEOUT | Things service Auth gRPC request timeout in seconds | 1 |
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
@ -33,14 +33,14 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- [host machine port]:[configured port]
|
- [host machine port]:[configured port]
|
||||||
environment:
|
environment:
|
||||||
MF_THINGS_URL: [Things service URL]
|
|
||||||
MF_NATS_URL: [NATS instance URL]
|
MF_NATS_URL: [NATS instance URL]
|
||||||
MF_WS_ADAPTER_PORT: [Service WS port]
|
MF_WS_ADAPTER_PORT: [Service WS port]
|
||||||
MF_WS_ADAPTER_LOG_LEVEL: [WS adapter log level]
|
MF_WS_ADAPTER_LOG_LEVEL: [WS adapter log level]
|
||||||
MF_WS_ADAPTER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
MF_WS_ADAPTER_CLIENT_TLS: [Flag that indicates if TLS should be turned on]
|
||||||
MF_WS_ADAPTER_CA_CERTS: [Path to trusted CAs in PEM format]
|
MF_WS_ADAPTER_CA_CERTS: [Path to trusted CAs in PEM format]
|
||||||
MF_JAEGER_URL: [Jaeger server URL]
|
MF_JAEGER_URL: [Jaeger server URL]
|
||||||
MF_WS_ADAPTER_THINGS_TIMEOUT: [Things gRPC request timeout in seconds]
|
MF_THINGS_AUTH_GRPC_URL: [Things service Auth gRPC URL]
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT: [Things service Auth gRPC request timeout in seconds]
|
||||||
```
|
```
|
||||||
|
|
||||||
To start the service outside of the container, execute the following shell script:
|
To start the service outside of the container, execute the following shell script:
|
||||||
@ -58,7 +58,15 @@ make ws
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
# set the environment variables and run the service
|
# set the environment variables and run the service
|
||||||
MF_THINGS_URL=[Things service URL] MF_NATS_URL=[NATS instance URL] MF_WS_ADAPTER_PORT=[Service WS port] MF_WS_ADAPTER_LOG_LEVEL=[WS adapter log level] MF_WS_ADAPTER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] MF_WS_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] MF_JAEGER_URL=[Jaeger server URL] MF_WS_ADAPTER_THINGS_TIMEOUT=[Things gRPC request timeout in seconds] $GOBIN/mainflux-ws
|
MF_NATS_URL=[NATS instance URL] \
|
||||||
|
MF_WS_ADAPTER_PORT=[Service WS port] \
|
||||||
|
MF_WS_ADAPTER_LOG_LEVEL=[WS adapter log level] \
|
||||||
|
MF_WS_ADAPTER_CLIENT_TLS=[Flag that indicates if TLS should be turned on] \
|
||||||
|
MF_WS_ADAPTER_CA_CERTS=[Path to trusted CAs in PEM format] \
|
||||||
|
MF_JAEGER_URL=[Jaeger server URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_URL=[Things service Auth gRPC URL] \
|
||||||
|
MF_THINGS_AUTH_GRPC_TIMEOUT=[Things service Auth gRPC request timeout in seconds] \
|
||||||
|
$GOBIN/mainflux-ws
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
Loading…
x
Reference in New Issue
Block a user