common

package
v0.53.0 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2021 License: Apache-2.0 Imports: 29 Imported by: 9

Documentation

Overview

Copyright 2020 The Tekton Authors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	PipelineNotReady       = "tekton-pipelines not ready"
	PipelineNotFound       = "tekton-pipelines not installed"
	TriggerNotReady        = "tekton-triggers not ready"
	TriggerNotFound        = "tekton-triggers not installed"
	NamespaceIgnorePattern = "^(openshift|kube)-"
)
View Source
const (
	CronName         = "tekton-resource-pruner"
	JobsTKNImageName = "IMAGE_JOB_PRUNER_TKN"
)
View Source
const (
	// KoEnvKey is the key of the environment variable to specify the path to the ko data directory
	KoEnvKey = "KO_DATA_PATH"
	// COMMA is the character comma
	COMMA = ","
)
View Source
const (
	AnnotationPreserveNS          = "operator.tekton.dev/preserve-namespace"
	AnnotationPreserveRBSubjectNS = "operator.tekton.dev/preserve-rb-subject-namespace"
	PipelinesImagePrefix          = "IMAGE_PIPELINES_"
	TriggersImagePrefix           = "IMAGE_TRIGGERS_"
	AddonsImagePrefix             = "IMAGE_ADDONS_"

	ArgPrefix   = "arg_"
	ParamPrefix = "param_"
)

Variables

View Source
var (
	Interval = 10 * time.Second
	Timeout  = 1 * time.Minute
	// DefaultSA is the default service account
	DefaultSA = "pipeline"
)

Functions

func AddConfigMapValues

func AddConfigMapValues(configMapName string, prop interface{}) mf.Transformer

AddConfigMapValues will loop on the interface passed and add the fields in configmap with key as json tag of the struct field

func AddConfiguration

func AddConfiguration(config v1alpha1.Config) mf.Transformer

func AppendInstalled

func AppendInstalled(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent) error

AppendInstalled mutates the passed manifest by appending one appropriate for the passed TektonComponent, which may not be the one corresponding to status.version

func AppendManifest

func AppendManifest(manifest *mf.Manifest, yamlLocation string) error

func AppendTarget

func AppendTarget(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent) error

AppendTarget mutates the passed manifest by appending one appropriate for the passed TektonComponent

func ApplyProxySettings

func ApplyProxySettings(u *unstructured.Unstructured) error

ApplyProxySettings is a transformer that propagate any proxy environment variables set on the operator deployment to the underlying deployment.

func CheckDeployments

func CheckDeployments(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent) error

CheckDeployments checks all deployments in the given manifest and updates the given status with the status of the deployments.

func ComponentDir

func ComponentDir(instance v1alpha1.TektonComponent) string

func DeploymentImages

func DeploymentImages(images map[string]string) mf.Transformer

DeploymentImages replaces container and args images.

func Fetch

func Fetch(path string) (mf.Manifest, error)

func FetchVersionFromConfigMap added in v0.50.0

func FetchVersionFromConfigMap(manifest mf.Manifest, configMapName string) (string, error)

FetchVersionFromConfigMap finds the component version from the ConfigMap data field. It looks for the version key in the ConfigMap and if the ConfigMap or version key is not found then return the error.

func ImagesFromEnv

func ImagesFromEnv(prefix string) map[string]string

ImagesFromEnv will provide map of key value.

func InjectLabelOnNamespace

func InjectLabelOnNamespace(label string) mf.Transformer

InjectLabelOnNamespace will add a label on tekton-pipelines and openshift-pipelines namespace

func Install

func Install(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent) error

Install applies the manifest resources for the given version and updates the given status accordingly.

func InstalledManifest

func InstalledManifest(instance v1alpha1.TektonComponent) (mf.Manifest, error)

InstalledManifest returns the version currently installed, which is harder than it sounds, since status.version isn't set until the target version is successfully installed, which can take some time. So we return the target manifest if status.version is empty.

func IsFetchVersionError added in v0.50.0

func IsFetchVersionError(err error) bool

func JobImages

func JobImages(images map[string]string) mf.Transformer

JobImages replaces container and args images.

func NoOp

NoOp does nothing

func ReplaceNamespaceInDeploymentArgs

func ReplaceNamespaceInDeploymentArgs(targetNamespace string) mf.Transformer

ReplaceNamespaceInDeploymentArgs replaces namespace in deployment's args

func ReplaceNamespaceInDeploymentEnv

func ReplaceNamespaceInDeploymentEnv(targetNamespace string) mf.Transformer

ReplaceNamespaceInDeploymentEnv replaces namespace in deployment's env var

func TargetManifest

func TargetManifest(instance v1alpha1.TektonComponent) (mf.Manifest, error)

TargetManifest returns the manifest for the TargetVersion

func TargetVersion

func TargetVersion(instance v1alpha1.TektonComponent) string

TargetVersion returns the version of the manifest to be installed per the spec in the component. If spec.version is empty, the latest version known to the operator is returned.

func TaskImages

func TaskImages(images map[string]string) mf.Transformer

TaskImages replaces step and params images.

func ToLowerCaseKeys

func ToLowerCaseKeys(keyValues map[string]string) map[string]string

ToLowerCaseKeys converts key value to lower cases.

func Transform

func Transform(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent, extra ...mf.Transformer) error

Transform will mutate the passed-by-reference manifest with one transformed by platform, common, and any extra passed in

func Uninstall

func Uninstall(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent) error

Uninstall removes all resources

Types

type Extension

Extension enables platform-specific features

func NoExtension

func NoExtension(context.Context) Extension

NoPlatform "generates" a NilExtension

type ExtensionGenerator

type ExtensionGenerator func(context.Context) Extension

ExtensionGenerator creates an Extension from a Context

type ManifestFetcher

type ManifestFetcher func(ctx context.Context, instance v1alpha1.TektonComponent) (*mf.Manifest, error)

ManifestFetcher returns a manifest appropriate for the instance

type NameGenerator

type NameGenerator interface {
	// RestrictLengthWithRandomSuffix generates a valid name from the base name, adding a random suffix to the
	// the base. If base is valid, the returned name must also be valid. The generator is
	// responsible for knowing the maximum valid name length.
	RestrictLengthWithRandomSuffix(base string) string

	// RestrictLength generates a valid name from the name of a step specified in a Task,
	// shortening it to the maximum valid name length if needed.
	RestrictLength(base string) string
}

NameGenerator generates names for objects. Some backends may have more information available to guide selection of new names and this interface hides those details.

var SimpleNameGenerator NameGenerator = simpleNameGenerator{}

SimpleNameGenerator is a generator that returns the name plus a random suffix of five alphanumerics when a name is requested. The string is guaranteed to not exceed the length of a standard Kubernetes name (63 characters)

type Pruner added in v0.50.0

type Pruner struct {
	// contains filtered or unexported fields
}

type Stage

Stage represents a step in the reconcile process

func DeleteObsoleteResources

func DeleteObsoleteResources(ctx context.Context, instance v1alpha1.TektonComponent, fetch ManifestFetcher) Stage

DeleteObsoleteResources returns a Stage after calculating the installed manifest from the instance. This is meant to be called *before* executing the reconciliation stages so that the proper manifest is captured in a closure before any stage might mutate the instance status, e.g. Install.

type Stages

type Stages []Stage

Stages are a list of steps

func (Stages) Execute

func (stages Stages) Execute(ctx context.Context, manifest *mf.Manifest, instance v1alpha1.TektonComponent) error

Execute each stage in sequence until one returns an error

type VersionError added in v0.50.0

type VersionError error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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