mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-24 13:48:49 +08:00

* Initial Commit: Sync Env Veriables With Docker Deployment Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Sync Env Vars With Master Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Remove Altprefix Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Rename HttpPort to HTTPPort Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Fix envPrefixDB After Rebase Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Remove Server Parse Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Add Provision For TLS on CoAP Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Fix Exit After Defer Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Remove Unused Function Signed-off-by: rodneyosodo <blackd0t@protonmail.com> * Document Undocumentated Env Variables Signed-off-by: rodneyosodo <blackd0t@protonmail.com> --------- Signed-off-by: rodneyosodo <blackd0t@protonmail.com> Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
32 lines
1003 B
Go
32 lines
1003 B
Go
// Copyright (c) Mainflux
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package things
|
|
|
|
import (
|
|
grpcClient "github.com/mainflux/mainflux/internal/clients/grpc"
|
|
"github.com/mainflux/mainflux/internal/env"
|
|
"github.com/mainflux/mainflux/pkg/errors"
|
|
"github.com/mainflux/mainflux/things/policies"
|
|
thingsapi "github.com/mainflux/mainflux/things/policies/api/grpc"
|
|
)
|
|
|
|
const envThingsAuthGrpcPrefix = "MF_THINGS_AUTH_GRPC_"
|
|
|
|
var errGrpcConfig = errors.New("failed to load grpc configuration")
|
|
|
|
// Setup loads Things gRPC configuration from environment variable and creates new Things gRPC API.
|
|
func Setup() (policies.AuthServiceClient, grpcClient.ClientHandler, error) {
|
|
config := grpcClient.Config{}
|
|
if err := env.Parse(&config, env.Options{Prefix: envThingsAuthGrpcPrefix}); err != nil {
|
|
return nil, nil, errors.Wrap(errGrpcConfig, err)
|
|
}
|
|
|
|
c, ch, err := grpcClient.Setup(config, "things")
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
return thingsapi.NewClient(c.ClientConn, config.Timeout), ch, nil
|
|
}
|