From 5db16b37e1b5cc1ab1ebe7b5d3b9b674739eeaef Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Fri, 7 Apr 2023 21:56:46 +0200 Subject: [PATCH] add networkd test apply logic --- internal/networkd/apply.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 internal/networkd/apply.go diff --git a/internal/networkd/apply.go b/internal/networkd/apply.go new file mode 100644 index 0000000..0b83b59 --- /dev/null +++ b/internal/networkd/apply.go @@ -0,0 +1,33 @@ +package networkd + +import ( + "fmt" + "os" + + "nfsense.net/nfsense/internal/definitions" +) + +func ApplyNetworkdConfiguration(currentConfig definitions.Config, pendingConfig definitions.Config) error { + files, err := GenerateNetworkdConfiguration(pendingConfig) + if err != nil { + return fmt.Errorf("Generating Networkd Configuration: %w", err) + } + + for _, file := range files { + f, err := os.Create("out/" + file.Name) + if err != nil { + return fmt.Errorf("creating File: %w", err) + } + + _, err = f.WriteString(file.Content + "\n") + if err != nil { + return fmt.Errorf("writing File: %w", err) + } + + err = f.Sync() + if err != nil { + return fmt.Errorf("syncing File: %w", err) + } + } + return nil +}