refactor: consolidate AgentFile struct into common package

Created aggregator/pkg/common module with shared AgentFile type.
Removed duplicate definitions from migration and services packages.
Both agent and server now use common.AgentFile.
This commit is contained in:
Fimeg
2025-11-10 22:03:43 -05:00
parent ddaa9ac637
commit 4531ca34c5
9 changed files with 98 additions and 59 deletions

View File

@@ -14,6 +14,8 @@ import (
"runtime"
"strings"
"time"
"github.com/Fimeg/RedFlag/aggregator/pkg/common"
)
// DockerDetection represents Docker secrets detection results
@@ -23,7 +25,7 @@ type DockerDetection struct {
RequiredSecrets []string `json:"required_secrets"`
ExistingSecrets []string `json:"existing_secrets"`
MigrateToSecrets bool `json:"migrate_to_secrets"`
SecretFiles []AgentFile `json:"secret_files"`
SecretFiles []common.AgentFile `json:"secret_files"`
DetectionTime time.Time `json:"detection_time"`
}
@@ -88,8 +90,8 @@ func DetectDockerSecretsRequirements(config *FileDetectionConfig) (*DockerDetect
}
// scanSecretFiles scans for files containing sensitive data
func scanSecretFiles(config *FileDetectionConfig) ([]AgentFile, error) {
var secretFiles []AgentFile
func scanSecretFiles(config *FileDetectionConfig) ([]common.AgentFile, error) {
var secretFiles []common.AgentFile
// Define sensitive file patterns
secretPatterns := []string{
@@ -116,8 +118,8 @@ func scanSecretFiles(config *FileDetectionConfig) ([]AgentFile, error) {
}
// scanSecretDirectory scans a directory for files that may contain secrets
func scanSecretDirectory(dirPath string, patterns []string) ([]AgentFile, error) {
var files []AgentFile
func scanSecretDirectory(dirPath string, patterns []string) ([]common.AgentFile, error) {
var files []common.AgentFile
err := filepath.Walk(dirPath, func(path string, info os.FileInfo, err error) error {
if err != nil {
@@ -146,13 +148,13 @@ func scanSecretDirectory(dirPath string, patterns []string) ([]AgentFile, error)
}
// addSecretFile adds a file to the secret files list
func addSecretFile(files *[]AgentFile, path string, info os.FileInfo) error {
func addSecretFile(files *[]common.AgentFile, path string, info os.FileInfo) error {
checksum, err := calculateFileChecksum(path)
if err != nil {
return nil // Skip files we can't read
}
file := AgentFile{
file := common.AgentFile{
Path: path,
Size: info.Size(),
ModifiedTime: info.ModTime(),
@@ -228,7 +230,7 @@ func containsString(s, substr string) bool {
}
// identifyRequiredSecrets identifies which secrets need to be created
func identifyRequiredSecrets(secretFiles []AgentFile) []string {
func identifyRequiredSecrets(secretFiles []common.AgentFile) []string {
var secrets []string
for _, file := range secretFiles {
secretName := filepath.Base(file.Path)