diff --git a/cmd/api/src/daemons/datapipe/agi.go b/cmd/api/src/analysis/agi.go similarity index 99% rename from cmd/api/src/daemons/datapipe/agi.go rename to cmd/api/src/analysis/agi.go index 9ef0ef7e596..eee1b78f212 100644 --- a/cmd/api/src/daemons/datapipe/agi.go +++ b/cmd/api/src/analysis/agi.go @@ -14,7 +14,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package datapipe +package analysis import ( "context" diff --git a/cmd/api/src/daemons/datapipe/agt.go b/cmd/api/src/analysis/agt.go similarity index 99% rename from cmd/api/src/daemons/datapipe/agt.go rename to cmd/api/src/analysis/agt.go index 77ddde116da..599d612fc15 100644 --- a/cmd/api/src/daemons/datapipe/agt.go +++ b/cmd/api/src/analysis/agt.go @@ -14,7 +14,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package datapipe +package analysis import ( "context" diff --git a/cmd/api/src/daemons/datapipe/agt_test.go b/cmd/api/src/analysis/agt_test.go similarity index 99% rename from cmd/api/src/daemons/datapipe/agt_test.go rename to cmd/api/src/analysis/agt_test.go index 7c07572e698..73a78ea9bfe 100644 --- a/cmd/api/src/daemons/datapipe/agt_test.go +++ b/cmd/api/src/analysis/agt_test.go @@ -16,7 +16,7 @@ //go:build integration -package datapipe +package analysis import ( "context" diff --git a/cmd/api/src/daemons/datapipe/analysis.go b/cmd/api/src/analysis/analysis.go similarity index 99% rename from cmd/api/src/daemons/datapipe/analysis.go rename to cmd/api/src/analysis/analysis.go index 405854847ff..085e1d32cc0 100644 --- a/cmd/api/src/daemons/datapipe/analysis.go +++ b/cmd/api/src/analysis/analysis.go @@ -14,7 +14,7 @@ // // SPDX-License-Identifier: Apache-2.0 -package datapipe +package analysis import ( "context" diff --git a/cmd/api/src/api/v2/assetgrouptags.go b/cmd/api/src/api/v2/assetgrouptags.go index fe920d43466..1f98f81bf40 100644 --- a/cmd/api/src/api/v2/assetgrouptags.go +++ b/cmd/api/src/api/v2/assetgrouptags.go @@ -31,10 +31,10 @@ import ( "github.com/gofrs/uuid" "github.com/gorilla/mux" "github.com/lib/pq" + "github.com/specterops/bloodhound/cmd/api/src/analysis" "github.com/specterops/bloodhound/cmd/api/src/api" "github.com/specterops/bloodhound/cmd/api/src/auth" "github.com/specterops/bloodhound/cmd/api/src/ctx" - "github.com/specterops/bloodhound/cmd/api/src/daemons/datapipe" "github.com/specterops/bloodhound/cmd/api/src/database" "github.com/specterops/bloodhound/cmd/api/src/database/types/null" "github.com/specterops/bloodhound/cmd/api/src/model" @@ -1033,7 +1033,7 @@ func (s *Resources) PreviewSelectors(response http.ResponseWriter, request *http } else if expansion, err := validateAssetGroupExpansionMethodWithFallback(body.Expansion); err != nil { api.WriteErrorResponse(request.Context(), api.BuildErrorResponse(http.StatusBadRequest, err.Error(), request), response) } else { - nodes := datapipe.FetchNodesFromSeeds(request.Context(), s.Graph, body.Seeds, expansion, limit) + nodes := analysis.FetchNodesFromSeeds(request.Context(), s.Graph, body.Seeds, expansion, limit) for _, node := range nodes { if node.Node != nil { members = append(members, nodeToAssetGroupMember(node.Node, excludeProperties)) diff --git a/cmd/api/src/daemons/datapipe/pipeline.go b/cmd/api/src/daemons/datapipe/pipeline.go index 5aa8060fcf6..8a72ef404ea 100644 --- a/cmd/api/src/daemons/datapipe/pipeline.go +++ b/cmd/api/src/daemons/datapipe/pipeline.go @@ -22,6 +22,7 @@ import ( "fmt" "log/slog" + "github.com/specterops/bloodhound/cmd/api/src/analysis" "github.com/specterops/bloodhound/cmd/api/src/config" "github.com/specterops/bloodhound/cmd/api/src/daemons/changelog" "github.com/specterops/bloodhound/cmd/api/src/database" @@ -236,10 +237,10 @@ func (s *BHCEPipeline) Analyze(ctx context.Context) error { return fmt.Errorf("update last analysis start time: %v", err) } - if err := RunAnalysisOperations(ctx, s.db, s.graphdb, s.cfg); err != nil { - if errors.Is(err, ErrAnalysisFailed) { + if err := analysis.RunAnalysisOperations(ctx, s.db, s.graphdb, s.cfg); err != nil { + if errors.Is(err, analysis.ErrAnalysisFailed) { s.jobService.FailAnalyzedIngestJobs() - } else if errors.Is(err, ErrAnalysisPartiallyCompleted) { + } else if errors.Is(err, analysis.ErrAnalysisPartiallyCompleted) { s.jobService.PartialCompleteIngestJobs() } return fmt.Errorf("analysis failure: %v", err) diff --git a/packages/go/analysis/ad/esc3.go b/packages/go/analysis/ad/esc3.go index aea508004bf..92664f29243 100644 --- a/packages/go/analysis/ad/esc3.go +++ b/packages/go/analysis/ad/esc3.go @@ -331,11 +331,11 @@ func isStartCertTemplateValidESC3(template *graph.Node) bool { } return false } - + if schemaVersion == 1 { return true } - + if schemaVersion > 1 { authorizedSignatures, err := template.Properties.Get(ad.AuthorizedSignatures.String()).Float64() if err != nil { diff --git a/packages/go/graphify/graph/graph.go b/packages/go/graphify/graph/graph.go index db721083f5c..a460692cb60 100644 --- a/packages/go/graphify/graph/graph.go +++ b/packages/go/graphify/graph/graph.go @@ -28,9 +28,9 @@ import ( "strings" "time" + "github.com/specterops/bloodhound/cmd/api/src/analysis" "github.com/specterops/bloodhound/cmd/api/src/auth" "github.com/specterops/bloodhound/cmd/api/src/config" - "github.com/specterops/bloodhound/cmd/api/src/daemons/datapipe" "github.com/specterops/bloodhound/cmd/api/src/database" "github.com/specterops/bloodhound/cmd/api/src/migrations" "github.com/specterops/bloodhound/cmd/api/src/model" @@ -189,7 +189,7 @@ func (s *CommunityGraphService) Ingest(ctx context.Context, batch *graphify.Inge } func (s *CommunityGraphService) RunAnalysis(ctx context.Context, graphDB graph.Database) error { - return datapipe.RunAnalysisOperations(ctx, s.db, graphDB, config.Configuration{}) + return analysis.RunAnalysisOperations(ctx, s.db, graphDB, config.Configuration{}) } // Run generate command