github.com/ggreg80/ketos@v0.0.0-20171109040536-049616f51ddb/cmd/init/command.go (about)

     1  package initk
     2  
     3  import (
     4  	"github.com/setekhid/ketos/pkg/metadata"
     5  	"github.com/spf13/cobra"
     6  	"path/filepath"
     7  )
     8  
     9  var (
    10  	Command = &cobra.Command{
    11  		Use:   "init",
    12  		Short: "init [--image|-I setekhid/scratch:latest] .",
    13  		Args:  cobra.ExactArgs(1),
    14  
    15  		RunE: initMain,
    16  	}
    17  )
    18  
    19  func init() {
    20  
    21  	flags := Command.Flags()
    22  	flags.StringP("image", "I", "setekhid/scratch:latest",
    23  		"initialize image")
    24  }
    25  
    26  func initMain(cmd *cobra.Command, args []string) error {
    27  
    28  	initImageName, err := cmd.Flags().GetString("image")
    29  	if err != nil {
    30  		return err
    31  	}
    32  	workingDir := args[0]
    33  
    34  	meta, err := metadata.NewMetadata(
    35  		filepath.Join(workingDir, metadata.KetosMetaFolder),
    36  		initImageName)
    37  	if err != nil {
    38  		return err
    39  	}
    40  
    41  	// TODO pull down init image
    42  	_ = meta
    43  
    44  	return nil
    45  }