44	"context" 
55	"encoding/json" 
66	"io" 
7+ 	"maps" 
78	"net/http" 
89	"strings" 
910	"sync" 
@@ -87,7 +88,17 @@ func (s *SDTargetsMiddleware) handleGetAll(w http.ResponseWriter, r *http.Reques
8788	res  :=  []HttpSD {}
8889	targets , _  :=  s .SDTargets .Scan (s .Context , s .Client )
8990	for  _ , target  :=  range  targets .Items  {
90- 		res  =  append (res , HttpSD {target .Targets , target .Labels })
91+ 		if  len (target .Modules ) >  0  {
92+ 			for  _ , module  :=  range  target .Modules  {
93+ 				additionalLabels  :=  map [string ]string {
94+ 					"__meta_inventor_sd_module" : module ,
95+ 				}
96+ 				maps .Copy (additionalLabels , target .Labels )
97+ 				res  =  append (res , HttpSD {target .Targets , additionalLabels })
98+ 			}
99+ 		} else  {
100+ 			res  =  append (res , HttpSD {target .Targets , target .Labels })
101+ 		}
91102	}
92103	err  :=  json .NewEncoder (w ).Encode (res )
93104	if  err  !=  nil  {
@@ -107,7 +118,17 @@ func (s *SDTargetsMiddleware) handleGetByGroupName(w http.ResponseWriter, r *htt
107118	targets , _  :=  s .SDTargets .Scan (s .Context , s .Client )
108119	for  _ , target  :=  range  targets .Items  {
109120		if  target .Group  ==  grp  {
110- 			res  =  append (res , HttpSD {target .Targets , target .Labels })
121+ 			if  len (target .Modules ) >  0  {
122+ 				for  _ , module  :=  range  target .Modules  {
123+ 					additionalLabels  :=  map [string ]string {
124+ 						"__meta_inventor_sd_module" : module ,
125+ 					}
126+ 					maps .Copy (additionalLabels , target .Labels )
127+ 					res  =  append (res , HttpSD {target .Targets , additionalLabels })
128+ 				}
129+ 			} else  {
130+ 				res  =  append (res , HttpSD {target .Targets , target .Labels })
131+ 			}
111132		}
112133	}
113134	err  :=  json .NewEncoder (w ).Encode (res )
0 commit comments