Documentation
¶
Index ¶
- Variables
- func CreateCommandFromScript(ctx context.Context, script string, envs []string, setup *ExecSetup, ...) (*exec.Cmd, error)
- func DetectDefaultInterpreter() (string, []string)
- func DetectInterpreterFromShebang(script string) (string, []string)
- func JQ(ctx context.Context, path string, script string) (string, error)
- func TrimLine(lines string, prefix string) string
- func YQ(ctx context.Context, path string, script string) (string, error)
- type Artifact
- type Exec
- type ExecDetails
- type ExecSetup
- type RuntimeSetup
Constants ¶
This section is empty.
Variables ¶
var DefaultInterpreter string
var DefaultInterpreterArgs []string
Functions ¶
func CreateCommandFromScript ¶
func CreateCommandFromScript(ctx context.Context, script string, envs []string, setup *ExecSetup, runID string) (*exec.Cmd, error)
CreateCommandFromScript creates an os/exec.Cmd from the script, using the interpreter specified in the shebang line if present.
func DetectDefaultInterpreter ¶
DetectDefaultInterpreter detects the default interpreter based on the OS.
func DetectInterpreterFromShebang ¶
DetectInterpreterFromShebang reads the first line of the script to detect the interpreter from the shebang line.
Types ¶
type Artifact ¶
type Artifact struct {
Path string `json:"path" yaml:"path" template:"true"`
}
+kubebuilder:object:generate=true
func (*Artifact) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifact.
func (*Artifact) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Exec ¶
type Exec struct {
Script string
Connections connection.ExecConnections
Checkout *connection.GitConnection
Artifacts []Artifact
EnvVars []types.EnvVar
Chroot string
Setup *ExecSetup
}
type ExecDetails ¶
type ExecDetails struct {
Stdout string `json:"stdout"`
Stderr string `json:"stderr"`
ExitCode int `json:"exitCode"`
Path string `json:"path"`
Args []string `json:"args"`
// Any extra details about the command execution, e.g. git commit id, etc.
Extra map[string]any `json:"extra,omitempty"`
Error error `json:"-" yaml:"-"`
Artifacts []artifacts.Artifact `json:"-" yaml:"-"`
}
func (*ExecDetails) GetArtifacts ¶
func (e *ExecDetails) GetArtifacts() []artifacts.Artifact
func (ExecDetails) String ¶
func (e ExecDetails) String() string
type ExecSetup ¶ added in v1.0.1134
type ExecSetup struct {
Bun *RuntimeSetup `json:"bun,omitempty" yaml:"bun,omitempty"`
Python *RuntimeSetup `json:"python,omitempty" yaml:"python,omitempty"`
}
+kubebuilder:object:generate=true
func (*ExecSetup) DeepCopy ¶ added in v1.0.1134
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecSetup.
func (*ExecSetup) DeepCopyInto ¶ added in v1.0.1134
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuntimeSetup ¶ added in v1.0.1134
type RuntimeSetup struct {
Version string `json:"version,omitempty" yaml:"version,omitempty"`
}
+kubebuilder:object:generate=true
func (*RuntimeSetup) DeepCopy ¶ added in v1.0.1134
func (in *RuntimeSetup) DeepCopy() *RuntimeSetup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeSetup.
func (*RuntimeSetup) DeepCopyInto ¶ added in v1.0.1134
func (in *RuntimeSetup) DeepCopyInto(out *RuntimeSetup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.