Back to godoc.org

Package exec

v0.29.1
Latest Go to latest

The highest tagged major version is .

Published: Sep 23, 2020 | License: Apache-2.0 | Module: get.porter.sh/porter

Index

Constants

const (
	// CodeEmbeddedBash is the linter code for when a bash -c command is found.
	CodeEmbeddedBash linter.Code = "exec-100"

	// CodeBashCArgMissingQuotes is the linter code for when a bash -c flag argument is missing the required wrapping quotes.
	CodeBashCArgMissingQuotes linter.Code = "exec-101"
)

func NewSchemaBox

func NewSchemaBox() *packr.Box

type Action

type Action struct {
	Name  string
	Steps []Step // using UnmarshalYAML so that we don't need a custom type per action
}

func (Action) GetSteps

func (a Action) GetSteps() []builder.ExecutableStep

func (Action) MakeSteps

func (a Action) MakeSteps() interface{}

MakeSteps builds a slice of Steps for data to be unmarshaled into.

func (Action) MarshalYAML

func (a Action) MarshalYAML() (interface{}, error)

MarshalYAML converts the action back to a YAML representation install:

exec:
  ...
helm:
  ...

func (*Action) UnmarshalYAML

func (a *Action) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML takes any yaml in this form ACTION: - exec: ... and puts the steps into the Action.Steps field

type Actions

type Actions []Action

Actions is a set of actions, and the steps, passed from Porter.

func (*Actions) UnmarshalYAML

func (a *Actions) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML takes chunks of a porter.yaml file associated with this mixin and populates it on the current action set. install:

exec:
  ...
exec:
  ...

upgrade:

exec:
  ...

type BuildInput

type BuildInput struct {

	// Actions is all the exec actions defined in the manifest
	Actions Actions `yaml:"actions"`
}

BuildInput represents stdin sent by porter to the build and lint commands

type ExecuteOptions

type ExecuteOptions struct {
	File string
}

ExecOptions represent the options for any exec command

type Instruction

type Instruction struct {
	Description     string        `yaml:"description"`
	Command         string        `yaml:"command"`
	Arguments       []string      `yaml:"arguments,omitempty"`
	SuffixArguments []string      `yaml:"suffix-arguments,omitempty"`
	Flags           builder.Flags `yaml:"flags,omitempty"`
	Outputs         []Output      `yaml:"outputs,omitempty"`
	SuppressOutput  bool          `yaml:"suppress-output,omitempty"`
}

type Mixin

type Mixin struct {
	*context.Context
	// contains filtered or unexported fields
}

Exec is the logic behind the exec mixin

func New

func New() *Mixin

New exec mixin client, initialized with useful defaults.

func (*Mixin) Execute

func (m *Mixin) Execute(opts ExecuteOptions) error

func (*Mixin) GetSchema

func (m *Mixin) GetSchema() (string, error)

func (*Mixin) Lint

func (m *Mixin) Lint() (linter.Results, error)

func (*Mixin) PrintLintResults

func (m *Mixin) PrintLintResults() error

func (*Mixin) PrintSchema

func (m *Mixin) PrintSchema() error

func (*Mixin) PrintVersion

func (m *Mixin) PrintVersion(opts version.Options) error

type Output

type Output struct {
	Name     string `yaml:"name"`
	FilePath string `yaml:"path,omitempty"`
	JsonPath string `yaml:"jsonPath,omitempty"`
	Regex    string `yaml:"regex,omitempty"`
}

func (Output) GetFilePath

func (o Output) GetFilePath() string

func (Output) GetJsonPath

func (o Output) GetJsonPath() string

func (Output) GetName

func (o Output) GetName() string

func (Output) GetRegex

func (o Output) GetRegex() string

type Step

type Step struct {
	Instruction `yaml:"exec"`
}

func (Step) GetArguments

func (s Step) GetArguments() []string

func (Step) GetCommand

func (s Step) GetCommand() string

func (Step) GetFlags

func (s Step) GetFlags() builder.Flags

func (Step) GetOutputs

func (s Step) GetOutputs() []builder.Output

func (Step) GetSuffixArguments

func (s Step) GetSuffixArguments() []string

func (Step) SuppressesOutput

func (s Step) SuppressesOutput() bool

type TestMixin

type TestMixin struct {
	*Mixin
	TestContext *context.TestContext
}

func NewTestMixin

func NewTestMixin(t *testing.T) *TestMixin

NewTestMixin initializes a helm mixin, with the output buffered, and an in-memory file system.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier