Documentation
¶
Index ¶
- Constants
- Variables
- func ApplyContainerConditions(containers []Container, stepConfig *StepConfig)
- func AvailableFlagValues(cmd *cobra.Command, filters *StepFilters) map[string]interface{}
- func EnvVarsAsMap(envVars []EnvVar) map[string]string
- func GetJSON(data interface{}) (string, error)
- func MarkFlagsWithValue(cmd *cobra.Command, stepConfig StepConfig)
- func OpenPiperFile(name string, accessTokens map[string]string) (io.ReadCloser, error)
- func OptionsAsStringSlice(options []Option) []string
- func RemoveVaultSecretFiles()
- type Alias
- type Condition
- type Config
- func (c *Config) ApplyAliasConfig(parameters []StepParameters, secrets []StepSecrets, filters StepFilters, ...)
- func (c *Config) GetStageConfig(paramJSON string, configuration io.ReadCloser, defaults []io.ReadCloser, ...) (StepConfig, error)
- func (c *Config) GetStepConfig(flagValues map[string]interface{}, paramJSON string, ...) (StepConfig, error)
- func (c *Config) InitializeConfig(configuration io.ReadCloser, defaults []io.ReadCloser, ...) error
- func (c *Config) ReadConfig(configuration io.ReadCloser) error
- func (c *Config) SetVaultCredentials(appRoleID, appRoleSecretID string, vaultToken string)
- type Container
- type EnvVar
- type Option
- type Param
- type ParseError
- type PipelineDefaults
- type ResourceReference
- type RunConfig
- type StageConfig
- type StepConditions
- type StepConfig
- type StepData
- func (m *StepData) GetContextDefaults(stepName string) (io.ReadCloser, error)
- func (m *StepData) GetContextParameterFilters() StepFilters
- func (m *StepData) GetParameterFilters() StepFilters
- func (m *StepData) GetResourceParameters(path, name string) map[string]interface{}
- func (m *StepData) HasReference(refType string) bool
- func (m *StepData) ReadPipelineStepData(metadata io.ReadCloser) error
- type StepFilters
- type StepInputs
- type StepMetadata
- type StepOutputs
- type StepParameters
- type StepResources
- type StepSecrets
- type StepSpec
- type VaultCredentials
Constants ¶
const InfluxField = "field"
InfluxField is the constant for an Influx field
const InfluxTag = "tag"
InfluxTag is the constant for an Influx field
Variables ¶
var (
// VaultSecretFileDirectory holds the directory for the current step run to temporarily store secret files fetched from vault
VaultSecretFileDirectory = ""
)
Functions ¶
func ApplyContainerConditions ¶ added in v1.55.0
func ApplyContainerConditions(containers []Container, stepConfig *StepConfig)
ApplyContainerConditions evaluates conditions in step yaml container definitions
func AvailableFlagValues ¶
func AvailableFlagValues(cmd *cobra.Command, filters *StepFilters) map[string]interface{}
AvailableFlagValues returns all flags incl. values which are available to the command.
func EnvVarsAsMap ¶ added in v1.57.0
EnvVarsAsMap converts container EnvVars into a map as required by dockerExecute
func MarkFlagsWithValue ¶
func MarkFlagsWithValue(cmd *cobra.Command, stepConfig StepConfig)
MarkFlagsWithValue marks a flag as changed if value is available for the flag through the step configuration.
func OpenPiperFile ¶ added in v1.1.0
OpenPiperFile provides functionality to retrieve configuration via file or http
func OptionsAsStringSlice ¶ added in v1.57.0
OptionsAsStringSlice converts container options into a string slice as required by dockerExecute
func RemoveVaultSecretFiles ¶ added in v1.98.0
func RemoveVaultSecretFiles()
RemoveVaultSecretFiles removes all secret files that have been created during execution
Types ¶
type Alias ¶
type Alias struct {
Name string `json:"name,omitempty"`
Deprecated bool `json:"deprecated,omitempty"`
}
Alias defines a step input parameter alias
type Condition ¶
Condition defines an condition which decides when the parameter, resource or container is valid
type Config ¶
type Config struct {
CustomDefaults []string `json:"customDefaults,omitempty"`
General map[string]interface{} `json:"general"`
Stages map[string]map[string]interface{} `json:"stages"`
Steps map[string]map[string]interface{} `json:"steps"`
Hooks map[string]interface{} `json:"hooks,omitempty"`
// contains filtered or unexported fields
}
Config defines the structure of the config files
func (*Config) ApplyAliasConfig ¶
func (c *Config) ApplyAliasConfig(parameters []StepParameters, secrets []StepSecrets, filters StepFilters, stageName, stepName string, stepAliases []Alias)
ApplyAliasConfig adds configuration values available on aliases to primary configuration parameters
func (*Config) GetStageConfig ¶ added in v1.160.0
func (c *Config) GetStageConfig(paramJSON string, configuration io.ReadCloser, defaults []io.ReadCloser, ignoreCustomDefaults bool, acceptedParams []string, stageName string) (StepConfig, error)
func (*Config) GetStepConfig ¶
func (c *Config) GetStepConfig(flagValues map[string]interface{}, paramJSON string, configuration io.ReadCloser, defaults []io.ReadCloser, ignoreCustomDefaults bool, filters StepFilters, parameters []StepParameters, secrets []StepSecrets, envParameters map[string]interface{}, stageName, stepName string, stepAliases []Alias) (StepConfig, error)
GetStepConfig provides merged step configuration using defaults, config, if available
func (*Config) InitializeConfig ¶ added in v1.44.0
func (c *Config) InitializeConfig(configuration io.ReadCloser, defaults []io.ReadCloser, ignoreCustomDefaults bool) error
InitializeConfig prepares the config object, i.e. loading content, etc.
func (*Config) ReadConfig ¶
func (c *Config) ReadConfig(configuration io.ReadCloser) error
ReadConfig loads config and returns its content
func (*Config) SetVaultCredentials ¶ added in v1.85.0
SetVaultCredentials sets the appRoleID and the appRoleSecretID or the vaultTokento load additional configuration from vault Either appRoleID and appRoleSecretID or vaultToken must be specified.
type Container ¶
type Container struct {
//ToDo: check dockerOptions, dockerVolumeBind, containerPortMappings, sidecarOptions, sidecarVolumeBind
Command []string `json:"command"`
EnvVars []EnvVar `json:"env"`
Image string `json:"image"`
ImagePullPolicy string `json:"imagePullPolicy"`
Name string `json:"name"`
ReadyCommand string `json:"readyCommand"`
Shell string `json:"shell"`
WorkingDir string `json:"workingDir"`
Conditions []Condition `json:"conditions,omitempty"`
Options []Option `json:"options,omitempty"`
}
Container defines an execution container
type ParseError ¶
type ParseError struct {
// contains filtered or unexported fields
}
ParseError defines an error type for configuration parsing errors
func NewParseError ¶
func NewParseError(message string) *ParseError
NewParseError creates a new ParseError
func (*ParseError) Error ¶
func (e *ParseError) Error() string
Error returns the message of the ParseError
type PipelineDefaults ¶
type PipelineDefaults struct {
Defaults []Config `json:"defaults"`
}
PipelineDefaults defines the structure of the pipeline defaults
func (*PipelineDefaults) ReadPipelineDefaults ¶
func (d *PipelineDefaults) ReadPipelineDefaults(defaultSources []io.ReadCloser) error
ReadPipelineDefaults loads defaults and returns its content
type ResourceReference ¶ added in v1.9.0
type ResourceReference struct {
Name string `json:"name"`
Type string `json:"type,omitempty"`
Param string `json:"param,omitempty"`
Paths []string `json:"paths,omitempty"`
Aliases []Alias `json:"aliases,omitempty"`
}
ResourceReference defines the parameters of a resource reference
type RunConfig ¶ added in v1.155.0
type RunConfig struct {
StageConfigFile io.ReadCloser
StageConfig StageConfig
RunSteps map[string]map[string]bool
OpenFile func(s string, t map[string]string) (io.ReadCloser, error)
}
RunConfig ...
func (*RunConfig) InitRunConfig ¶ added in v1.155.0
func (r *RunConfig) InitRunConfig(config *Config, filters map[string]StepFilters, parameters map[string][]StepParameters, secrets map[string][]StepSecrets, stepAliases map[string][]Alias, glob func(pattern string) (matches []string, err error), openFile func(s string, t map[string]string) (io.ReadCloser, error)) error
InitRunConfig ...
type StageConfig ¶ added in v1.155.0
type StageConfig struct {
Stages map[string]StepConditions `json:"stages,omitempty"`
}
type StepConditions ¶ added in v1.155.0
type StepConfig ¶
StepConfig defines the structure for merged step configuration
func GetStepConfigWithJSON ¶
func GetStepConfigWithJSON(flagValues map[string]interface{}, stepConfigJSON string, filters StepFilters) StepConfig
GetStepConfigWithJSON provides merged step configuration using a provided stepConfigJSON with additional flags provided
type StepData ¶
type StepData struct {
Metadata StepMetadata `json:"metadata"`
Spec StepSpec `json:"spec"`
}
StepData defines the metadata for a step, like step descriptions, parameters, ...
func (*StepData) GetContextDefaults ¶
func (m *StepData) GetContextDefaults(stepName string) (io.ReadCloser, error)
GetContextDefaults retrieves context defaults like container image, name, env vars, resources, ... It only supports scenarios with one container and optionally one sidecar
func (*StepData) GetContextParameterFilters ¶
func (m *StepData) GetContextParameterFilters() StepFilters
GetContextParameterFilters retrieves all scope dependent parameter filters
func (*StepData) GetParameterFilters ¶
func (m *StepData) GetParameterFilters() StepFilters
GetParameterFilters retrieves all scope dependent parameter filters
func (*StepData) GetResourceParameters ¶ added in v1.9.0
GetResourceParameters retrieves parameters from a named pipeline resource with a defined path
func (*StepData) HasReference ¶ added in v1.85.0
HasReference checks whether StepData contains a parameter that has Reference with the given type
func (*StepData) ReadPipelineStepData ¶
func (m *StepData) ReadPipelineStepData(metadata io.ReadCloser) error
ReadPipelineStepData loads step definition in yaml format
type StepFilters ¶
type StepFilters struct {
All []string
General []string
Stages []string
Steps []string
Parameters []string
Env []string
}
StepFilters defines the filter parameters for the different sections
type StepInputs ¶
type StepInputs struct {
Parameters []StepParameters `json:"params"`
Resources []StepResources `json:"resources,omitempty"`
Secrets []StepSecrets `json:"secrets,omitempty"`
}
StepInputs defines the spec details for a step, like step inputs, containers, sidecars, ...
type StepMetadata ¶
type StepMetadata struct {
Name string `json:"name"`
Aliases []Alias `json:"aliases,omitempty"`
Description string `json:"description"`
LongDescription string `json:"longDescription,omitempty"`
}
StepMetadata defines the metadata for a step, like step descriptions, parameters, ...
type StepOutputs ¶ added in v1.9.0
type StepOutputs struct {
Resources []StepResources `json:"resources,omitempty"`
}
StepOutputs defines the outputs of a step step, typically one or multiple resources
type StepParameters ¶
type StepParameters struct {
Name string `json:"name"`
Description string `json:"description"`
LongDescription string `json:"longDescription,omitempty"`
ResourceRef []ResourceReference `json:"resourceRef,omitempty"`
Scope []string `json:"scope"`
Type string `json:"type"`
Mandatory bool `json:"mandatory,omitempty"`
Default interface{} `json:"default,omitempty"`
PossibleValues []interface{} `json:"possibleValues,omitempty"`
Aliases []Alias `json:"aliases,omitempty"`
Conditions []Condition `json:"conditions,omitempty"`
Secret bool `json:"secret,omitempty"`
}
StepParameters defines the parameters for a step
func (*StepParameters) GetReference ¶ added in v1.60.0
func (m *StepParameters) GetReference(refType string) *ResourceReference
GetReference returns the ResourceReference of the given type
type StepResources ¶
type StepResources struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Type string `json:"type,omitempty"`
Parameters []map[string]interface{} `json:"params,omitempty"`
Conditions []Condition `json:"conditions,omitempty"`
}
StepResources defines the resources to be provided by the step context, e.g. Jenkins pipeline
type StepSecrets ¶
type StepSecrets struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Type string `json:"type,omitempty"`
Aliases []Alias `json:"aliases,omitempty"`
}
StepSecrets defines the secrets to be provided by the step context, e.g. Jenkins pipeline
type StepSpec ¶
type StepSpec struct {
Inputs StepInputs `json:"inputs,omitempty"`
Outputs StepOutputs `json:"outputs,omitempty"`
Containers []Container `json:"containers,omitempty"`
Sidecars []Container `json:"sidecars,omitempty"`
}
StepSpec defines the spec details for a step, like step inputs, containers, sidecars, ...
type VaultCredentials ¶ added in v1.85.0
VaultCredentials hold all the auth information needed to fetch configuration from vault