added wwctl genconfig warewulfconf print

Signed-off-by: Christian Goll <cgoll@suse.de>
This commit is contained in:
Christian Goll
2023-03-03 14:07:26 +01:00
parent 78978ad233
commit 32b4bb74cc
6 changed files with 71 additions and 27 deletions

View File

@@ -1,26 +0,0 @@
package main
// Regenerates the default configuration files
// Keeps the current content and adds missing default values
// Won't create a new file, but will update a blank file
//TODO: Add nodes.conf
import (
"fmt"
"github.com/hpcng/warewulf/internal/pkg/warewulfconf"
)
func main() {
tmpConf, err := warewulfconf.New()
if err != nil {
fmt.Println(err)
return
}
err = tmpConf.Persist()
if err != nil {
fmt.Println(err)
return
}
}

View File

@@ -5,6 +5,7 @@ import (
"github.com/hpcng/warewulf/internal/app/wwctl/genconf/dfaults"
"github.com/hpcng/warewulf/internal/app/wwctl/genconf/man"
"github.com/hpcng/warewulf/internal/app/wwctl/genconf/reference"
"github.com/hpcng/warewulf/internal/app/wwctl/genconf/warewulfconf"
"github.com/spf13/cobra"
)
@@ -25,6 +26,7 @@ func init() {
baseCmd.AddCommand(man.GetCommand())
baseCmd.AddCommand(reference.GetCommand())
baseCmd.AddCommand(dfaults.GetCommand())
baseCmd.AddCommand(warewulfconf.GetCommand())
}
// GetRootCommand returns the root cobra.Command for the application.

View File

@@ -0,0 +1,19 @@
package print
import (
"fmt"
"github.com/hpcng/warewulf/internal/pkg/warewulfconf"
"github.com/spf13/cobra"
"gopkg.in/yaml.v2"
)
func CobraRunE(cmd *cobra.Command, args []string) (err error) {
conf := warewulfconf.New()
buffer, err := yaml.Marshal(&conf)
if err != nil {
return
}
fmt.Println(string(buffer))
return
}

View File

@@ -0,0 +1,22 @@
package print
import (
"github.com/spf13/cobra"
)
var (
baseCmd = &cobra.Command{
Use: "print",
Short: "print wareweulf.conf",
Long: "This command prints the actual used warewulf.conf, can be used to create an empty valid warewulf.conf",
RunE: CobraRunE,
Args: cobra.ExactArgs(0),
}
)
func init() {
}
func GetCommand() *cobra.Command {
return baseCmd
}

View File

@@ -0,0 +1,27 @@
package warewulfconf
import (
"github.com/hpcng/warewulf/internal/app/wwctl/genconf/warewulfconf/print"
"github.com/spf13/cobra"
)
var (
baseCmd = &cobra.Command{
Use: "warewulfconf",
Short: "access warewulf.conf",
Long: "Commands for accessing the actual used warewulf.conf",
Args: cobra.ExactArgs(0),
Aliases: []string{"cnf"},
}
ListFull bool
WWctlRoot *cobra.Command
)
func init() {
baseCmd.AddCommand(print.GetCommand())
}
// GetRootCommand returns the root cobra.Command for the application.
func GetCommand() *cobra.Command {
return baseCmd
}

View File

@@ -17,7 +17,7 @@ type ControllerConf struct {
Dhcp *DhcpConf `yaml:"dhcp"`
Tftp *TftpConf `yaml:"tftp"`
Nfs *NfsConf `yaml:"nfs"`
MountsContainer []*MountEntry `yaml:"container mounts"`
MountsContainer []*MountEntry `yaml:"container mounts" default:"[{\"source\": \"/etc/resolv.conf\", \"dest\": \"/etc/resolv.conf\"}]"`
current bool
}