model

package
v1.16.11 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2022 License: MIT Imports: 16 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) 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)

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        string
	ImageTag        string
	UseCache        string
	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/scanning
	ConfigToMap  string
	ImageBuilder string
	ImageScanner string

	// Used for tagging metainformation
	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
	TargetEnvironments map[string]bool
	BranchIsMapped     bool

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

type Step

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

	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
}

Step Generic interface for any Step implementation

Jump to

Keyboard shortcuts

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