mirror of
https://github.com/gravitl/netmaker.git
synced 2024-09-20 23:36:18 +08:00
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package mq
|
|
|
|
import "github.com/gravitl/netmaker/servercfg"
|
|
|
|
var emqx Emqx
|
|
|
|
type Emqx interface {
|
|
GetType() servercfg.Emqxdeploy
|
|
CreateEmqxUser(username, password string) error
|
|
CreateEmqxUserforServer() error
|
|
CreateEmqxDefaultAuthenticator() error
|
|
CreateEmqxDefaultAuthorizer() error
|
|
CreateDefaultDenyRule() error
|
|
CreateHostACL(hostID, serverName string) error
|
|
AppendNodeUpdateACL(hostID, nodeNetwork, nodeID, serverName string) error
|
|
GetUserACL(username string) (*aclObject, error)
|
|
DeleteEmqxUser(username string) error
|
|
}
|
|
|
|
func init() {
|
|
if servercfg.GetBrokerType() != servercfg.EmqxBrokerType {
|
|
return
|
|
}
|
|
if servercfg.GetEmqxDeployType() == servercfg.EmqxCloudDeploy {
|
|
emqx = &EmqxCloud{
|
|
URL: servercfg.GetEmqxRestEndpoint(),
|
|
AppID: servercfg.GetEmqxAppID(),
|
|
AppSecret: servercfg.GetEmqxAppSecret(),
|
|
}
|
|
} else {
|
|
emqx = &EmqxOnPrem{
|
|
URL: servercfg.GetEmqxRestEndpoint(),
|
|
UserName: servercfg.GetMqUserName(),
|
|
Password: servercfg.GetMqPassword(),
|
|
}
|
|
}
|
|
}
|
|
|
|
// GetEmqxHandler - gets emqx handler
|
|
func GetEmqxHandler() Emqx {
|
|
return emqx
|
|
}
|