2 changed files with 56 additions and 0 deletions
@ -0,0 +1,23 @@ |
|||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"github.com/spf13/cobra" |
||||||
|
) |
||||||
|
|
||||||
|
// Command
|
||||||
|
var writeCmd = &cobra.Command{ |
||||||
|
Use: "write", |
||||||
|
Short: "rewrites all config files", |
||||||
|
RunE: func(_ *cobra.Command, _ []string) error { |
||||||
|
m, err := cfg.LoadZones() |
||||||
|
if err != nil { |
||||||
|
return err |
||||||
|
} |
||||||
|
|
||||||
|
return m.SyncAll() |
||||||
|
}, |
||||||
|
} |
||||||
|
|
||||||
|
func init() { |
||||||
|
rootCmd.AddCommand(writeCmd) |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
package zones |
||||||
|
|
||||||
|
// SyncAll updates all config files
|
||||||
|
func (m *Zones) SyncAll() error { |
||||||
|
for _, fn := range []func() error{ |
||||||
|
m.SyncAllWireguard, |
||||||
|
} { |
||||||
|
if err := fn(); err != nil { |
||||||
|
return err |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
// SyncAllWireguard updates all wireguard config files
|
||||||
|
func (m *Zones) SyncAllWireguard() error { |
||||||
|
var err error |
||||||
|
|
||||||
|
for ring := 0; ring < RingsCount; ring++ { |
||||||
|
err = m.PruneWireguardConfig(ring) |
||||||
|
if err != nil { |
||||||
|
return err |
||||||
|
} |
||||||
|
|
||||||
|
err = m.WriteWireguardKeys(ring) |
||||||
|
if err != nil { |
||||||
|
return err |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return nil |
||||||
|
} |
Loading…
Reference in new issue