penguin/monok8s

k8s image for Mono Gateway Dev Kit

clitools/pkg/cmd/checkconfig/checkconfig.go

raw ยท 719 bytes

package checkconfig

import (
	"fmt"

	"undecided.project/monok8s/pkg/config"
	"github.com/spf13/cobra"
)

func NewCmdCheckConfig() *cobra.Command {
	var configPath string
	cmd := &cobra.Command{
		Use:   "checkconfig",
		Short: "Validate a MonoKSConfig",
		RunE: func(cmd *cobra.Command, _ []string) error {
			path, err := (config.Loader{}).ResolvePath(configPath)
			if err != nil {
				return err
			}
			cfg, err := (config.Loader{}).Load(path)
			if err != nil {
				return err
			}
			fmt.Fprintf(cmd.OutOrStdout(), "OK: %s (%s / %s)\n", path, cfg.Spec.NodeName, cfg.Spec.KubernetesVersion)
			return nil
		},
	}
	cmd.Flags().StringVarP(&configPath, "config", "c", "", "path to MonoKSConfig yaml")
	return cmd
}