model

package
v1.32.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2023 License: MIT Imports: 19 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultStepImplementation

type DefaultStepImplementation struct {
	StepType pipeline.StepType

	ErrorMessage   string
	SuccessMessage string
	Error          error
	// contains filtered or unexported fields
}

DefaultStepImplementation Struct to hold the data common to all step implementations

func (*DefaultStepImplementation) ErrorMsg

func (step *DefaultStepImplementation) ErrorMsg(err error) string

ErrorMsg Default implementation

func (*DefaultStepImplementation) GetAppName

func (step *DefaultStepImplementation) GetAppName() string

GetAppName Default implementation

func (*DefaultStepImplementation) GetEnv added in v1.21.0

func (step *DefaultStepImplementation) GetEnv() env.Env

GetEnv Environment

func (*DefaultStepImplementation) GetKubeclient

func (step *DefaultStepImplementation) GetKubeclient() kubernetes.Interface

GetKubeclient Default implementation

func (*DefaultStepImplementation) GetKubeutil

func (step *DefaultStepImplementation) GetKubeutil() *kube.Kube

GetKubeutil Default implementation

func (*DefaultStepImplementation) GetPrometheusOperatorClient

func (step *DefaultStepImplementation) GetPrometheusOperatorClient() monitoring.Interface

GetPrometheusOperatorClient Default implementation

func (*DefaultStepImplementation) GetRadixclient

func (step *DefaultStepImplementation) GetRadixclient() radixclient.Interface

GetRadixclient Default implementation

func (*DefaultStepImplementation) GetRegistration

func (step *DefaultStepImplementation) GetRegistration() *v1.RadixRegistration

GetRegistration Default implementation

func (*DefaultStepImplementation) ImplementationForType

func (step *DefaultStepImplementation) ImplementationForType() pipeline.StepType

ImplementationForType Default implementation

func (*DefaultStepImplementation) Init

func (step *DefaultStepImplementation) Init(kubeclient kubernetes.Interface, radixclient radixclient.Interface,
	kubeutil *kube.Kube, prometheusOperatorClient monitoring.Interface,
	rr *v1.RadixRegistration, env env.Env)

Init Initialize step

func (*DefaultStepImplementation) Run

func (step *DefaultStepImplementation) Run(pipelineInfo *PipelineInfo) error

Run Default implementation

func (*DefaultStepImplementation) SucceededMsg

func (step *DefaultStepImplementation) SucceededMsg() string

SucceededMsg Default implementation

type EnvironmentSubPipelineToRun added in v1.30.0

type EnvironmentSubPipelineToRun struct {
	// Environment name
	Environment string
	// PipelineFile Name of a sub-pipeline file, which need to be run
	PipelineFile string
}

EnvironmentSubPipelineToRun An application environment sub-pipeline to be run

type EnvironmentToBuild added in v1.30.0

type EnvironmentToBuild struct {
	// Environment name
	Environment string
	// Components Names of components, which need to be built
	Components []string
}

EnvironmentToBuild An application environment to be built

type PipelineArguments

type PipelineArguments struct {
	PipelineType string
	JobName      string
	Branch       string
	// CommitID is sent from GitHub webhook. not to be confused with PipelineInfo.GitCommitHash
	CommitID        string
	ImageTag        string
	UseCache        bool
	PushImage       bool
	DeploymentName  string
	FromEnvironment string
	ToEnvironment   string

	RadixConfigFile string
	// Security context
	PodSecurityContext corev1.PodSecurityContext

	ContainerSecurityContext corev1.SecurityContext
	// Images used for copying radix config/building
	TektonPipeline string
	// ImageBuilder Points to the image builder
	ImageBuilder string
	// Used for tagging meta-information
	Clustertype string
	// RadixZone  The radix zone.
	RadixZone string
	// Clustername The name of the cluster
	Clustername string
	// ContainerRegistry The name of the container registry
	ContainerRegistry string
	// SubscriptionId Azure subscription ID
	SubscriptionId string
	// Used to indicate debugging session
	Debug bool
}

PipelineArguments Holds arguments for the pipeline

func GetPipelineArgsFromArguments

func GetPipelineArgsFromArguments(args map[string]string) PipelineArguments

GetPipelineArgsFromArguments Gets pipeline arguments from arg string

type PipelineInfo

type PipelineInfo struct {
	Definition        *pipeline.Definition
	RadixApplication  *v1.RadixApplication
	PipelineArguments PipelineArguments
	Steps             []Step

	// Temporary data
	RadixConfigMapName string
	GitConfigMapName   string
	TargetEnvironments map[string]bool
	BranchIsMapped     bool
	// GitCommitHash is derived by inspecting HEAD commit after cloning user repository in prepare-pipelines step.
	// not to be confused with PipelineInfo.PipelineArguments.CommitID
	GitCommitHash string
	GitTags       string

	// Holds information on the images referred to by their respective components
	ComponentImages map[string]pipeline.ComponentImage
	// Prepare pipeline job build context
	PrepareBuildContext *PrepareBuildContext
	StopPipeline        bool
	StopPipelineMessage string

	// Promotion job git info
	SourceDeploymentGitCommitHash string
	SourceDeploymentGitBranch     string
}

PipelineInfo Holds info about the pipeline to run

func InitPipeline

func InitPipeline(pipelineType *pipeline.Definition,
	pipelineArguments PipelineArguments,
	stepImplementations ...Step) (*PipelineInfo, error)

InitPipeline Initialize pipeline with step implementations

func (*PipelineInfo) IsDeployOnlyPipeline added in v1.4.2

func (info *PipelineInfo) IsDeployOnlyPipeline() bool

IsDeployOnlyPipeline Determines if the pipeline is deploy-only

func (*PipelineInfo) SetApplicationConfig added in v1.4.2

func (info *PipelineInfo) SetApplicationConfig(applicationConfig *application.ApplicationConfig)

SetApplicationConfig Set radixconfig to be used later by other steps, as well as deriving info from the config

func (*PipelineInfo) SetGitAttributes added in v1.21.10

func (info *PipelineInfo) SetGitAttributes(gitCommitHash, gitTags string)

SetGitAttributes Set git attributes to be used later by other steps

type PrepareBuildContext added in v1.30.0

type PrepareBuildContext struct {
	// EnvironmentsToBuild List of environments with component names, which need to be built
	EnvironmentsToBuild []EnvironmentToBuild
	// ChangedRadixConfig Radix Config file was changed
	ChangedRadixConfig bool
	// EnvironmentSubPipelinesToRun Sub-pipeline pipeline file named, if they are configured to be run
	EnvironmentSubPipelinesToRun []EnvironmentSubPipelineToRun
}

PrepareBuildContext Provide optional build instruction from the prepare job to the pipeline job

type Step

type Step interface {
	Init(kubernetes.Interface, radixclient.Interface, *kube.Kube, monitoring.Interface,
		*v1.RadixRegistration, env.Env)

	ImplementationForType() pipeline.StepType
	ErrorMsg(error) string
	SucceededMsg() string
	Run(*PipelineInfo) error

	GetAppName() string
	GetRegistration() *v1.RadixRegistration
	GetKubeclient() kubernetes.Interface
	GetRadixclient() radixclient.Interface
	GetKubeutil() *kube.Kube
	GetPrometheusOperatorClient() monitoring.Interface
	GetEnv() env.Env
}

Step Generic interface for any Step implementation

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL