@@ -26,6 +26,7 @@ import (
2626 incidents_connectors "github.com/utmstack/utmstack/backend/modules/incidents/connectors"
2727 "github.com/utmstack/utmstack/backend/modules/integrations"
2828 "github.com/utmstack/utmstack/backend/modules/loganalyzer"
29+ mcpmod "github.com/utmstack/utmstack/backend/modules/mcp"
2930 "github.com/utmstack/utmstack/backend/modules/notifications"
3031 notifications_domain "github.com/utmstack/utmstack/backend/modules/notifications/domain"
3132 opensearchgw "github.com/utmstack/utmstack/backend/modules/opensearch"
@@ -68,6 +69,7 @@ type modules struct {
6869 notifications * notifications.Module
6970 socAI * socai.Module
7071 adaudit * adaudit.Module
72+ mcp * mcpmod.Module
7173 signer * jwtpkg.Signer
7274}
7375
@@ -167,8 +169,44 @@ func initModules(db *gorm.DB, cfg *config) *modules {
167169 )
168170 }
169171
172+ iamMod := iam .NewModule (authUsecase , userUsecase , roleUsecase , tfaUsecase , apiKeyUsecase , idpUsecase , samlUsecase , cfg .uploadDir )
173+ socAIMod := socai .NewModule (cfg .socAIBaseURL , cfg .internalKey )
174+ incidentsMod := incidents .NewModule (
175+ db ,
176+ incidents_connectors .NewNoopMailer (),
177+ incidents .NewAlertsGatewayFromUsecase (alertsMod .GetAlertUsecase ()),
178+ incidents .NewIAMGatewayFromRepo (userRepo ),
179+ auditMod .Logger (),
180+ )
181+ adauditMod := adaudit .NewModule (db )
182+
183+ var mcpModule * mcpmod.Module
184+ if cfg .mcpEnabled {
185+ mcpModule = mcpmod .NewModule (& mcpmod.Deps {
186+ IAM : iamMod ,
187+ Alerts : alertsMod ,
188+ Incidents : incidentsMod ,
189+ SOAR : soarMod ,
190+ Compliance : complianceMod ,
191+ Audit : auditMod ,
192+ Dashboards : dashboardsMod ,
193+ LogAnalyzer : loganalyzerMod ,
194+ OpenSearch : opensearchMod ,
195+ EventProcessing : eventProcessingMod ,
196+ Datasources : datasourcesMod ,
197+ Integrations : integrationsMod ,
198+ Notifications : notificationsMod ,
199+ ADAudit : adauditMod ,
200+ SOCAI : socAIMod ,
201+ Billing : billingMod ,
202+ AppConfig : configMod ,
203+ ServerName : cfg .serverName ,
204+ ServerVersion : cfg .mcpVersion ,
205+ })
206+ }
207+
170208 return & modules {
171- iam : iam . NewModule ( authUsecase , userUsecase , roleUsecase , tfaUsecase , apiKeyUsecase , idpUsecase , samlUsecase , cfg . uploadDir ) ,
209+ iam : iamMod ,
172210 audit : auditMod ,
173211 appconfig : configMod ,
174212 billing : billingMod ,
@@ -182,16 +220,11 @@ func initModules(db *gorm.DB, cfg *config) *modules {
182220 eventProcessing : eventProcessingMod ,
183221 opensearchGateway : opensearchMod ,
184222 integrations : integrationsMod ,
185- socAI : socai .NewModule (cfg .socAIBaseURL , cfg .internalKey ),
186- incidents : incidents .NewModule (
187- db ,
188- incidents_connectors .NewNoopMailer (),
189- incidents .NewAlertsGatewayFromUsecase (alertsMod .GetAlertUsecase ()),
190- incidents .NewIAMGatewayFromRepo (userRepo ),
191- auditMod .Logger (),
192- ),
193- notifications : notificationsMod ,
194- adaudit : adaudit .NewModule (db ),
195- signer : signer ,
223+ socAI : socAIMod ,
224+ incidents : incidentsMod ,
225+ notifications : notificationsMod ,
226+ adaudit : adauditMod ,
227+ mcp : mcpModule ,
228+ signer : signer ,
196229 }
197230}
0 commit comments