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