validate

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Secrets for validating secret references in Build objects
	Secrets = "secrets"
	// Strategies for validating strategy references in Build objects
	Strategies = "strategy"
	// SourceURL for validating the source URL in Build objects
	SourceURL = "sourceurl"
	// Runtime for validating the runtime definition in Build objects
	Runtime = "runtime"
	// Sources for validating `spec.sources` entries
	Sources = "sources"
	// OwnerReferences for validating the ownerreferences between a Build
	// and BuildRun objects
	OwnerReferences = "ownerreferences"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildPath

type BuildPath interface {
	ValidatePath(ctx context.Context) error
}

BuildPath is an interface that holds a ValidaPath() function for validating different Build spec paths

func NewValidation

func NewValidation(
	validationType string,
	build *build.Build,
	client client.Client,
	scheme *runtime.Scheme,
) (BuildPath, error)

NewValidation returns an specific Structure that implements BuildPath interface

type Credentials added in v0.4.0

type Credentials struct {
	Build  *build.Build
	Client client.Client
}

Credentials contains all required fields to validate a Build spec secrets definitions

func (Credentials) ValidatePath added in v0.4.0

func (s Credentials) ValidatePath(ctx context.Context) error

ValidatePath implements BuildPath interface and validates that all referenced secrets under spec exists

type OwnerRef

type OwnerRef struct {
	Build  *build.Build
	Client client.Client
	Scheme *runtime.Scheme
}

OwnerRef contains all required fields to validate a Build OwnerReference definition

func (OwnerRef) ValidatePath

func (o OwnerRef) ValidatePath(ctx context.Context) error

ValidatePath implements BuildPath interface and validates setting the ownershipReference between a Build and a BuildRun

type RuntimeRef

type RuntimeRef struct {
	Build  *build.Build
	Client client.Client
}

RuntimeRef contains all required fields to validate a Build spec runtime definition

func (RuntimeRef) ValidatePath

func (r RuntimeRef) ValidatePath(ctx context.Context) error

ValidatePath implements BuildPath interface and validates that the Build spec runtime definition is properly populated

type SourceURLRef

type SourceURLRef struct {
	Build  *build.Build
	Client client.Client
}

SourceURLRef contains all required fields to validate a Build spec source definition

func (SourceURLRef) MarkBuildStatus

func (s SourceURLRef) MarkBuildStatus(build *build.Build, reason build.BuildReason, msg string)

MarkBuildStatus updates a Build Status fields

func (SourceURLRef) ValidatePath

func (s SourceURLRef) ValidatePath(ctx context.Context) error

ValidatePath implements BuildPath interface and validates that the spec.source.url exists. This validation only applies to endpoints that do not require authentication.

type SourcesRef added in v0.5.0

type SourcesRef struct {
	Build *build.Build // build instance for analysis
}

SourcesRef implements RuntimeRef interface to add validations for `build.spec.sources` slice.

func NewSourcesRef added in v0.5.0

func NewSourcesRef(b *build.Build) *SourcesRef

NewSourcesRef instantiate a new SourcesRef passing the build object pointer along.

func (*SourcesRef) ValidatePath added in v0.5.0

func (s *SourcesRef) ValidatePath(_ context.Context) error

ValidatePath executes the validation routine, inspecting the `build.spec.sources` path, which contains a slice of BuildSource.

type Strategy added in v0.4.0

type Strategy struct {
	Build  *build.Build
	Client client.Client
}

Strategy contains all required fields to validate a Build spec strategy definition

func (Strategy) ValidatePath added in v0.4.0

func (s Strategy) ValidatePath(ctx context.Context) error

ValidatePath implements BuildPath interface and validates that the referenced strategy exists. This applies to both namespaced or cluster scoped strategies

Jump to

Keyboard shortcuts

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