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