github.com/flanksource/konfigadm@v0.12.0/pkg/phases/commands.go (about)

     1  package phases
     2  
     3  import (
     4  	"github.com/flanksource/konfigadm/pkg/types"
     5  )
     6  
     7  var CommandsPhase types.AllPhases = command{}
     8  
     9  type command struct{}
    10  
    11  func (p command) ApplyPhase(sys *types.Config, ctx *types.SystemContext) ([]types.Command, types.Filesystem, error) {
    12  	var commands []types.Command
    13  	files := types.Filesystem{}
    14  	commands = append(commands, sys.PreCommands...)
    15  	commands = append(commands, sys.Commands...)
    16  	commands = append(commands, sys.PostCommands...)
    17  	sys.PreCommands = nil
    18  	sys.Commands = nil
    19  	sys.PostCommands = nil
    20  
    21  	return commands, files, nil
    22  }
    23  func (p command) ProcessFlags(sys *types.Config, flags ...types.Flag) {
    24  	sys.PreCommands = types.FilterFlags(sys.PreCommands, flags...)
    25  	sys.Commands = types.FilterFlags(sys.Commands, flags...)
    26  	sys.PostCommands = types.FilterFlags(sys.PostCommands, flags...)
    27  }