diff --git a/internal/interfaces/interfaces.go b/internal/interfaces/interfaces.go deleted file mode 100644 index 8f24e98..0000000 --- a/internal/interfaces/interfaces.go +++ /dev/null @@ -1,47 +0,0 @@ -package interfaces - -import ( - "bytes" - "fmt" - "os" - "os/exec" - - "nfsense.net/nfsense/internal/definitions" -) - -func GenerateInterfacesFile(conf definitions.Config) (string, error) { - buf := new(bytes.Buffer) - err := templates.ExecuteTemplate(buf, "interfaces.tmpl", conf) - if err != nil { - return "", fmt.Errorf("executing template: %w", err) - } - return buf.String(), nil -} - -func ApplyInterfacesFile(content string) (string, error) { - f, err := os.Create("interfaces.conf") - if err != nil { - return "", fmt.Errorf("creating File: %w", err) - } - - _, err = f.WriteString(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) - } - - cmd := exec.Command("ifreload", "-a") - - var out bytes.Buffer - cmd.Stdout = &out - - err = cmd.Run() - if err != nil { - return "", fmt.Errorf("reloading Interfaces: %w", err) - } - return out.String(), nil -} diff --git a/internal/interfaces/template.go b/internal/interfaces/template.go deleted file mode 100644 index b36b0b8..0000000 --- a/internal/interfaces/template.go +++ /dev/null @@ -1,19 +0,0 @@ -package interfaces - -import ( - "embed" - "text/template" -) - -//go:embed template -var templateFS embed.FS -var templates *template.Template - -func init() { - - var err error - templates, err = template.New("").ParseFS(templateFS, "template/*.tmpl") - if err != nil { - panic(err) - } -} diff --git a/internal/interfaces/template/link.tmpl b/internal/interfaces/template/link.tmpl deleted file mode 100644 index b40e06e..0000000 --- a/internal/interfaces/template/link.tmpl +++ /dev/null @@ -1,13 +0,0 @@ -[Match] -{{ if .VlanID -}} -OriginalName={{ .Name .VlanID }} -{{- else -}} -MACAddress={{ .Mac }} -{{- end }} -[Link] -{{ if .VlanID -}} -MACAddress={{ .Mac }} -{{ end -}} -{{ if .Alias -}} -Alias={{ .Alias }} -{{- end }} \ No newline at end of file diff --git a/internal/interfaces/template/netdev.tmpl b/internal/interfaces/template/netdev.tmpl deleted file mode 100644 index 380d189..0000000 --- a/internal/interfaces/template/netdev.tmpl +++ /dev/null @@ -1,5 +0,0 @@ -[NetDev] -Name={{ .Name }} -Kind=vlan -[VLAN] -Id={{ .VlanID }} \ No newline at end of file diff --git a/internal/interfaces/template/network.tmpl b/internal/interfaces/template/network.tmpl deleted file mode 100644 index a76eaa2..0000000 --- a/internal/interfaces/template/network.tmpl +++ /dev/null @@ -1,21 +0,0 @@ -[Match] -{{ if .VlanID -}} -OriginalName={{ .Name .VlanID }} -{{- else -}} -MACAddress={{ .Mac }} -{{- end }} -[Network] -LLMNR=no -{{- if and .DHCP4 .DHCP6 }} -DHCP=yes -{{- else if .DHCP4 }} -DHCP=ipv4 -{{- else if .DHCP6 }} -DHCP=ipv6 -{{- end }} -{{- range .IPs }} -Address={{ . }} -{{- end }} -{{- range .Vlans }} -VLAN={{ VlanIDName . }} -{{- end}} \ No newline at end of file diff --git a/internal/networkd/template/bond-membership.network.tmpl b/internal/networkd/template/bond-membership.network.tmpl new file mode 100644 index 0000000..2a0c712 --- /dev/null +++ b/internal/networkd/template/bond-membership.network.tmpl @@ -0,0 +1,5 @@ +[Match] +Name= {{ .Name }} + +[Network] +Vlan= {{ .BondName }} diff --git a/internal/networkd/template/bridge-membership.network.tmpl b/internal/networkd/template/bridge-membership.network.tmpl new file mode 100644 index 0000000..acb90b7 --- /dev/null +++ b/internal/networkd/template/bridge-membership.network.tmpl @@ -0,0 +1,5 @@ +[Match] +Name= {{ .Name }} + +[Network] +Bridge= {{ .BridgeName }} diff --git a/internal/networkd/template/config-addressing.network.tmpl b/internal/networkd/template/config-addressing.network.tmpl new file mode 100644 index 0000000..dc4276c --- /dev/null +++ b/internal/networkd/template/config-addressing.network.tmpl @@ -0,0 +1,9 @@ +[Match] +Name= {{ .Name }} +[Network] +LLMNR=no +{{ if eq .AddressingMode 2 }} +DHCP=yes +{{- else }} +Address= {{ .Name }} +{{- end }} \ No newline at end of file diff --git a/internal/networkd/template/create-bond.netdev.tmpl b/internal/networkd/template/create-bond.netdev.tmpl new file mode 100644 index 0000000..ebd90b7 --- /dev/null +++ b/internal/networkd/template/create-bond.netdev.tmpl @@ -0,0 +1,6 @@ +[NetDev] +Name= {{ .Name }} +Kind=bond + +[Bond] +Mode=active-backup \ No newline at end of file diff --git a/internal/networkd/template/create-bridge.netdev.tmpl b/internal/networkd/template/create-bridge.netdev.tmpl new file mode 100644 index 0000000..72358ff --- /dev/null +++ b/internal/networkd/template/create-bridge.netdev.tmpl @@ -0,0 +1,3 @@ +[NetDev] +Name= {{ .Name }} +Kind=bridge \ No newline at end of file diff --git a/internal/networkd/template/create-vlan.netdev.tmpl b/internal/networkd/template/create-vlan.netdev.tmpl new file mode 100644 index 0000000..1610d3f --- /dev/null +++ b/internal/networkd/template/create-vlan.netdev.tmpl @@ -0,0 +1,6 @@ +[NetDev] +Name= {{ .Name }} +Kind=vlan + +[VLAN] +Id= {{ .VlanID }} \ No newline at end of file diff --git a/internal/networkd/template/rename-hardware.link.tmpl b/internal/networkd/template/rename-hardware.link.tmpl new file mode 100644 index 0000000..19c280e --- /dev/null +++ b/internal/networkd/template/rename-hardware.link.tmpl @@ -0,0 +1,8 @@ +[Match] +OriginalName= {{ .HardwareInterface }} + +[Link] +Name= {{ .Name }} +{{ if .Alias -}} +Alias= {{ .Alias }} +{{- end }} \ No newline at end of file diff --git a/internal/networkd/template/vlan-assignments.network.tmpl b/internal/networkd/template/vlan-assignments.network.tmpl new file mode 100644 index 0000000..e401f6f --- /dev/null +++ b/internal/networkd/template/vlan-assignments.network.tmpl @@ -0,0 +1,7 @@ +[Match] +Name= {{ .Name }} + +[Network] +{{- range .Vlans }} +VLAN= {{ . }} +{{- end}} \ No newline at end of file