소스 검색

create emqx creds for host on pull if not found

* create emqx creds for host on pull if not found.
Farukh Khan 1 년 전
부모
커밋
87ab4e74db
1개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 11 0
      controllers/hosts.go

+ 11 - 0
controllers/hosts.go

@@ -122,6 +122,17 @@ func pull(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
+	// Create EMQX creds if not found
+	if servercfg.GetBrokerType() == servercfg.EmqxBrokerType {
+		if err := mq.CreateEmqxUser(hostID, host.HostPass, false); err != nil {
+			slog.Error("failed to create host credentials for EMQX: ", err.Error())
+		} else {
+			if err := mq.CreateHostACL(hostID, servercfg.GetServerInfo().Server); err != nil {
+				slog.Error("failed to add host ACL rules to EMQX: ", err.Error())
+			}
+		}
+	}
+
 	serverConf.TrafficKey = key
 	response := models.HostPull{
 		Host:            *host,