From d38b5613090b7247b5c815fe34019ca1e2e13f36 Mon Sep 17 00:00:00 2001 From: Michael Hohn Date: Fri, 10 May 2024 13:28:47 -0700 Subject: [PATCH] Set up nested directory structure for interfaces, configuration, structs, libraries --- cmd/commander/main.go | 28 +--------------------------- config/mcc/system.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 config/mcc/system.go diff --git a/cmd/commander/main.go b/cmd/commander/main.go index 8a99c8d..cb3a528 100644 --- a/cmd/commander/main.go +++ b/cmd/commander/main.go @@ -9,7 +9,6 @@ import ( "log/slog" "os" - "github.com/BurntSushi/toml" "github.com/advanced-security/mrvacommander/config/mcc" "github.com/advanced-security/mrvacommander/interfaces/mci" "github.com/advanced-security/mrvacommander/lib/commander/lcmem" @@ -58,7 +57,7 @@ func main() { } // Read configuration - config := loadConfig("cconfig.toml") + config := mcc.LoadConfig("cconfig.toml") // Apply 'mode' flag switch *mode { @@ -89,28 +88,3 @@ func main() { // Run in the chosen mode } - -type MCConfig struct { - commander mcc.Commander - logger mcc.Logger - queue mcc.Queue - storage mcc.Storage - runner mcc.Runner -} - -func loadConfig(fname string) *MCConfig { - if _, err := os.Stat(fname); err != nil { - slog.Error("Configuration file %s not found", f) - os.Exit(1) - } - - var config MCConfig - - _, err := toml.DecodeFile(fname, &config) - if err != nil { - slog.Error("", err) - os.Exit(1) - } - - return &config -} diff --git a/config/mcc/system.go b/config/mcc/system.go new file mode 100644 index 0000000..734083b --- /dev/null +++ b/config/mcc/system.go @@ -0,0 +1,33 @@ +package mcc + +import ( + "log/slog" + "os" + + "github.com/BurntSushi/toml" +) + +type System struct { + commander Commander + logger Logger + queue Queue + storage Storage + runner Runner +} + +func LoadConfig(fname string) *System { + if _, err := os.Stat(fname); err != nil { + slog.Error("Configuration file %s not found", fname) + os.Exit(1) + } + + var config System + + _, err := toml.DecodeFile(fname, &config) + if err != nil { + slog.Error("", err) + os.Exit(1) + } + + return &config +}