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/)
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"
)