Skip to content

Commit

Permalink
implement partial config generation. Closes #4
Browse files Browse the repository at this point in the history
  • Loading branch information
karasz committed May 31, 2021
1 parent a08f643 commit 241acb3
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
6 changes: 4 additions & 2 deletions cmd/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@ var generateCmd = &cobra.Command{
Long: `Generate will create the configs file in the specified folder`,
Run: func(cmd *cobra.Command, args []string) {
out, _ := cmd.Flags().GetString("output")
id, _ := cmd.Flags().GetInt("id")
err := thePeers.GenerateConfigs(out, id)
id, _ := cmd.Flags().GetInt("network_id")
peername, _ := cmd.Flags().GetString("peer_name")
err := thePeers.GenerateConfigs(out, id, peername)
if err != nil {
fmt.Println("generate", err)
}
Expand All @@ -45,5 +46,6 @@ var generateCmd = &cobra.Command{
func init() {
generateCmd.Flags().StringP("output", "o", "output", "Directory where to output configs.")
generateCmd.Flags().IntP("network_id", "i", 0, "ID of the network to generate")
generateCmd.Flags().StringP("peer_name", "p", "", "Generate config for this peer")
rootCmd.AddCommand(generateCmd)
}
14 changes: 11 additions & 3 deletions wireguard/peers.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,21 @@ func (p Peers) DeletePeer(pr string) {

//GenerateConfigs will generate the Wireguard mesh
//configs in the specified folder
func (p Peers) GenerateConfigs(folder string, id int) error {
func (p Peers) GenerateConfigs(folder string, id int, peername string) error {
var err error
if err = os.MkdirAll(folder, 0775); err != nil {
return err
}
for i := range p {
err = p.dumpConfig(p[i], folder, id)
if peername == "" {
for i := range p {
err = p.dumpConfig(p[i], folder, id)
}
} else {
for j := range p {
if p[j].Name == peername {
err = p.dumpConfig(p[j], folder, id)
}
}
}
return err
}
Expand Down

0 comments on commit 241acb3

Please sign in to comment.