diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51b7afe3..e1eb93f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,7 +60,7 @@ jobs: run: go install github.com/swaggo/swag/cmd/swag@latest timeout-minutes: 12 - name: Start docker containers for test - run: docker compose -f "docker/testing/httpbin-test/docker-compose.yml" up -d --build + run: docker compose -f "deployments/docker/testing/httpbin-test/docker-compose.yml" up -d --build - name: Run tests run: | sudo apt update diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ba08f10..b3b970cf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -109,7 +109,6 @@ jobs: run: | go install github.com/swaggo/swag/cmd/swag@latest go install github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@latest - swag init -o swaggerdocs make sbom zip -r bin/sbom.zip bin diff --git a/.gitignore b/.gitignore index beb1c0d2..9ad706a5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ plugins/* build/* !build/build.md bin/* -swaggerdocs/* +api/* **.env test/cacao/flatfile-db-example.json diff --git a/README.md b/README.md index e0b6f760..792e29f4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- + [![https://cossas-project.org/portfolio/SOARCA/](https://img.shields.io/badge/website-cossas--project.org-orange)](https://cossas-project.org/portfolio/SOARCA/) diff --git a/img/kroki-settings.png b/assets/kroki-settings.png similarity index 100% rename from img/kroki-settings.png rename to assets/kroki-settings.png diff --git a/img/kroki.png b/assets/kroki.png similarity index 100% rename from img/kroki.png rename to assets/kroki.png diff --git a/img/soarca-functional-design.drawio b/assets/soarca-functional-design.drawio similarity index 100% rename from img/soarca-functional-design.drawio rename to assets/soarca-functional-design.drawio diff --git a/img/soarca-functional-design.jpg b/assets/soarca-functional-design.jpg similarity index 100% rename from img/soarca-functional-design.jpg rename to assets/soarca-functional-design.jpg diff --git a/img/soarca-logo.svg b/assets/soarca-logo.svg similarity index 100% rename from img/soarca-logo.svg rename to assets/soarca-logo.svg diff --git a/main.go b/cmd/soarca/main.go similarity index 77% rename from main.go rename to cmd/soarca/main.go index 21903c21..fbb24813 100644 --- a/main.go +++ b/cmd/soarca/main.go @@ -3,11 +3,11 @@ package main import ( "fmt" + api "soarca/api" "soarca/internal/controller" - "soarca/logger" - "soarca/routes/status" - "soarca/swaggerdocs" - "soarca/utils" + "soarca/internal/logger" + "soarca/pkg/api/status" + "soarca/pkg/utils" "github.com/joho/godotenv" ) @@ -36,25 +36,25 @@ const banner = ` ` -// @title SOARCA API -// @version 1.0.0 +// @title SOARCA API +// @version 1.0.0 func main() { fmt.Print(banner) log.Info("Version: ", Version) log.Info("Buildtime: ", Buildtime) - errenv := godotenv.Load(".env") - if errenv != nil { + err := godotenv.Load(".env") + if err != nil { log.Warning("Failed to read env variable, but will continue") } Host = "localhost:" + utils.GetEnv("PORT", "8080") - swaggerdocs.SwaggerInfo.Host = Host + api.SwaggerInfo.Host = Host // Version is only available here status.SetVersion(Version) - errinit := controller.Initialize() - if errinit != nil { - log.Fatal("Something Went wrong with setting-up the app, msg: ", errinit) - panic(errinit) + err = controller.Initialize() + if err != nil { + log.Fatal("Something Went wrong with setting-up the app, msg: ", err) + panic(err) } } diff --git a/docker/mongodb/debug.env b/deployments/docker/mongodb/debug.env similarity index 100% rename from docker/mongodb/debug.env rename to deployments/docker/mongodb/debug.env diff --git a/docker/mongodb/docker-compose.yml b/deployments/docker/mongodb/docker-compose.yml similarity index 100% rename from docker/mongodb/docker-compose.yml rename to deployments/docker/mongodb/docker-compose.yml diff --git a/docker/mongodb/readme.md b/deployments/docker/mongodb/readme.md similarity index 100% rename from docker/mongodb/readme.md rename to deployments/docker/mongodb/readme.md diff --git a/docker/mqtt/config/mosquitto.conf b/deployments/docker/mqtt/config/mosquitto.conf similarity index 100% rename from docker/mqtt/config/mosquitto.conf rename to deployments/docker/mqtt/config/mosquitto.conf diff --git a/docker/mqtt/data/.gitkeep b/deployments/docker/mqtt/data/.gitkeep similarity index 100% rename from docker/mqtt/data/.gitkeep rename to deployments/docker/mqtt/data/.gitkeep diff --git a/docker/mqtt/docker-compose.yml b/deployments/docker/mqtt/docker-compose.yml similarity index 100% rename from docker/mqtt/docker-compose.yml rename to deployments/docker/mqtt/docker-compose.yml diff --git a/docker/mqtt/log/.gitkeep b/deployments/docker/mqtt/log/.gitkeep similarity index 100% rename from docker/mqtt/log/.gitkeep rename to deployments/docker/mqtt/log/.gitkeep diff --git a/docker/soarca/config/mosquitto.conf b/deployments/docker/soarca/config/mosquitto.conf similarity index 100% rename from docker/soarca/config/mosquitto.conf rename to deployments/docker/soarca/config/mosquitto.conf diff --git a/docker/soarca/data/.gitkeep b/deployments/docker/soarca/data/.gitkeep similarity index 100% rename from docker/soarca/data/.gitkeep rename to deployments/docker/soarca/data/.gitkeep diff --git a/docker/soarca/docker-compose.yml b/deployments/docker/soarca/docker-compose.yml similarity index 100% rename from docker/soarca/docker-compose.yml rename to deployments/docker/soarca/docker-compose.yml diff --git a/docker/soarca/log/.gitkeep b/deployments/docker/soarca/log/.gitkeep similarity index 100% rename from docker/soarca/log/.gitkeep rename to deployments/docker/soarca/log/.gitkeep diff --git a/docker/testing/httpbin-test/docker-compose.yml b/deployments/docker/testing/httpbin-test/docker-compose.yml similarity index 100% rename from docker/testing/httpbin-test/docker-compose.yml rename to deployments/docker/testing/httpbin-test/docker-compose.yml diff --git a/docs/content/en/docs/core-components/soarca-application-design.md b/docs/content/en/docs/core-components/soarca-application-design.md index 4b0a3298..19ae0855 100644 --- a/docs/content/en/docs/core-components/soarca-application-design.md +++ b/docs/content/en/docs/core-components/soarca-application-design.md @@ -26,42 +26,61 @@ set separator :: protocol /playbook #lightgreen protocol /trigger #lightgreen +protocol /status #lightgreen +protocol /reporter #lightgreen protocol /step #red protocol /trusted/variables #red -protocol /status #red -class controller #lightgreen -class database #lightgreen -class log #lightgreen +class internal::controller #lightgreen +class internal::database #lightgreen +class internal::logger #lightgreen class core::decomposer #lightgreen class core::executor #lightgreen -class endpoints::playbook #lightgreen -class endpoints::trigger #lightgreen -class core::modules::http #lightgreen -class core::modules::ssh #lightgreen -class core::modules::openC2 #orange -class core::modules::fin #orange +class api::playbook #lightgreen +class api::trigger #lightgreen +class core::capability::http #lightgreen +class core::capability::ssh #lightgreen +class core::capability::openC2 #lightgreen +class core::capability::fin #lightgreen +class core::capability::powershell #lightgreen +class api::status #lightgreen +class api::reporter #lightgreen -class endpoints::step #red -class endpoints::variables #red -class endpoints::status #red +class api::step #red +class api::variables #red +class api::reporter #lightgreen -"/step" *-- endpoints::step -"/playbook" *-- endpoints::playbook -"/trigger" *-- endpoints::trigger -"/status" *-- endpoints::status -"/trusted/variables" *-- endpoints::variables +class reporter::cache #orange -endpoints *-down- controller + +"/step" *-- api::step +"/playbook" *-- api::playbook +"/trigger" *-- api::trigger +"/status" *-- api::status +"/reporter" *-- api::reporter +"/trusted/variables" *-- api::variables + +api *-down- controller controller -* database -log *- controller -controller -down-* core::decomposer +logger *- controller +controller -down-* core + +api::reporter -down-> reporter::cache + +reporter::cache <-- core::decomposer +reporter::cache <-- core::executor + +api::playbook --> internal::database +api::trigger --> core::decomposer +api::trigger --> internal::database + core::decomposer -down-> core::executor -core::executor --> core::modules::openC2 -core::executor --> core::modules::fin -core::executor --> core::modules::http -core::executor --> core::modules::ssh +core::executor --> core::capability::openC2 +core::executor --> core::capability::fin +core::executor --> core::capability::http +core::executor --> core::capability::ssh +core::executor --> core::capability::powershell @enduml ``` @@ -108,7 +127,7 @@ ICapability <- Executer ``` ### Controller -The SOARCA controller will create all classed needed by SOARCA. The controller glues the endpoints and decomposer together. Each run will instantiate a new decomposer. +The SOARCA controller will create all classes needed by SOARCA. The controller glues the api and decomposer together. Each run will instantiate a new decomposer. ```plantuml interface IPlaybook{ diff --git a/example/http-playbook.json b/examples/http-playbook.json similarity index 100% rename from example/http-playbook.json rename to examples/http-playbook.json diff --git a/example/openc2-playbook.json b/examples/openc2-playbook.json similarity index 100% rename from example/openc2-playbook.json rename to examples/openc2-playbook.json diff --git a/example/powershell-playbook.json b/examples/powershell-playbook.json similarity index 100% rename from example/powershell-playbook.json rename to examples/powershell-playbook.json diff --git a/example/ssh-playbook.json b/examples/ssh-playbook.json similarity index 100% rename from example/ssh-playbook.json rename to examples/ssh-playbook.json diff --git a/internal/controller/controller.go b/internal/controller/controller.go index b2e1b182..1272d993 100644 --- a/internal/controller/controller.go +++ b/internal/controller/controller.go @@ -8,36 +8,36 @@ import ( "strconv" "strings" - "soarca/internal/capability" - capabilityController "soarca/internal/capability/controller" - finExecutor "soarca/internal/capability/fin" - "soarca/internal/capability/http" - "soarca/internal/capability/openc2" - "soarca/internal/capability/powershell" - "soarca/internal/capability/ssh" - "soarca/internal/decomposer" - "soarca/internal/executors/action" - "soarca/internal/executors/condition" - "soarca/internal/executors/playbook_action" - "soarca/internal/fin/protocol" - "soarca/internal/guid" - "soarca/internal/reporter" - cache "soarca/internal/reporter/downstream_reporter/cache" - "soarca/internal/reporter/downstream_reporter/thehive" - "soarca/logger" - "soarca/utils" - httpUtil "soarca/utils/http" - "soarca/utils/stix/expression/comparison" - timeUtil "soarca/utils/time" - - downstreamReporter "soarca/internal/reporter/downstream_reporter" + "soarca/internal/logger" + "soarca/pkg/core/capability" + capabilityController "soarca/pkg/core/capability/controller" + finExecutor "soarca/pkg/core/capability/fin" + "soarca/pkg/core/capability/fin/protocol" + "soarca/pkg/core/capability/http" + "soarca/pkg/core/capability/openc2" + "soarca/pkg/core/capability/powershell" + "soarca/pkg/core/capability/ssh" + "soarca/pkg/core/decomposer" + "soarca/pkg/core/executors/action" + "soarca/pkg/core/executors/condition" + "soarca/pkg/core/executors/playbook_action" + thehive "soarca/pkg/integration/thehive/reporter" + "soarca/pkg/reporter" + cache "soarca/pkg/reporter/downstream_reporter/cache" + "soarca/pkg/utils" + "soarca/pkg/utils/guid" + httpUtil "soarca/pkg/utils/http" + "soarca/pkg/utils/stix/expression/comparison" + timeUtil "soarca/pkg/utils/time" + + downstreamReporter "soarca/pkg/reporter/downstream_reporter" "github.com/gin-gonic/gin" - "soarca/database/memory" - mongo "soarca/database/mongodb" - playbookrepository "soarca/database/playbook" - "soarca/routes" + "soarca/internal/database/memory" + mongo "soarca/internal/database/mongodb" + playbookrepository "soarca/internal/database/playbook" + routes "soarca/pkg/api" ) var log *logger.Log diff --git a/internal/controller/database/controller_database.go b/internal/controller/database/controller_database.go index 2525bd25..afe04d38 100644 --- a/internal/controller/database/controller_database.go +++ b/internal/controller/database/controller_database.go @@ -1,7 +1,7 @@ package database import ( - playbookrepository "soarca/database/playbook" + playbookrepository "soarca/internal/database/playbook" ) type IController interface { diff --git a/internal/controller/decomposer_controller/controller_decomposer.go b/internal/controller/decomposer_controller/controller_decomposer.go index 4df72b7b..eab7b702 100644 --- a/internal/controller/decomposer_controller/controller_decomposer.go +++ b/internal/controller/decomposer_controller/controller_decomposer.go @@ -1,7 +1,7 @@ package decomposer_controller import ( - "soarca/internal/decomposer" + "soarca/pkg/core/decomposer" ) type IController interface { diff --git a/internal/controller/informer/execution_informer.go b/internal/controller/informer/execution_informer.go index 85d801ff..22848b60 100644 --- a/internal/controller/informer/execution_informer.go +++ b/internal/controller/informer/execution_informer.go @@ -1,7 +1,7 @@ package informer import ( - "soarca/models/cache" + "soarca/pkg/models/cache" "github.com/google/uuid" ) diff --git a/database/database.go b/internal/database/database.go similarity index 100% rename from database/database.go rename to internal/database/database.go diff --git a/database/memory/memory.go b/internal/database/memory/memory.go similarity index 96% rename from database/memory/memory.go rename to internal/database/memory/memory.go index ed4c094b..ef0bddc8 100644 --- a/database/memory/memory.go +++ b/internal/database/memory/memory.go @@ -2,9 +2,9 @@ package memory import ( "errors" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" ) type InMemoryDatabase struct { diff --git a/database/memory/memory_test.go b/internal/database/memory/memory_test.go similarity index 98% rename from database/memory/memory_test.go rename to internal/database/memory/memory_test.go index ee0c7343..380f5dd5 100644 --- a/database/memory/memory_test.go +++ b/internal/database/memory/memory_test.go @@ -6,15 +6,15 @@ import ( "fmt" "io" "os" - "soarca/models/cacao" - "soarca/models/decoder" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" "sort" "testing" "github.com/go-playground/assert/v2" ) -var PB_PATH string = "../../test/playbooks/" +var PB_PATH string = "../../../test/playbooks/" func TestCreate(t *testing.T) { jsonFile, err := os.Open(PB_PATH + "playbook.json") diff --git a/database/mongodb/init.go b/internal/database/mongodb/init.go similarity index 88% rename from database/mongodb/init.go rename to internal/database/mongodb/init.go index dc53deba..e2130fe2 100644 --- a/database/mongodb/init.go +++ b/internal/database/mongodb/init.go @@ -3,7 +3,7 @@ package mongodb import ( "reflect" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/database/mongodb/mongo.go b/internal/database/mongodb/mongo.go similarity index 99% rename from database/mongodb/mongo.go rename to internal/database/mongodb/mongo.go index 6f2f55ef..feecfa3c 100644 --- a/database/mongodb/mongo.go +++ b/internal/database/mongodb/mongo.go @@ -6,8 +6,8 @@ import ( "reflect" "time" - "soarca/database/projections" - cacao "soarca/models/cacao" + "soarca/internal/database/projections" + cacao "soarca/pkg/models/cacao" "go.mongodb.org/mongo-driver/bson" mongo "go.mongodb.org/mongo-driver/mongo" diff --git a/database/playbook/playbook.go b/internal/database/playbook/playbook.go similarity index 96% rename from database/playbook/playbook.go rename to internal/database/playbook/playbook.go index 714b48ab..be6ce99f 100644 --- a/database/playbook/playbook.go +++ b/internal/database/playbook/playbook.go @@ -3,12 +3,12 @@ package playbookrepository import ( "errors" - database "soarca/database" - "soarca/database/projections" + database "soarca/internal/database" + "soarca/internal/database/projections" validator "soarca/internal/validators" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" ) type IPlaybookRepository interface { diff --git a/database/projections/projections.go b/internal/database/projections/projections.go similarity index 100% rename from database/projections/projections.go rename to internal/database/projections/projections.go diff --git a/database/projections/projections_test.go b/internal/database/projections/projections_test.go similarity index 100% rename from database/projections/projections_test.go rename to internal/database/projections/projections_test.go diff --git a/logger/logger.go b/internal/logger/logger.go similarity index 99% rename from logger/logger.go rename to internal/logger/logger.go index 854ebe49..46f2fc37 100644 --- a/logger/logger.go +++ b/internal/logger/logger.go @@ -3,7 +3,7 @@ package logger import ( "fmt" "os" - "soarca/utils" + "soarca/pkg/utils" "strings" logrus "github.com/sirupsen/logrus" diff --git a/makefile b/makefile index a42e7bcb..e702f350 100644 --- a/makefile +++ b/makefile @@ -10,22 +10,19 @@ GOLDFLAGS += -X main.Buildtime=$(BUILDTIME) GOFLAGS = -ldflags "$(GOLDFLAGS)" swagger: - mkdir -p swaggerdocs - swag init -o swaggerdocs + mkdir -p api + swag init -g cmd/soarca/main.go -o api lint: swagger golangci-lint run --timeout 5m -v build: swagger - CGO_ENABLED=0 go build -o ./build/soarca $(GOFLAGS) main.go + CGO_ENABLED=0 go build -o ./build/soarca $(GOFLAGS) ./cmd/soarca/main.go test: swagger - go test ./models/... -v + go test ./pkg/... -v go test ./internal/... -v - go test ./routes/... -v - go test ./logger/... -v - go test ./database/... -v integration-test: swagger go test ./test/integration/... -v @@ -39,19 +36,19 @@ clean: compile: swagger echo "Compiling for every OS and Platform" - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) main.go - CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/${BINARY_NAME}-${VERSION}-darwin-arm64 $(GOFLAGS) main.go - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-windows-amd64 $(GOFLAGS) main.go + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) cmd/soarca/main.go + CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/${BINARY_NAME}-${VERSION}-darwin-arm64 $(GOFLAGS) cmd/soarca/main.go + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-windows-amd64 $(GOFLAGS) cmd/soarca/main.go -sbom: +sbom: swagger echo "Generating SBOMs" mkdir -p bin - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-linux-amd64.bom.json - CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-darwin-amd64.bom.json - CGO_ENABLED=0 GOOS=windows GOARCH=amd64 cyclonedx-gomod app -json -licenses -output bin/${BINARY_NAME}-${VERSION}-windows-amd64.bom.json + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 cyclonedx-gomod app -main cmd/soarca -json -licenses -output bin/${BINARY_NAME}-${VERSION}-linux-amd64.bom.json + CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 cyclonedx-gomod app -main cmd/soarca -json -licenses -output bin/${BINARY_NAME}-${VERSION}-darwin-amd64.bom.json + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 cyclonedx-gomod app -main cmd/soarca -json -licenses -output bin/${BINARY_NAME}-${VERSION}-windows-amd64.bom.json pre-docker-build: swagger - GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) main.go + GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-${VERSION}-linux-amd64 $(GOFLAGS) cmd/soarca/main.go docker: pre-docker-build docker build --no-cache -t soarca:${VERSION} --build-arg="VERSION=${VERSION}" . diff --git a/routes/error/error.go b/pkg/api/error/error.go similarity index 100% rename from routes/error/error.go rename to pkg/api/error/error.go diff --git a/routes/init.go b/pkg/api/init.go similarity index 87% rename from routes/init.go rename to pkg/api/init.go index 49f74bf6..f21d2232 100644 --- a/routes/init.go +++ b/pkg/api/init.go @@ -3,7 +3,7 @@ package routes import ( "reflect" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/routes/playbook/init.go b/pkg/api/playbook/init.go similarity index 87% rename from routes/playbook/init.go rename to pkg/api/playbook/init.go index 9e207f61..e8ea3a9c 100644 --- a/routes/playbook/init.go +++ b/pkg/api/playbook/init.go @@ -3,7 +3,7 @@ package playbook import ( "reflect" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/routes/playbook/playbook_api.go b/pkg/api/playbook/playbook_api.go similarity index 99% rename from routes/playbook/playbook_api.go rename to pkg/api/playbook/playbook_api.go index 8a90d890..c1939418 100644 --- a/routes/playbook/playbook_api.go +++ b/pkg/api/playbook/playbook_api.go @@ -5,8 +5,8 @@ import ( "net/http" "strconv" - playbookrepository "soarca/database/playbook" "soarca/internal/controller/database" + playbookrepository "soarca/internal/database/playbook" "github.com/gin-gonic/gin" ) diff --git a/routes/playbook/playbook_endpoints.go b/pkg/api/playbook/playbook_endpoints.go similarity index 100% rename from routes/playbook/playbook_endpoints.go rename to pkg/api/playbook/playbook_endpoints.go diff --git a/routes/reporter/reporter_api.go b/pkg/api/reporter/reporter_api.go similarity index 97% rename from routes/reporter/reporter_api.go rename to pkg/api/reporter/reporter_api.go index da813909..68596dd6 100644 --- a/routes/reporter/reporter_api.go +++ b/pkg/api/reporter/reporter_api.go @@ -3,15 +3,15 @@ package reporter import ( "net/http" "soarca/internal/controller/informer" - "soarca/models/api" + "soarca/pkg/models/api" "reflect" - "soarca/routes/error" + "soarca/pkg/api/error" "github.com/gin-gonic/gin" "github.com/google/uuid" - "soarca/logger" + "soarca/internal/logger" ) var log *logger.Log diff --git a/routes/reporter/reporter_endpoints.go b/pkg/api/reporter/reporter_endpoints.go similarity index 100% rename from routes/reporter/reporter_endpoints.go rename to pkg/api/reporter/reporter_endpoints.go diff --git a/routes/reporter/reporter_parser.go b/pkg/api/reporter/reporter_parser.go similarity index 97% rename from routes/reporter/reporter_parser.go rename to pkg/api/reporter/reporter_parser.go index 36b390a6..7fa3c966 100644 --- a/routes/reporter/reporter_parser.go +++ b/pkg/api/reporter/reporter_parser.go @@ -1,8 +1,8 @@ package reporter import ( - api_model "soarca/models/api" - cache_model "soarca/models/cache" + api_model "soarca/pkg/models/api" + cache_model "soarca/pkg/models/cache" ) const defaultRequestInterval int = 5 diff --git a/routes/router.go b/pkg/api/router.go similarity index 81% rename from routes/router.go rename to pkg/api/router.go index cc4e1e6a..62796eca 100644 --- a/routes/router.go +++ b/pkg/api/router.go @@ -4,13 +4,11 @@ import ( "soarca/internal/controller/database" "soarca/internal/controller/decomposer_controller" "soarca/internal/controller/informer" - coa_routes "soarca/routes/coa" - operator "soarca/routes/operator" - playbook_routes "soarca/routes/playbook" - reporter "soarca/routes/reporter" - status "soarca/routes/status" - swagger "soarca/routes/swagger" - "soarca/routes/trigger" + playbook_routes "soarca/pkg/api/playbook" + reporter "soarca/pkg/api/reporter" + status "soarca/pkg/api/status" + swagger "soarca/pkg/api/swagger" + "soarca/pkg/api/trigger" "github.com/gin-contrib/cors" gin "github.com/gin-gonic/gin" @@ -46,9 +44,7 @@ func Api(app *gin.Engine, // gin.SetMode(gin.ReleaseMode) trigger_api := trigger.New(controller, database) - coa_routes.Routes(app) status.Routes(app) - operator.Routes(app) trigger.Routes(app, trigger_api) return nil diff --git a/routes/status/status_api.go b/pkg/api/status/status_api.go similarity index 94% rename from routes/status/status_api.go rename to pkg/api/status/status_api.go index 347aecd9..20952353 100644 --- a/routes/status/status_api.go +++ b/pkg/api/status/status_api.go @@ -3,8 +3,8 @@ package status import ( "net/http" "runtime" - "soarca/models/api" - "soarca/utils" + "soarca/pkg/models/api" + "soarca/pkg/utils" "time" "github.com/gin-gonic/gin" diff --git a/routes/status/status_endpoints.go b/pkg/api/status/status_endpoints.go similarity index 100% rename from routes/status/status_endpoints.go rename to pkg/api/status/status_endpoints.go diff --git a/routes/step/step_endpoints.go b/pkg/api/step/step_endpoints.go similarity index 100% rename from routes/step/step_endpoints.go rename to pkg/api/step/step_endpoints.go diff --git a/routes/swagger/swagger_endpoints.go b/pkg/api/swagger/swagger_endpoints.go similarity index 82% rename from routes/swagger/swagger_endpoints.go rename to pkg/api/swagger/swagger_endpoints.go index 73f681d0..b062958c 100644 --- a/routes/swagger/swagger_endpoints.go +++ b/pkg/api/swagger/swagger_endpoints.go @@ -1,7 +1,7 @@ package swagger import ( - "soarca/swaggerdocs" + api "soarca/api" "github.com/gin-gonic/gin" swaggerfiles "github.com/swaggo/files" @@ -9,7 +9,7 @@ import ( ) func Routes(route *gin.Engine) { - swaggerdocs.SwaggerInfo.BasePath = "/" + api.SwaggerInfo.BasePath = "/" swagger := route.Group("/swagger") { swagger.GET("/*any", ginSwagger.WrapHandler(swaggerfiles.Handler)) diff --git a/routes/trigger/trigger_api.go b/pkg/api/trigger/trigger_api.go similarity index 97% rename from routes/trigger/trigger_api.go rename to pkg/api/trigger/trigger_api.go index 5924d4f9..3872a530 100644 --- a/routes/trigger/trigger_api.go +++ b/pkg/api/trigger/trigger_api.go @@ -11,12 +11,12 @@ import ( "soarca/internal/controller/database" "soarca/internal/controller/decomposer_controller" - "soarca/internal/decomposer" - "soarca/logger" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" - apiError "soarca/routes/error" + "soarca/internal/logger" + apiError "soarca/pkg/api/error" + "soarca/pkg/core/decomposer" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" "github.com/gin-gonic/gin" ) diff --git a/routes/trigger/trigger_endpoints.go b/pkg/api/trigger/trigger_endpoints.go similarity index 100% rename from routes/trigger/trigger_endpoints.go rename to pkg/api/trigger/trigger_endpoints.go diff --git a/internal/capability/capability.go b/pkg/core/capability/capability.go similarity index 82% rename from internal/capability/capability.go rename to pkg/core/capability/capability.go index af883a3f..8ba8595e 100644 --- a/internal/capability/capability.go +++ b/pkg/core/capability/capability.go @@ -1,8 +1,8 @@ package capability import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" ) type ICapability interface { diff --git a/internal/capability/controller/controller.go b/pkg/core/capability/controller/controller.go similarity index 98% rename from internal/capability/controller/controller.go rename to pkg/core/capability/controller/controller.go index a948b8d6..7d75fe69 100644 --- a/internal/capability/controller/controller.go +++ b/pkg/core/capability/controller/controller.go @@ -4,9 +4,9 @@ import ( "errors" "fmt" "reflect" - "soarca/internal/fin/protocol" - "soarca/logger" - "soarca/models/fin" + "soarca/internal/logger" + "soarca/pkg/core/capability/fin/protocol" + "soarca/pkg/models/fin" mqtt "github.com/eclipse/paho.mqtt.golang" ) diff --git a/internal/capability/controller/controller_test.go b/pkg/core/capability/controller/controller_test.go similarity index 98% rename from internal/capability/controller/controller_test.go rename to pkg/core/capability/controller/controller_test.go index ed33ad80..725b5e79 100644 --- a/internal/capability/controller/controller_test.go +++ b/pkg/core/capability/controller/controller_test.go @@ -2,7 +2,7 @@ package controller import ( "encoding/json" - "soarca/models/fin" + "soarca/pkg/models/fin" "soarca/test/unittest/mocks/mock_mqtt" "testing" diff --git a/internal/capability/fin/fin.go b/pkg/core/capability/fin/fin.go similarity index 88% rename from internal/capability/fin/fin.go rename to pkg/core/capability/fin/fin.go index 61e18c61..d5cbd5ef 100644 --- a/internal/capability/fin/fin.go +++ b/pkg/core/capability/fin/fin.go @@ -2,11 +2,11 @@ package fin import ( "reflect" - "soarca/internal/fin/protocol" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - finModel "soarca/models/fin" + "soarca/internal/logger" + "soarca/pkg/core/capability/fin/protocol" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + finModel "soarca/pkg/models/fin" ) type FinCapability struct { diff --git a/internal/capability/fin/fin_test.go b/pkg/core/capability/fin/fin_test.go similarity index 95% rename from internal/capability/fin/fin_test.go rename to pkg/core/capability/fin/fin_test.go index 81d2a165..59e8accb 100644 --- a/internal/capability/fin/fin_test.go +++ b/pkg/core/capability/fin/fin_test.go @@ -1,9 +1,9 @@ package fin import ( - "soarca/models/cacao" - "soarca/models/execution" - model "soarca/models/fin" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + model "soarca/pkg/models/fin" "soarca/test/unittest/mocks/mock_finprotocol" "testing" diff --git a/internal/fin/protocol/finprotocol_test.go b/pkg/core/capability/fin/protocol/finprotocol_test.go similarity index 96% rename from internal/fin/protocol/finprotocol_test.go rename to pkg/core/capability/fin/protocol/finprotocol_test.go index bc5d65ad..b40bd296 100644 --- a/internal/fin/protocol/finprotocol_test.go +++ b/pkg/core/capability/fin/protocol/finprotocol_test.go @@ -4,10 +4,10 @@ import ( "encoding/json" "errors" "fmt" - "soarca/internal/guid" - "soarca/models/cacao" - "soarca/models/fin" - model "soarca/models/fin" + "soarca/pkg/models/cacao" + "soarca/pkg/models/fin" + model "soarca/pkg/models/fin" + "soarca/pkg/utils/guid" "soarca/test/unittest/mocks/mock_mqtt" "testing" "time" diff --git a/internal/fin/protocol/protocol.go b/pkg/core/capability/fin/protocol/protocol.go similarity index 98% rename from internal/fin/protocol/protocol.go rename to pkg/core/capability/fin/protocol/protocol.go index c9ca1b1a..2b36e9d0 100644 --- a/internal/fin/protocol/protocol.go +++ b/pkg/core/capability/fin/protocol/protocol.go @@ -4,10 +4,10 @@ import ( "errors" "fmt" "reflect" - "soarca/internal/guid" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/fin" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/fin" + "soarca/pkg/utils/guid" "time" mqttlib "github.com/eclipse/paho.mqtt.golang" diff --git a/internal/capability/http/http.go b/pkg/core/capability/http/http.go similarity index 92% rename from internal/capability/http/http.go rename to pkg/core/capability/http/http.go index c5bec163..aa6ca75e 100644 --- a/internal/capability/http/http.go +++ b/pkg/core/capability/http/http.go @@ -2,10 +2,10 @@ package http import ( "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - "soarca/utils/http" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/http" ) // Receive HTTP API command data from decomposer/executer diff --git a/internal/capability/http/http_test.go b/pkg/core/capability/http/http_test.go similarity index 97% rename from internal/capability/http/http_test.go rename to pkg/core/capability/http/http_test.go index d587b8bd..545dbabd 100644 --- a/internal/capability/http/http_test.go +++ b/pkg/core/capability/http/http_test.go @@ -6,10 +6,10 @@ package http import ( "errors" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + http_request "soarca/pkg/utils/http" mock_request "soarca/test/unittest/mocks/mock_utils/http" - http_request "soarca/utils/http" "testing" "github.com/go-playground/assert/v2" diff --git a/internal/capability/openc2/openc2.go b/pkg/core/capability/openc2/openc2.go similarity index 92% rename from internal/capability/openc2/openc2.go rename to pkg/core/capability/openc2/openc2.go index 5da5eba1..ac29ad09 100644 --- a/internal/capability/openc2/openc2.go +++ b/pkg/core/capability/openc2/openc2.go @@ -3,10 +3,10 @@ package openc2 import ( "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - "soarca/utils/http" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/http" ) type OpenC2Capability struct { diff --git a/internal/capability/openc2/openc2_test.go b/pkg/core/capability/openc2/openc2_test.go similarity index 95% rename from internal/capability/openc2/openc2_test.go rename to pkg/core/capability/openc2/openc2_test.go index 143e77f5..fd23b3ae 100644 --- a/internal/capability/openc2/openc2_test.go +++ b/pkg/core/capability/openc2/openc2_test.go @@ -3,10 +3,10 @@ package openc2 import ( "testing" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/utils/http" mockRequest "soarca/test/unittest/mocks/mock_utils/http" - "soarca/utils/http" assert "github.com/go-playground/assert/v2" "github.com/google/uuid" diff --git a/internal/capability/powershell/powershell.go b/pkg/core/capability/powershell/powershell.go similarity index 97% rename from internal/capability/powershell/powershell.go rename to pkg/core/capability/powershell/powershell.go index 797f578a..7e19ae91 100644 --- a/internal/capability/powershell/powershell.go +++ b/pkg/core/capability/powershell/powershell.go @@ -8,9 +8,9 @@ import ( "strconv" "strings" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/masterzen/winrm" ) diff --git a/internal/capability/ssh/ssh.go b/pkg/core/capability/ssh/ssh.go similarity index 97% rename from internal/capability/ssh/ssh.go rename to pkg/core/capability/ssh/ssh.go index a09896a2..85c83e4a 100644 --- a/internal/capability/ssh/ssh.go +++ b/pkg/core/capability/ssh/ssh.go @@ -3,12 +3,12 @@ package ssh import ( "errors" "reflect" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "strings" "time" - "soarca/logger" + "soarca/internal/logger" "golang.org/x/crypto/ssh" ) diff --git a/internal/capability/ssh/ssh_test.go b/pkg/core/capability/ssh/ssh_test.go similarity index 99% rename from internal/capability/ssh/ssh_test.go rename to pkg/core/capability/ssh/ssh_test.go index 3b517c22..f5aeb5aa 100644 --- a/internal/capability/ssh/ssh_test.go +++ b/pkg/core/capability/ssh/ssh_test.go @@ -2,7 +2,7 @@ package ssh import ( "errors" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "testing" "github.com/go-playground/assert/v2" diff --git a/internal/decomposer/decomposer.go b/pkg/core/decomposer/decomposer.go similarity index 95% rename from internal/decomposer/decomposer.go rename to pkg/core/decomposer/decomposer.go index ddb61969..14eda371 100644 --- a/internal/decomposer/decomposer.go +++ b/pkg/core/decomposer/decomposer.go @@ -5,15 +5,15 @@ import ( "fmt" "reflect" - "soarca/internal/executors" - "soarca/internal/executors/action" - "soarca/internal/executors/condition" - "soarca/internal/guid" - "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - timeUtil "soarca/utils/time" + "soarca/internal/logger" + "soarca/pkg/core/executors" + "soarca/pkg/core/executors/action" + "soarca/pkg/core/executors/condition" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/reporter" + "soarca/pkg/utils/guid" + timeUtil "soarca/pkg/utils/time" t "time" diff --git a/internal/decomposer/decomposer_test.go b/pkg/core/decomposer/decomposer_test.go similarity index 99% rename from internal/decomposer/decomposer_test.go rename to pkg/core/decomposer/decomposer_test.go index cf915d1a..2bd212a2 100644 --- a/internal/decomposer/decomposer_test.go +++ b/pkg/core/decomposer/decomposer_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - "soarca/internal/executors/action" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/executors/action" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_executor" mock_condition_executor "soarca/test/unittest/mocks/mock_executor/condition" mock_playbook_action_executor "soarca/test/unittest/mocks/mock_executor/playbook_action" diff --git a/internal/executors/action/action.go b/pkg/core/executors/action/action.go similarity index 96% rename from internal/executors/action/action.go rename to pkg/core/executors/action/action.go index 6b9f2ad4..ea63a10f 100644 --- a/internal/executors/action/action.go +++ b/pkg/core/executors/action/action.go @@ -4,12 +4,12 @@ import ( "errors" "fmt" "reflect" - "soarca/internal/capability" - "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - timeUtil "soarca/utils/time" + "soarca/internal/logger" + "soarca/pkg/core/capability" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/reporter" + timeUtil "soarca/pkg/utils/time" ) var component = reflect.TypeOf(Executor{}).PkgPath() diff --git a/internal/executors/action/action_executor_test.go b/pkg/core/executors/action/action_executor_test.go similarity index 99% rename from internal/executors/action/action_executor_test.go rename to pkg/core/executors/action/action_executor_test.go index 4e58d72d..f795d2b4 100644 --- a/internal/executors/action/action_executor_test.go +++ b/pkg/core/executors/action/action_executor_test.go @@ -5,9 +5,9 @@ import ( "testing" "time" - "soarca/internal/capability" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/capability" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_capability" "soarca/test/unittest/mocks/mock_reporter" mock_time "soarca/test/unittest/mocks/mock_utils/time" diff --git a/internal/executors/condition/condition.go b/pkg/core/executors/condition/condition.go similarity index 90% rename from internal/executors/condition/condition.go rename to pkg/core/executors/condition/condition.go index 9a5e8fc2..8011eb9c 100644 --- a/internal/executors/condition/condition.go +++ b/pkg/core/executors/condition/condition.go @@ -4,12 +4,12 @@ import ( "errors" "fmt" "reflect" - "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - "soarca/utils/stix/expression/comparison" - timeUtil "soarca/utils/time" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/reporter" + "soarca/pkg/utils/stix/expression/comparison" + timeUtil "soarca/pkg/utils/time" ) var component = reflect.TypeOf(Executor{}).PkgPath() diff --git a/internal/executors/condition/condition_executor_test.go b/pkg/core/executors/condition/condition_executor_test.go similarity index 98% rename from internal/executors/condition/condition_executor_test.go rename to pkg/core/executors/condition/condition_executor_test.go index efd5b371..4bad7065 100644 --- a/internal/executors/condition/condition_executor_test.go +++ b/pkg/core/executors/condition/condition_executor_test.go @@ -2,8 +2,8 @@ package condition import ( "errors" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "soarca/test/unittest/mocks/mock_reporter" mock_stix "soarca/test/unittest/mocks/mock_utils/stix" mock_time "soarca/test/unittest/mocks/mock_utils/time" diff --git a/internal/executors/executors.go b/pkg/core/executors/executors.go similarity index 72% rename from internal/executors/executors.go rename to pkg/core/executors/executors.go index eb978c04..fe1575a6 100644 --- a/internal/executors/executors.go +++ b/pkg/core/executors/executors.go @@ -1,8 +1,8 @@ package executors import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" ) type IPlaybookExecuter interface { diff --git a/internal/executors/playbook_action/playbook_action.go b/pkg/core/executors/playbook_action/playbook_action.go similarity index 94% rename from internal/executors/playbook_action/playbook_action.go rename to pkg/core/executors/playbook_action/playbook_action.go index e8bb32a2..7f2653fc 100644 --- a/internal/executors/playbook_action/playbook_action.go +++ b/pkg/core/executors/playbook_action/playbook_action.go @@ -6,11 +6,11 @@ import ( "reflect" "soarca/internal/controller/database" "soarca/internal/controller/decomposer_controller" - "soarca/internal/reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/execution" - timeUtil "soarca/utils/time" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + "soarca/pkg/reporter" + timeUtil "soarca/pkg/utils/time" ) type PlaybookAction struct { diff --git a/internal/executors/playbook_action/playbook_action_executor_test.go b/pkg/core/executors/playbook_action/playbook_action_executor_test.go similarity index 97% rename from internal/executors/playbook_action/playbook_action_executor_test.go rename to pkg/core/executors/playbook_action/playbook_action_executor_test.go index 2e180383..cf0c9398 100644 --- a/internal/executors/playbook_action/playbook_action_executor_test.go +++ b/pkg/core/executors/playbook_action/playbook_action_executor_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "soarca/internal/decomposer" + "soarca/pkg/core/decomposer" mock_database_controller "soarca/test/unittest/mocks/mock_controller/database" mock_decomposer_controller "soarca/test/unittest/mocks/mock_controller/decomposer" "soarca/test/unittest/mocks/mock_decomposer" @@ -12,8 +12,8 @@ import ( "soarca/test/unittest/mocks/mock_reporter" mock_time "soarca/test/unittest/mocks/mock_utils/time" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/go-playground/assert/v2" "github.com/google/uuid" diff --git a/internal/reporter/downstream_reporter/thehive/thehive_models/models.go b/pkg/integration/thehive/common/models/models.go similarity index 99% rename from internal/reporter/downstream_reporter/thehive/thehive_models/models.go rename to pkg/integration/thehive/common/models/models.go index 9e864651..1711a54b 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_models/models.go +++ b/pkg/integration/thehive/common/models/models.go @@ -1,6 +1,6 @@ -package thehive_models +package models -import "soarca/models/cacao" +import "soarca/pkg/models/cacao" const ( TheHiveStatusInProgress = "InProgress" diff --git a/internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go b/pkg/integration/thehive/common/utils/utils.go similarity index 98% rename from internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go rename to pkg/integration/thehive/common/utils/utils.go index 761d8aaa..00a99449 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_utils/utils.go +++ b/pkg/integration/thehive/common/utils/utils.go @@ -1,4 +1,4 @@ -package thehive_utils +package utils import ( "bytes" @@ -7,7 +7,7 @@ import ( "fmt" "io" "reflect" - "soarca/logger" + "soarca/internal/logger" "strings" ) diff --git a/internal/reporter/downstream_reporter/thehive/ids_map.go b/pkg/integration/thehive/reporter/ids_map.go similarity index 100% rename from internal/reporter/downstream_reporter/thehive/ids_map.go rename to pkg/integration/thehive/reporter/ids_map.go diff --git a/internal/reporter/downstream_reporter/thehive/thehive_connector.go b/pkg/integration/thehive/reporter/thehive_connector.go similarity index 98% rename from internal/reporter/downstream_reporter/thehive/thehive_connector.go rename to pkg/integration/thehive/reporter/thehive_connector.go index 90c31349..71dae59d 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_connector.go +++ b/pkg/integration/thehive/reporter/thehive_connector.go @@ -6,10 +6,10 @@ import ( "io" "net/http" "reflect" - "soarca/internal/reporter/downstream_reporter/thehive/thehive_models" - "soarca/internal/reporter/downstream_reporter/thehive/thehive_utils" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + thehive_models "soarca/pkg/integration/thehive/common/models" + thehive_utils "soarca/pkg/integration/thehive/common/utils" + "soarca/pkg/models/cacao" "time" ) diff --git a/internal/reporter/downstream_reporter/thehive/thehive_reporter.go b/pkg/integration/thehive/reporter/thehive_reporter.go similarity index 95% rename from internal/reporter/downstream_reporter/thehive/thehive_reporter.go rename to pkg/integration/thehive/reporter/thehive_reporter.go index d801a78a..4ab6c730 100644 --- a/internal/reporter/downstream_reporter/thehive/thehive_reporter.go +++ b/pkg/integration/thehive/reporter/thehive_reporter.go @@ -1,8 +1,8 @@ package thehive import ( - "soarca/internal/reporter/downstream_reporter/thehive/thehive_models" - "soarca/models/cacao" + thehive_models "soarca/pkg/integration/thehive/common/models" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/models/api/api.go b/pkg/models/api/api.go similarity index 100% rename from models/api/api.go rename to pkg/models/api/api.go diff --git a/models/api/error.go b/pkg/models/api/error.go similarity index 100% rename from models/api/error.go rename to pkg/models/api/error.go diff --git a/models/api/execution.go b/pkg/models/api/execution.go similarity index 100% rename from models/api/execution.go rename to pkg/models/api/execution.go diff --git a/models/api/reporter.go b/pkg/models/api/reporter.go similarity index 98% rename from models/api/reporter.go rename to pkg/models/api/reporter.go index 5c34aa70..424fc4fd 100644 --- a/models/api/reporter.go +++ b/pkg/models/api/reporter.go @@ -3,8 +3,8 @@ package api import ( "errors" "fmt" - "soarca/models/cacao" - cache_model "soarca/models/cache" + "soarca/pkg/models/cacao" + cache_model "soarca/pkg/models/cache" "time" ) diff --git a/models/api/status.go b/pkg/models/api/status.go similarity index 100% rename from models/api/status.go rename to pkg/models/api/status.go diff --git a/models/cacao/cacao.go b/pkg/models/cacao/cacao.go similarity index 100% rename from models/cacao/cacao.go rename to pkg/models/cacao/cacao.go diff --git a/models/cacao/initializers.go b/pkg/models/cacao/initializers.go similarity index 100% rename from models/cacao/initializers.go rename to pkg/models/cacao/initializers.go diff --git a/models/cacao/variables.go b/pkg/models/cacao/variables.go similarity index 100% rename from models/cacao/variables.go rename to pkg/models/cacao/variables.go diff --git a/models/cacao/variables_test.go b/pkg/models/cacao/variables_test.go similarity index 100% rename from models/cacao/variables_test.go rename to pkg/models/cacao/variables_test.go diff --git a/models/cache/cache.go b/pkg/models/cache/cache.go similarity index 97% rename from models/cache/cache.go rename to pkg/models/cache/cache.go index 5edb819e..9e480f07 100644 --- a/models/cache/cache.go +++ b/pkg/models/cache/cache.go @@ -1,7 +1,7 @@ package cache import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/models/decoder/decoder.go b/pkg/models/decoder/decoder.go similarity index 95% rename from models/decoder/decoder.go rename to pkg/models/decoder/decoder.go index dc8d5538..af13b601 100644 --- a/models/decoder/decoder.go +++ b/pkg/models/decoder/decoder.go @@ -3,9 +3,9 @@ package decoder import ( "encoding/json" "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/models/validator" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/models/validator" ) type Empty struct{} diff --git a/models/decoder/decoder_test.go b/pkg/models/decoder/decoder_test.go similarity index 99% rename from models/decoder/decoder_test.go rename to pkg/models/decoder/decoder_test.go index bb1eb60e..6cbfe547 100644 --- a/models/decoder/decoder_test.go +++ b/pkg/models/decoder/decoder_test.go @@ -15,7 +15,7 @@ import ( // The schemas are CDS01 compatible as they have the following properties renamed: // - "agents" from CDS01 instead of "agent_definitions" from CDS03+ // - "targets" from CDS01 instead of "target_definitions" from CDS03+ -var PB_PATH string = "../../test/playbooks/" +var PB_PATH string = "../../../test/playbooks/" func getTime(data string) time.Time { res, _ := time.Parse(time.RFC3339, data) diff --git a/models/execution/execution.go b/pkg/models/execution/execution.go similarity index 100% rename from models/execution/execution.go rename to pkg/models/execution/execution.go diff --git a/models/fin/fin.go b/pkg/models/fin/fin.go similarity index 91% rename from models/fin/fin.go rename to pkg/models/fin/fin.go index d98b8a69..1eb7b0ae 100644 --- a/models/fin/fin.go +++ b/pkg/models/fin/fin.go @@ -2,7 +2,7 @@ package fin import ( "encoding/json" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" ) @@ -54,12 +54,12 @@ type Capability struct { // Step structure as example to the executor type Step struct { - Type string `json:"type"` - Name string `json:"name"` - Description string `json:"description"` - ExternalReferences []cacao.ExternalReferences `json:"external_references"` - Command string `json:"command"` - Target string `json:"target"` + Type string `json:"type"` + Name string `json:"name"` + Description string `json:"description"` + ExternalReferences []cacao.ExternalReferences `json:"external_references"` + Command string `json:"command"` + Target string `json:"target"` } // Unregister command structure diff --git a/models/fin/finmodel_test.go b/pkg/models/fin/finmodel_test.go similarity index 100% rename from models/fin/finmodel_test.go rename to pkg/models/fin/finmodel_test.go diff --git a/models/validator/playbook.go b/pkg/models/validator/playbook.go similarity index 99% rename from models/validator/playbook.go rename to pkg/models/validator/playbook.go index d62b43e4..c5951306 100644 --- a/models/validator/playbook.go +++ b/pkg/models/validator/playbook.go @@ -5,8 +5,8 @@ import ( "fmt" "net/mail" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + "soarca/pkg/models/cacao" ) func init() { diff --git a/models/validator/schema.go b/pkg/models/validator/schema.go similarity index 97% rename from models/validator/schema.go rename to pkg/models/validator/schema.go index d9c8e272..5e955482 100644 --- a/models/validator/schema.go +++ b/pkg/models/validator/schema.go @@ -6,9 +6,9 @@ import ( "errors" "io/fs" "reflect" - "soarca/logger" - "soarca/models/cacao" - "soarca/utils" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + "soarca/pkg/utils" "strings" "github.com/go-playground/validator/v10" diff --git a/models/validator/schemas/agent-target/agent-target.json b/pkg/models/validator/schemas/agent-target/agent-target.json similarity index 100% rename from models/validator/schemas/agent-target/agent-target.json rename to pkg/models/validator/schemas/agent-target/agent-target.json diff --git a/models/validator/schemas/agent-target/group.json b/pkg/models/validator/schemas/agent-target/group.json similarity index 100% rename from models/validator/schemas/agent-target/group.json rename to pkg/models/validator/schemas/agent-target/group.json diff --git a/models/validator/schemas/agent-target/http-api.json b/pkg/models/validator/schemas/agent-target/http-api.json similarity index 100% rename from models/validator/schemas/agent-target/http-api.json rename to pkg/models/validator/schemas/agent-target/http-api.json diff --git a/models/validator/schemas/agent-target/individual.json b/pkg/models/validator/schemas/agent-target/individual.json similarity index 100% rename from models/validator/schemas/agent-target/individual.json rename to pkg/models/validator/schemas/agent-target/individual.json diff --git a/models/validator/schemas/agent-target/linux.json b/pkg/models/validator/schemas/agent-target/linux.json similarity index 100% rename from models/validator/schemas/agent-target/linux.json rename to pkg/models/validator/schemas/agent-target/linux.json diff --git a/models/validator/schemas/agent-target/location.json b/pkg/models/validator/schemas/agent-target/location.json similarity index 100% rename from models/validator/schemas/agent-target/location.json rename to pkg/models/validator/schemas/agent-target/location.json diff --git a/models/validator/schemas/agent-target/net-address.json b/pkg/models/validator/schemas/agent-target/net-address.json similarity index 100% rename from models/validator/schemas/agent-target/net-address.json rename to pkg/models/validator/schemas/agent-target/net-address.json diff --git a/models/validator/schemas/agent-target/organization.json b/pkg/models/validator/schemas/agent-target/organization.json similarity index 100% rename from models/validator/schemas/agent-target/organization.json rename to pkg/models/validator/schemas/agent-target/organization.json diff --git a/models/validator/schemas/agent-target/sector.json b/pkg/models/validator/schemas/agent-target/sector.json similarity index 100% rename from models/validator/schemas/agent-target/sector.json rename to pkg/models/validator/schemas/agent-target/sector.json diff --git a/models/validator/schemas/agent-target/security-category.json b/pkg/models/validator/schemas/agent-target/security-category.json similarity index 100% rename from models/validator/schemas/agent-target/security-category.json rename to pkg/models/validator/schemas/agent-target/security-category.json diff --git a/models/validator/schemas/agent-target/ssh.json b/pkg/models/validator/schemas/agent-target/ssh.json similarity index 100% rename from models/validator/schemas/agent-target/ssh.json rename to pkg/models/validator/schemas/agent-target/ssh.json diff --git a/models/validator/schemas/authentication-info/authentication-info.json b/pkg/models/validator/schemas/authentication-info/authentication-info.json similarity index 100% rename from models/validator/schemas/authentication-info/authentication-info.json rename to pkg/models/validator/schemas/authentication-info/authentication-info.json diff --git a/models/validator/schemas/authentication-info/http-basic.json b/pkg/models/validator/schemas/authentication-info/http-basic.json similarity index 100% rename from models/validator/schemas/authentication-info/http-basic.json rename to pkg/models/validator/schemas/authentication-info/http-basic.json diff --git a/models/validator/schemas/authentication-info/oauth2.json b/pkg/models/validator/schemas/authentication-info/oauth2.json similarity index 100% rename from models/validator/schemas/authentication-info/oauth2.json rename to pkg/models/validator/schemas/authentication-info/oauth2.json diff --git a/models/validator/schemas/authentication-info/user-auth.json b/pkg/models/validator/schemas/authentication-info/user-auth.json similarity index 100% rename from models/validator/schemas/authentication-info/user-auth.json rename to pkg/models/validator/schemas/authentication-info/user-auth.json diff --git a/models/validator/schemas/commands/bash.json b/pkg/models/validator/schemas/commands/bash.json similarity index 100% rename from models/validator/schemas/commands/bash.json rename to pkg/models/validator/schemas/commands/bash.json diff --git a/models/validator/schemas/commands/caldera-cmd.json b/pkg/models/validator/schemas/commands/caldera-cmd.json similarity index 100% rename from models/validator/schemas/commands/caldera-cmd.json rename to pkg/models/validator/schemas/commands/caldera-cmd.json diff --git a/models/validator/schemas/commands/command-data.json b/pkg/models/validator/schemas/commands/command-data.json similarity index 100% rename from models/validator/schemas/commands/command-data.json rename to pkg/models/validator/schemas/commands/command-data.json diff --git a/models/validator/schemas/commands/elastic.json b/pkg/models/validator/schemas/commands/elastic.json similarity index 100% rename from models/validator/schemas/commands/elastic.json rename to pkg/models/validator/schemas/commands/elastic.json diff --git a/models/validator/schemas/commands/http-api.json b/pkg/models/validator/schemas/commands/http-api.json similarity index 100% rename from models/validator/schemas/commands/http-api.json rename to pkg/models/validator/schemas/commands/http-api.json diff --git a/models/validator/schemas/commands/jupyter.json b/pkg/models/validator/schemas/commands/jupyter.json similarity index 100% rename from models/validator/schemas/commands/jupyter.json rename to pkg/models/validator/schemas/commands/jupyter.json diff --git a/models/validator/schemas/commands/kestrel.json b/pkg/models/validator/schemas/commands/kestrel.json similarity index 100% rename from models/validator/schemas/commands/kestrel.json rename to pkg/models/validator/schemas/commands/kestrel.json diff --git a/models/validator/schemas/commands/manual.json b/pkg/models/validator/schemas/commands/manual.json similarity index 100% rename from models/validator/schemas/commands/manual.json rename to pkg/models/validator/schemas/commands/manual.json diff --git a/models/validator/schemas/commands/openc2-http.json b/pkg/models/validator/schemas/commands/openc2-http.json similarity index 100% rename from models/validator/schemas/commands/openc2-http.json rename to pkg/models/validator/schemas/commands/openc2-http.json diff --git a/models/validator/schemas/commands/powershell.json b/pkg/models/validator/schemas/commands/powershell.json similarity index 100% rename from models/validator/schemas/commands/powershell.json rename to pkg/models/validator/schemas/commands/powershell.json diff --git a/models/validator/schemas/commands/sigma.json b/pkg/models/validator/schemas/commands/sigma.json similarity index 100% rename from models/validator/schemas/commands/sigma.json rename to pkg/models/validator/schemas/commands/sigma.json diff --git a/models/validator/schemas/commands/ssh.json b/pkg/models/validator/schemas/commands/ssh.json similarity index 100% rename from models/validator/schemas/commands/ssh.json rename to pkg/models/validator/schemas/commands/ssh.json diff --git a/models/validator/schemas/commands/yara.json b/pkg/models/validator/schemas/commands/yara.json similarity index 100% rename from models/validator/schemas/commands/yara.json rename to pkg/models/validator/schemas/commands/yara.json diff --git a/models/validator/schemas/data-markings/data-marking.json b/pkg/models/validator/schemas/data-markings/data-marking.json similarity index 100% rename from models/validator/schemas/data-markings/data-marking.json rename to pkg/models/validator/schemas/data-markings/data-marking.json diff --git a/models/validator/schemas/data-markings/marking-iep.json b/pkg/models/validator/schemas/data-markings/marking-iep.json similarity index 100% rename from models/validator/schemas/data-markings/marking-iep.json rename to pkg/models/validator/schemas/data-markings/marking-iep.json diff --git a/models/validator/schemas/data-markings/marking-statement.json b/pkg/models/validator/schemas/data-markings/marking-statement.json similarity index 100% rename from models/validator/schemas/data-markings/marking-statement.json rename to pkg/models/validator/schemas/data-markings/marking-statement.json diff --git a/models/validator/schemas/data-markings/marking-tlp.json b/pkg/models/validator/schemas/data-markings/marking-tlp.json similarity index 100% rename from models/validator/schemas/data-markings/marking-tlp.json rename to pkg/models/validator/schemas/data-markings/marking-tlp.json diff --git a/models/validator/schemas/data-types/civic-location.json b/pkg/models/validator/schemas/data-types/civic-location.json similarity index 100% rename from models/validator/schemas/data-types/civic-location.json rename to pkg/models/validator/schemas/data-types/civic-location.json diff --git a/models/validator/schemas/data-types/contact.json b/pkg/models/validator/schemas/data-types/contact.json similarity index 100% rename from models/validator/schemas/data-types/contact.json rename to pkg/models/validator/schemas/data-types/contact.json diff --git a/models/validator/schemas/data-types/external-reference.json b/pkg/models/validator/schemas/data-types/external-reference.json similarity index 100% rename from models/validator/schemas/data-types/external-reference.json rename to pkg/models/validator/schemas/data-types/external-reference.json diff --git a/models/validator/schemas/data-types/identifier.json b/pkg/models/validator/schemas/data-types/identifier.json similarity index 100% rename from models/validator/schemas/data-types/identifier.json rename to pkg/models/validator/schemas/data-types/identifier.json diff --git a/models/validator/schemas/data-types/playbook-processing-summary.json b/pkg/models/validator/schemas/data-types/playbook-processing-summary.json similarity index 100% rename from models/validator/schemas/data-types/playbook-processing-summary.json rename to pkg/models/validator/schemas/data-types/playbook-processing-summary.json diff --git a/models/validator/schemas/data-types/signature.json b/pkg/models/validator/schemas/data-types/signature.json similarity index 100% rename from models/validator/schemas/data-types/signature.json rename to pkg/models/validator/schemas/data-types/signature.json diff --git a/models/validator/schemas/data-types/timestamp.json b/pkg/models/validator/schemas/data-types/timestamp.json similarity index 100% rename from models/validator/schemas/data-types/timestamp.json rename to pkg/models/validator/schemas/data-types/timestamp.json diff --git a/models/validator/schemas/data-types/variable.json b/pkg/models/validator/schemas/data-types/variable.json similarity index 100% rename from models/validator/schemas/data-types/variable.json rename to pkg/models/validator/schemas/data-types/variable.json diff --git a/models/validator/schemas/extension-definition/extension-definition.json b/pkg/models/validator/schemas/extension-definition/extension-definition.json similarity index 100% rename from models/validator/schemas/extension-definition/extension-definition.json rename to pkg/models/validator/schemas/extension-definition/extension-definition.json diff --git a/models/validator/schemas/playbook.json b/pkg/models/validator/schemas/playbook.json similarity index 100% rename from models/validator/schemas/playbook.json rename to pkg/models/validator/schemas/playbook.json diff --git a/models/validator/schemas/workflows/action.json b/pkg/models/validator/schemas/workflows/action.json similarity index 100% rename from models/validator/schemas/workflows/action.json rename to pkg/models/validator/schemas/workflows/action.json diff --git a/models/validator/schemas/workflows/end.json b/pkg/models/validator/schemas/workflows/end.json similarity index 100% rename from models/validator/schemas/workflows/end.json rename to pkg/models/validator/schemas/workflows/end.json diff --git a/models/validator/schemas/workflows/if-condition.json b/pkg/models/validator/schemas/workflows/if-condition.json similarity index 100% rename from models/validator/schemas/workflows/if-condition.json rename to pkg/models/validator/schemas/workflows/if-condition.json diff --git a/models/validator/schemas/workflows/parallel.json b/pkg/models/validator/schemas/workflows/parallel.json similarity index 100% rename from models/validator/schemas/workflows/parallel.json rename to pkg/models/validator/schemas/workflows/parallel.json diff --git a/models/validator/schemas/workflows/playbook-action.json b/pkg/models/validator/schemas/workflows/playbook-action.json similarity index 100% rename from models/validator/schemas/workflows/playbook-action.json rename to pkg/models/validator/schemas/workflows/playbook-action.json diff --git a/models/validator/schemas/workflows/start.json b/pkg/models/validator/schemas/workflows/start.json similarity index 100% rename from models/validator/schemas/workflows/start.json rename to pkg/models/validator/schemas/workflows/start.json diff --git a/models/validator/schemas/workflows/switch-condition.json b/pkg/models/validator/schemas/workflows/switch-condition.json similarity index 100% rename from models/validator/schemas/workflows/switch-condition.json rename to pkg/models/validator/schemas/workflows/switch-condition.json diff --git a/models/validator/schemas/workflows/while-condition.json b/pkg/models/validator/schemas/workflows/while-condition.json similarity index 100% rename from models/validator/schemas/workflows/while-condition.json rename to pkg/models/validator/schemas/workflows/while-condition.json diff --git a/models/validator/schemas/workflows/workflow-step.json b/pkg/models/validator/schemas/workflows/workflow-step.json similarity index 100% rename from models/validator/schemas/workflows/workflow-step.json rename to pkg/models/validator/schemas/workflows/workflow-step.json diff --git a/models/validator/validators_test.go b/pkg/models/validator/validators_test.go similarity index 97% rename from models/validator/validators_test.go rename to pkg/models/validator/validators_test.go index 0a8ce006..331c1c39 100644 --- a/models/validator/validators_test.go +++ b/pkg/models/validator/validators_test.go @@ -6,14 +6,14 @@ import ( "fmt" "io" "os" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "strings" "testing" "github.com/go-playground/assert/v2" ) -var PB_PATH string = "../../test/playbooks/" +var PB_PATH string = "../../../test/playbooks/" func TestNotValidCacaoJsonInvalidAgentTargetType(t *testing.T) { jsonFile, err := os.Open(PB_PATH + "invalid_playbook.json") diff --git a/internal/reporter/downstream_reporter/cache/cache.go b/pkg/reporter/downstream_reporter/cache/cache.go similarity index 98% rename from internal/reporter/downstream_reporter/cache/cache.go rename to pkg/reporter/downstream_reporter/cache/cache.go index a0b9ead3..41528a5d 100644 --- a/internal/reporter/downstream_reporter/cache/cache.go +++ b/pkg/reporter/downstream_reporter/cache/cache.go @@ -5,9 +5,9 @@ import ( "errors" "fmt" "slices" - "soarca/models/cacao" - cache_report "soarca/models/cache" - itime "soarca/utils/time" + "soarca/pkg/models/cacao" + cache_report "soarca/pkg/models/cache" + itime "soarca/pkg/utils/time" "sync" "time" diff --git a/internal/reporter/downstream_reporter/cache/cache_test.go b/pkg/reporter/downstream_reporter/cache/cache_test.go similarity index 99% rename from internal/reporter/downstream_reporter/cache/cache_test.go rename to pkg/reporter/downstream_reporter/cache/cache_test.go index 34613dc4..e71b340d 100644 --- a/internal/reporter/downstream_reporter/cache/cache_test.go +++ b/pkg/reporter/downstream_reporter/cache/cache_test.go @@ -3,8 +3,8 @@ package cache import ( b64 "encoding/base64" "errors" - "soarca/models/cacao" - cache_model "soarca/models/cache" + "soarca/pkg/models/cacao" + cache_model "soarca/pkg/models/cache" mock_time "soarca/test/unittest/mocks/mock_utils/time" "testing" "time" diff --git a/internal/reporter/downstream_reporter/downstream_reporter.go b/pkg/reporter/downstream_reporter/downstream_reporter.go similarity index 95% rename from internal/reporter/downstream_reporter/downstream_reporter.go rename to pkg/reporter/downstream_reporter/downstream_reporter.go index 7e7075cb..ff31693d 100644 --- a/internal/reporter/downstream_reporter/downstream_reporter.go +++ b/pkg/reporter/downstream_reporter/downstream_reporter.go @@ -1,7 +1,7 @@ package downstream_reporter import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/internal/reporter/reporter.go b/pkg/reporter/reporter.go similarity index 97% rename from internal/reporter/reporter.go rename to pkg/reporter/reporter.go index 0eb1bba6..f4bf115c 100644 --- a/internal/reporter/reporter.go +++ b/pkg/reporter/reporter.go @@ -8,10 +8,10 @@ import ( "sync" "time" - downstreamReporter "soarca/internal/reporter/downstream_reporter" - "soarca/logger" - "soarca/models/cacao" - "soarca/utils" + "soarca/internal/logger" + "soarca/pkg/models/cacao" + downstreamReporter "soarca/pkg/reporter/downstream_reporter" + "soarca/pkg/utils" "github.com/google/uuid" ) diff --git a/internal/reporter/reporter_test.go b/pkg/reporter/reporter_test.go similarity index 99% rename from internal/reporter/reporter_test.go rename to pkg/reporter/reporter_test.go index a809b738..a862d16d 100644 --- a/internal/reporter/reporter_test.go +++ b/pkg/reporter/reporter_test.go @@ -2,8 +2,8 @@ package reporter import ( "errors" - ds_reporter "soarca/internal/reporter/downstream_reporter" - "soarca/models/cacao" + "soarca/pkg/models/cacao" + ds_reporter "soarca/pkg/reporter/downstream_reporter" "soarca/test/unittest/mocks/mock_reporter" mock_time "soarca/test/unittest/mocks/mock_utils/time" "sync" diff --git a/internal/guid/guid.go b/pkg/utils/guid/guid.go similarity index 100% rename from internal/guid/guid.go rename to pkg/utils/guid/guid.go diff --git a/utils/http/http.go b/pkg/utils/http/http.go similarity index 99% rename from utils/http/http.go rename to pkg/utils/http/http.go index 402619f9..79a2782e 100644 --- a/utils/http/http.go +++ b/pkg/utils/http/http.go @@ -14,8 +14,8 @@ import ( "strconv" "strings" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + "soarca/pkg/models/cacao" ) var ( diff --git a/utils/http/http_test.go b/pkg/utils/http/http_test.go similarity index 99% rename from utils/http/http_test.go rename to pkg/utils/http/http_test.go index 449d8714..ff715902 100644 --- a/utils/http/http_test.go +++ b/pkg/utils/http/http_test.go @@ -8,7 +8,7 @@ import ( "testing" b64 "encoding/base64" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "github.com/go-playground/assert/v2" ) diff --git a/utils/stix/expression/comparison/comparison.go b/pkg/utils/stix/expression/comparison/comparison.go similarity index 99% rename from utils/stix/expression/comparison/comparison.go rename to pkg/utils/stix/expression/comparison/comparison.go index 0b16bd6b..b7afdcc8 100644 --- a/utils/stix/expression/comparison/comparison.go +++ b/pkg/utils/stix/expression/comparison/comparison.go @@ -6,8 +6,8 @@ import ( "net" "net/url" "reflect" - "soarca/logger" - "soarca/models/cacao" + "soarca/internal/logger" + "soarca/pkg/models/cacao" "strconv" "strings" diff --git a/utils/stix/expression/comparison/comparison_test.go b/pkg/utils/stix/expression/comparison/comparison_test.go similarity index 99% rename from utils/stix/expression/comparison/comparison_test.go rename to pkg/utils/stix/expression/comparison/comparison_test.go index f9d99adf..b335fd17 100644 --- a/utils/stix/expression/comparison/comparison_test.go +++ b/pkg/utils/stix/expression/comparison/comparison_test.go @@ -2,7 +2,7 @@ package comparison import ( "errors" - "soarca/models/cacao" + "soarca/pkg/models/cacao" "testing" "github.com/go-playground/assert/v2" diff --git a/utils/time/time.go b/pkg/utils/time/time.go similarity index 100% rename from utils/time/time.go rename to pkg/utils/time/time.go diff --git a/utils/utils.go b/pkg/utils/utils.go similarity index 100% rename from utils/utils.go rename to pkg/utils/utils.go diff --git a/routes/coa/coa_endpoints.go b/routes/coa/coa_endpoints.go deleted file mode 100644 index 290761b7..00000000 --- a/routes/coa/coa_endpoints.go +++ /dev/null @@ -1,37 +0,0 @@ -package coa - -import ( - "fmt" - "net/http" - - "github.com/gin-gonic/gin" -) - -func Helloworld(g *gin.Context) { - g.JSON(http.StatusOK, "helloworld from /coa") -} - - -func id_tester(g *gin.Context){ -id := g.Param("coa-id") -fmt.Println(id) - -} - -// GET /coa -// POST /coa -// GET /coa/coa-id -// PUT /coa/coa-id -// DELETE /coa/coa-id - -func Routes(route *gin.Engine){ - coa := route.Group("/coa") - { - - coa.GET("/",Helloworld) - coa.POST("/:coa-id", id_tester) - coa.PUT("/:coa-id", id_tester) - coa.DELETE("/:coa-id", id_tester) - } - -} \ No newline at end of file diff --git a/routes/operator/operator_endpoints.go b/routes/operator/operator_endpoints.go deleted file mode 100644 index 22703663..00000000 --- a/routes/operator/operator_endpoints.go +++ /dev/null @@ -1,20 +0,0 @@ -package status - -import ( - "net/http" - - "github.com/gin-gonic/gin" -) - -func Helloworld(g *gin.Context) { - g.JSON(http.StatusOK, "helloworld from /operator") -} - -//POST /operator/coa/coa-id -func Routes(route *gin.Engine){ - coa := route.Group("/operator") - { - coa.POST("/coa/:coa-id", Helloworld) - } - -} \ No newline at end of file diff --git a/test/integration/api/api_test.go b/test/integration/api/api_test.go index e90b0233..5d961c74 100644 --- a/test/integration/api/api_test.go +++ b/test/integration/api/api_test.go @@ -6,7 +6,7 @@ import ( "io" "net/http" "soarca/internal/controller" - "soarca/models/api" + "soarca/pkg/models/api" "testing" "time" diff --git a/test/integration/api/routes/playbook_api/playbook_api_test.go b/test/integration/api/routes/playbook_api/playbook_api_test.go index 87c6646d..cae6bd3a 100644 --- a/test/integration/api/routes/playbook_api/playbook_api_test.go +++ b/test/integration/api/routes/playbook_api/playbook_api_test.go @@ -10,10 +10,10 @@ import ( "os" "testing" - "soarca/models/api" - "soarca/models/cacao" - "soarca/models/decoder" - playbookRouter "soarca/routes/playbook" + playbookRouter "soarca/pkg/api/playbook" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + "soarca/pkg/models/decoder" mock_database_controller "soarca/test/unittest/mocks/mock_controller/database" mock_playbook "soarca/test/unittest/mocks/mock_playbook_database" diff --git a/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go b/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go index abd5f288..b47f3e2e 100644 --- a/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go +++ b/test/integration/api/routes/reporter_api/reporter_api_invocation_test.go @@ -5,9 +5,9 @@ import ( "fmt" "net/http" "net/http/httptest" - api_model "soarca/models/api" - cache_model "soarca/models/cache" - "soarca/routes/reporter" + "soarca/pkg/api/reporter" + api_model "soarca/pkg/models/api" + cache_model "soarca/pkg/models/cache" mock_cache "soarca/test/unittest/mocks/mock_cache" "testing" diff --git a/test/integration/api/routes/reporter_api/reporter_api_test.go b/test/integration/api/routes/reporter_api/reporter_api_test.go index 0f340bfb..873e9afe 100644 --- a/test/integration/api/routes/reporter_api/reporter_api_test.go +++ b/test/integration/api/routes/reporter_api/reporter_api_test.go @@ -5,11 +5,11 @@ import ( "fmt" "net/http" "net/http/httptest" - "soarca/internal/reporter/downstream_reporter/cache" - api_model "soarca/models/api" - "soarca/models/cacao" - cache_model "soarca/models/cache" - "soarca/routes/reporter" + "soarca/pkg/api/reporter" + api_model "soarca/pkg/models/api" + "soarca/pkg/models/cacao" + cache_model "soarca/pkg/models/cache" + "soarca/pkg/reporter/downstream_reporter/cache" mock_time "soarca/test/unittest/mocks/mock_utils/time" "testing" "time" diff --git a/test/integration/api/routes/trigger_api/tigger_api_test.go b/test/integration/api/routes/trigger_api/tigger_api_test.go index 9ca47dcb..09573102 100644 --- a/test/integration/api/routes/trigger_api/tigger_api_test.go +++ b/test/integration/api/routes/trigger_api/tigger_api_test.go @@ -10,9 +10,9 @@ import ( "os" "testing" - "soarca/internal/decomposer" - "soarca/models/cacao" - "soarca/routes/trigger" + "soarca/pkg/api/trigger" + "soarca/pkg/core/decomposer" + "soarca/pkg/models/cacao" mock_database_controller "soarca/test/unittest/mocks/mock_controller/database" mock_decomposer_controller "soarca/test/unittest/mocks/mock_controller/decomposer" "soarca/test/unittest/mocks/mock_decomposer" diff --git a/test/integration/capability/http/http_integration_test.go b/test/integration/capability/http/http_integration_test.go index f009ed8a..0b81ca0a 100644 --- a/test/integration/capability/http/http_integration_test.go +++ b/test/integration/capability/http/http_integration_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - "soarca/internal/capability/http" - "soarca/models/cacao" - "soarca/models/execution" - httpUtil "soarca/utils/http" + "soarca/pkg/core/capability/http" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" + httpUtil "soarca/pkg/utils/http" "github.com/go-playground/assert/v2" "github.com/google/uuid" diff --git a/test/integration/capability/ssh/ssh_integration_test.go b/test/integration/capability/ssh/ssh_integration_test.go index 49dcb627..0b9b4695 100644 --- a/test/integration/capability/ssh/ssh_integration_test.go +++ b/test/integration/capability/ssh/ssh_integration_test.go @@ -2,9 +2,9 @@ package ssh_integration_test import ( "fmt" - "soarca/internal/capability/ssh" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/capability/ssh" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "testing" "github.com/google/uuid" diff --git a/test/manual/capability/capability_controller_test.go b/test/manual/capability/capability_controller_test.go index f5e27fd5..a93ca0b4 100644 --- a/test/manual/capability/capability_controller_test.go +++ b/test/manual/capability/capability_controller_test.go @@ -2,7 +2,7 @@ package capability_controller_test import ( "fmt" - "soarca/internal/capability/controller" + "soarca/pkg/core/capability/controller" "testing" mqtt "github.com/eclipse/paho.mqtt.golang" diff --git a/test/manual/logger/log_test.go b/test/manual/logger/log_test.go index 9c8b06a0..b6e46e70 100644 --- a/test/manual/logger/log_test.go +++ b/test/manual/logger/log_test.go @@ -4,7 +4,7 @@ import ( "os" "testing" - logger "soarca/logger" + logger "soarca/internal/logger" ) func TestDebugModeLogTrace(t *testing.T) { diff --git a/test/manual/mqtt/mqtt_test.go b/test/manual/mqtt/mqtt_test.go index 916dccba..f54dc893 100644 --- a/test/manual/mqtt/mqtt_test.go +++ b/test/manual/mqtt/mqtt_test.go @@ -2,9 +2,9 @@ package mqtt_test import ( "fmt" - "soarca/internal/fin/protocol" - "soarca/internal/guid" - model "soarca/models/fin" + "soarca/pkg/core/capability/fin/protocol" + model "soarca/pkg/models/fin" + "soarca/pkg/utils/guid" "testing" "github.com/google/uuid" diff --git a/test/manual/powershell/powershell_test.go b/test/manual/powershell/powershell_test.go index f04a26ae..074050cf 100644 --- a/test/manual/powershell/powershell_test.go +++ b/test/manual/powershell/powershell_test.go @@ -2,9 +2,9 @@ package powershell_integration_test import ( "fmt" - "soarca/internal/capability/powershell" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/capability/powershell" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "testing" "github.com/google/uuid" diff --git a/test/manual/thehive_reporter/thehive_test.go b/test/manual/thehive_reporter/thehive_test.go index f9d758bf..59c2d69e 100644 --- a/test/manual/thehive_reporter/thehive_test.go +++ b/test/manual/thehive_reporter/thehive_test.go @@ -4,8 +4,8 @@ import ( "bufio" "fmt" "os" - "soarca/internal/reporter/downstream_reporter/thehive" - "soarca/models/cacao" + thehive "soarca/pkg/integration/thehive/reporter" + "soarca/pkg/models/cacao" "strings" "testing" "time" diff --git a/test/unittest/mocks/mock_cache/mock_cache.go b/test/unittest/mocks/mock_cache/mock_cache.go index dd0d0d9e..d38bb680 100644 --- a/test/unittest/mocks/mock_cache/mock_cache.go +++ b/test/unittest/mocks/mock_cache/mock_cache.go @@ -1,7 +1,7 @@ package mock_cache import ( - cache_model "soarca/models/cache" + cache_model "soarca/pkg/models/cache" "github.com/google/uuid" "github.com/stretchr/testify/mock" diff --git a/test/unittest/mocks/mock_capability/mock_capability.go b/test/unittest/mocks/mock_capability/mock_capability.go index a2b4730d..dbe0c280 100644 --- a/test/unittest/mocks/mock_capability/mock_capability.go +++ b/test/unittest/mocks/mock_capability/mock_capability.go @@ -1,8 +1,8 @@ package mock_capability import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_controller/database/mock_database_controller.go b/test/unittest/mocks/mock_controller/database/mock_database_controller.go index ddabc4a8..9a3560cd 100644 --- a/test/unittest/mocks/mock_controller/database/mock_database_controller.go +++ b/test/unittest/mocks/mock_controller/database/mock_database_controller.go @@ -1,7 +1,7 @@ package mock_database_controller import ( - playbookrepository "soarca/database/playbook" + playbookrepository "soarca/internal/database/playbook" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go b/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go index 2138b283..58e57126 100644 --- a/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go +++ b/test/unittest/mocks/mock_controller/decomposer/mock_decomposer_controller.go @@ -1,7 +1,7 @@ package mock_decomposer_controller import ( - "soarca/internal/decomposer" + "soarca/pkg/core/decomposer" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_decomposer/mock_decomposer.go b/test/unittest/mocks/mock_decomposer/mock_decomposer.go index f3f6d5d9..08fbaecb 100644 --- a/test/unittest/mocks/mock_decomposer/mock_decomposer.go +++ b/test/unittest/mocks/mock_decomposer/mock_decomposer.go @@ -1,8 +1,8 @@ package mock_decomposer import ( - "soarca/internal/decomposer" - "soarca/models/cacao" + "soarca/pkg/core/decomposer" + "soarca/pkg/models/cacao" "github.com/google/uuid" "github.com/stretchr/testify/mock" diff --git a/test/unittest/mocks/mock_executor/condition/condition_executor.go b/test/unittest/mocks/mock_executor/condition/condition_executor.go index 3774c2c6..04e22244 100644 --- a/test/unittest/mocks/mock_executor/condition/condition_executor.go +++ b/test/unittest/mocks/mock_executor/condition/condition_executor.go @@ -1,8 +1,8 @@ package mock_condition_executor import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_executor/mock_executor.go b/test/unittest/mocks/mock_executor/mock_executor.go index 2905ee37..bb2aa2d0 100644 --- a/test/unittest/mocks/mock_executor/mock_executor.go +++ b/test/unittest/mocks/mock_executor/mock_executor.go @@ -1,9 +1,9 @@ package mock_executor import ( - "soarca/internal/executors/action" - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/core/executors/action" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go b/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go index b5643a76..482eb5a2 100644 --- a/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go +++ b/test/unittest/mocks/mock_executor/playbook_action/mock_playbook_action_executor.go @@ -1,8 +1,8 @@ package mock_playbook_action_executor import ( - "soarca/models/cacao" - "soarca/models/execution" + "soarca/pkg/models/cacao" + "soarca/pkg/models/execution" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go b/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go index 276de003..cb18a7fd 100644 --- a/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go +++ b/test/unittest/mocks/mock_finprotocol/mock_finprotocol.go @@ -1,8 +1,8 @@ package mock_finprotocol import ( - "soarca/models/cacao" - "soarca/models/fin" + "soarca/pkg/models/cacao" + "soarca/pkg/models/fin" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go b/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go index 8ec3d44f..da179f40 100644 --- a/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go +++ b/test/unittest/mocks/mock_playbook_database/mock_playbook_database.go @@ -1,8 +1,8 @@ package mock_playbook_database import ( - "soarca/models/api" - "soarca/models/cacao" + "soarca/pkg/models/api" + "soarca/pkg/models/cacao" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go b/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go index 20150a54..e8502458 100644 --- a/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go +++ b/test/unittest/mocks/mock_reporter/mock_downstream_reporter.go @@ -1,7 +1,7 @@ package mock_reporter import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "sync" "time" diff --git a/test/unittest/mocks/mock_reporter/mock_reporter.go b/test/unittest/mocks/mock_reporter/mock_reporter.go index 9325c966..dea75a36 100644 --- a/test/unittest/mocks/mock_reporter/mock_reporter.go +++ b/test/unittest/mocks/mock_reporter/mock_reporter.go @@ -1,7 +1,7 @@ package mock_reporter import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "time" "github.com/google/uuid" diff --git a/test/unittest/mocks/mock_utils/http/mock_http.go b/test/unittest/mocks/mock_utils/http/mock_http.go index 6448f6e4..e2c70a54 100644 --- a/test/unittest/mocks/mock_utils/http/mock_http.go +++ b/test/unittest/mocks/mock_utils/http/mock_http.go @@ -1,7 +1,7 @@ package mock_executor import ( - "soarca/utils/http" + "soarca/pkg/utils/http" "github.com/stretchr/testify/mock" ) diff --git a/test/unittest/mocks/mock_utils/stix/mock_stix.go b/test/unittest/mocks/mock_utils/stix/mock_stix.go index c0fec892..c44cbcc9 100644 --- a/test/unittest/mocks/mock_utils/stix/mock_stix.go +++ b/test/unittest/mocks/mock_utils/stix/mock_stix.go @@ -1,7 +1,7 @@ package mock_stix import ( - "soarca/models/cacao" + "soarca/pkg/models/cacao" "github.com/stretchr/testify/mock" )