feat: connect demo scanner to real SENTINEL engines via /api/v1/scan endpoint

This commit is contained in:
DmitrL-dev 2026-03-23 20:25:30 +10:00
parent 4a0f17873a
commit b958ed07bd
3 changed files with 65 additions and 0 deletions

View file

@ -23,6 +23,7 @@ import (
"github.com/syntrex/gomcp/internal/application/soc"
socdomain "github.com/syntrex/gomcp/internal/domain/soc"
"github.com/syntrex/gomcp/internal/domain/engines"
"github.com/syntrex/gomcp/internal/infrastructure/audit"
"github.com/syntrex/gomcp/internal/infrastructure/email"
"github.com/syntrex/gomcp/internal/infrastructure/logging"
@ -147,6 +148,16 @@ func main() {
logger.Warn("email service: RESEND_API_KEY not set — verification codes shown in API response (dev mode)")
}
// Sentinel Core — Rust-native detection engine (§3)
sentinelCore, coreErr := engines.NewNativeSentinelCore()
if coreErr != nil {
logger.Warn("sentinel-core: Rust engine not available, using stub", "error", coreErr)
srv.SetSentinelCore(engines.NewStubSentinelCore())
} else {
srv.SetSentinelCore(sentinelCore)
logger.Info("sentinel-core: Rust engine initialized", "version", sentinelCore.Version())
}
// OpenTelemetry tracing (§P4B) — enabled when OTEL_EXPORTER_OTLP_ENDPOINT is set
otelEndpoint := env("OTEL_EXPORTER_OTLP_ENDPOINT", "")
tp, otelErr := tracing.InitTracer(context.Background(), otelEndpoint)