Documentation ¶
Index ¶
- Constants
- func GetContainerSecurityContext(privilegedContainer, allowPrivEsc bool, runAsGroup, runAsUser int64) *corev1.SecurityContext
- func GetPodSecurityContext(runAsNonRoot bool, fsgroup int64) *corev1.PodSecurityContext
- type DefaultStepImplementation
- func (step *DefaultStepImplementation) ErrorMsg(err error) string
- func (step *DefaultStepImplementation) GetAppName() string
- func (step *DefaultStepImplementation) GetEnv() env.Env
- func (step *DefaultStepImplementation) GetKubeclient() kubernetes.Interface
- func (step *DefaultStepImplementation) GetKubeutil() *kube.Kube
- func (step *DefaultStepImplementation) GetPrometheusOperatorClient() monitoring.Interface
- func (step *DefaultStepImplementation) GetRadixclient() radixclient.Interface
- func (step *DefaultStepImplementation) GetRegistration() *v1.RadixRegistration
- func (step *DefaultStepImplementation) ImplementationForType() pipeline.StepType
- func (step *DefaultStepImplementation) Init(kubeclient kubernetes.Interface, radixclient radixclient.Interface, ...)
- func (step *DefaultStepImplementation) Run(pipelineInfo *PipelineInfo) error
- func (step *DefaultStepImplementation) SucceededMsg() string
- type EnvironmentSubPipelineToRun
- type EnvironmentToBuild
- type PipelineArguments
- type PipelineInfo
- type PrepareBuildContext
- type Step
Constants ¶
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 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 }
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