emqx.go 919 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package mq
  2. import "github.com/gravitl/netmaker/servercfg"
  3. var emqx Emqx
  4. type Emqx interface {
  5. GetType() servercfg.Emqxdeploy
  6. CreateEmqxUser(username, password string) error
  7. CreateEmqxUserforServer() error
  8. CreateEmqxDefaultAuthenticator() error
  9. CreateEmqxDefaultAuthorizer() error
  10. CreateDefaultAllowRule() error
  11. DeleteEmqxUser(username string) error
  12. }
  13. func init() {
  14. if servercfg.GetBrokerType() != servercfg.EmqxBrokerType {
  15. return
  16. }
  17. if servercfg.GetEmqxDeployType() == servercfg.EmqxCloudDeploy {
  18. emqx = &EmqxCloud{
  19. URL: servercfg.GetEmqxRestEndpoint(),
  20. AppID: servercfg.GetEmqxAppID(),
  21. AppSecret: servercfg.GetEmqxAppSecret(),
  22. }
  23. } else {
  24. emqx = &EmqxOnPrem{
  25. URL: servercfg.GetEmqxRestEndpoint(),
  26. UserName: servercfg.GetMqUserName(),
  27. Password: servercfg.GetMqPassword(),
  28. }
  29. }
  30. }
  31. // GetEmqxHandler - gets emqx handler
  32. func GetEmqxHandler() Emqx {
  33. return emqx
  34. }