model

package
v1.25.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2022 License: MIT Imports: 17 Imported by: 1

Documentation

Index

Constants

View Source
const (
	PRIVILEGED_CONTAINER       = false
	ALLOW_PRIVILEGE_ESCALATION = false
	RUN_AS_NON_ROOT            = true
	RUN_AS_USER                = 1000
	RUN_AS_GROUP               = 1000
	FS_GROUP                   = 1000
)

Security context default values for secure deployment

Variables

This section is empty.

Functions

func GetContainerSecurityContext added in v1.8.4

func GetContainerSecurityContext(privilegedContainer, allowPrivEsc bool, runAsGroup, runAsUser int64) *corev1.SecurityContext

func GetPodSecurityContext added in v1.8.4

func GetPodSecurityContext(runAsNonRoot bool, fsgroup int64) *corev1.PodSecurityContext

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 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 string

	// Used for tagging meta-information
	Clustertype string
	Clustername 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

	// Container registry to build with
	ContainerRegistry string
	//Subscription ID to build with
	SubscriptionId string

	// 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
}

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 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