v1

package
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: MIT Imports: 34 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the kubetest v1 API group +kubebuilder:object:generate=true +groupName=kubetest.io

Index

Constants

View Source
const (
	PreStepType  StepType = "preStep"
	MainStepType          = "mainStep"
	PostStepType          = "postStep"
)
View Source
const (
	ResultStatusSuccess ResultStatus = "success"
	ResultStatusFailure              = "failure"
	ResultStatusError                = "error"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kubetest.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func WithLogger added in v0.6.0

func WithLogger(ctx context.Context, logger Logger) context.Context

Types

type ArtifactContainer added in v0.6.0

type ArtifactContainer struct {
	// Name for the container
	Name string `json:"name"`
	// Path to the artifact.
	Path string `json:"path"`
}

ArtifactContainer

func (*ArtifactContainer) DeepCopy added in v0.6.0

func (in *ArtifactContainer) DeepCopy() *ArtifactContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactContainer.

func (*ArtifactContainer) DeepCopyInto added in v0.6.0

func (in *ArtifactContainer) DeepCopyInto(out *ArtifactContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ArtifactManager added in v0.6.0

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

func NewArtifactManager added in v0.6.0

func NewArtifactManager(exports []ExportArtifact) *ArtifactManager

func (*ArtifactManager) AddArtifacts added in v0.6.0

func (m *ArtifactManager) AddArtifacts(artifacts []ArtifactSpec) error

func (*ArtifactManager) ExportArtifacts added in v0.6.0

func (m *ArtifactManager) ExportArtifacts(ctx context.Context) error

func (*ArtifactManager) ExportPathByName added in v0.6.0

func (m *ArtifactManager) ExportPathByName(name string) (string, error)

func (*ArtifactManager) LocalPathByName added in v0.6.0

func (m *ArtifactManager) LocalPathByName(ctx context.Context, name string) (string, error)

func (*ArtifactManager) LocalPathByNameAndContainerName added in v0.6.0

func (m *ArtifactManager) LocalPathByNameAndContainerName(name, containerName string) (string, error)

type ArtifactSpec added in v0.6.0

type ArtifactSpec struct {
	// Name specify the name to be used when referencing the token in the TestJob resource.
	// The name must be unique within the TestJob resource.
	Name string `json:"name"`
	// Container
	Container ArtifactContainer `json:"container"`
}

ArtifactSpec describes the specification of artifact for each process.

func (*ArtifactSpec) DeepCopy added in v0.6.0

func (in *ArtifactSpec) DeepCopy() *ArtifactSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactSpec.

func (*ArtifactSpec) DeepCopyInto added in v0.6.0

func (in *ArtifactSpec) DeepCopyInto(out *ArtifactSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ArtifactVolumeSource added in v0.6.0

type ArtifactVolumeSource struct {
	// This must match the Name of a ArtifactSpec.
	Name string `json:"name"`
}

ArtifactVolumeSource

func (*ArtifactVolumeSource) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactVolumeSource.

func (*ArtifactVolumeSource) DeepCopyInto added in v0.6.0

func (in *ArtifactVolumeSource) DeepCopyInto(out *ArtifactVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExportArtifact added in v0.6.0

type ExportArtifact struct {
	// This must match the Name of a ArtifactSpec.
	Name string `json:"name"`
	// Path path to the artifact.
	Path string `json:"path"`
}

ExportArtifact

func (*ExportArtifact) DeepCopy added in v0.6.0

func (in *ExportArtifact) DeepCopy() *ExportArtifact

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExportArtifact.

func (*ExportArtifact) DeepCopyInto added in v0.6.0

func (in *ExportArtifact) DeepCopyInto(out *ExportArtifact)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitHubAppTokenSource added in v0.6.0

type GitHubAppTokenSource struct {
	Organization   string                    `json:"organization,omitempty"`
	AppID          int64                     `json:"appId"`
	InstallationID int64                     `json:"installationId,omitempty"`
	KeyFile        *corev1.SecretKeySelector `json:"keyFile"`
}

GitHubAppTokenSource describes the specification of github app based token.

func (*GitHubAppTokenSource) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubAppTokenSource.

func (*GitHubAppTokenSource) DeepCopyInto added in v0.6.0

func (in *GitHubAppTokenSource) DeepCopyInto(out *GitHubAppTokenSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GitHubTokenSource added in v0.6.0

type GitHubTokenSource corev1.SecretKeySelector

GitHubTokenSource describes the specification of github token.

func (*GitHubTokenSource) DeepCopy added in v0.6.0

func (in *GitHubTokenSource) DeepCopy() *GitHubTokenSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubTokenSource.

func (*GitHubTokenSource) DeepCopyInto added in v0.6.0

func (in *GitHubTokenSource) DeepCopyInto(out *GitHubTokenSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Job added in v0.6.0

type Job interface {
	Spec() batchv1.JobSpec
	PreInit(TestJobContainer, PreInitCallback)
	RunWithExecutionHandler(context.Context, func(context.Context, []JobExecutor) error, func(context.Context, JobExecutor) error) error
	Mount(func(ctx context.Context, exec JobExecutor, isInitContainer bool) error)
}

type JobBuilder added in v0.6.0

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

func NewJobBuilder added in v0.6.0

func NewJobBuilder(cfg *rest.Config, namespace string, runMode RunMode) *JobBuilder

func (*JobBuilder) BuildWithJob added in v0.6.0

func (b *JobBuilder) BuildWithJob(jobSpec *batchv1.Job, containerNameToInstalledPathMap map[string]string, sharedAgentSpec *TestAgentSpec) (Job, error)

func (*JobBuilder) SetFinalizer added in v0.10.0

func (b *JobBuilder) SetFinalizer(finalizer *corev1.Container)

type JobExecutor added in v0.6.0

type JobExecutor interface {
	Output(context.Context) ([]byte, error)
	ExecAsync(context.Context)
	TerminationLog(context.Context, string) error
	Stop(context.Context) error
	CopyFrom(context.Context, string, string) error
	CopyTo(context.Context, string, string) error
	Container() corev1.Container
	Pod() *corev1.Pod
	PrepareCommand(context.Context, []string) ([]byte, error)
}

type LogLevel added in v0.6.0

type LogLevel int

LogLevel

const (
	LogLevelNone LogLevel = iota
	LogLevelError
	LogLevelWarn
	LogLevelInfo
	LogLevelDebug
)

func (LogLevel) String added in v0.6.0

func (l LogLevel) String() string

type LogSpec added in v0.2.8

type LogSpec struct {
	// Level set the logger's log level (debug/info/warn/error).
	Level LogLevel `json:"level"`
	// ExtParam add arbitrary key/value to report log.
	ExtParam map[string]string `json:"extParam"`
}

LogSpec

func (*LogSpec) DeepCopy added in v0.2.8

func (in *LogSpec) DeepCopy() *LogSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogSpec.

func (*LogSpec) DeepCopyInto added in v0.2.8

func (in *LogSpec) DeepCopyInto(out *LogSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogVolumeSource added in v0.7.0

type LogVolumeSource struct{}

LogVolumeSource

func (*LogVolumeSource) DeepCopy added in v0.7.0

func (in *LogVolumeSource) DeepCopy() *LogVolumeSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogVolumeSource.

func (*LogVolumeSource) DeepCopyInto added in v0.7.0

func (in *LogVolumeSource) DeepCopyInto(out *LogVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Logger added in v0.5.4

type Logger interface {
	Log(msg string)
	Debug(format string, args ...interface{})
	Info(format string, args ...interface{})
	Warn(format string, args ...interface{})
	Error(format string, args ...interface{})
	AddMask(mask string)
	Group() Logger
	LogGroup(group Logger)
}

func LoggerFromContext added in v0.6.0

func LoggerFromContext(ctx context.Context) Logger

func NewLogger added in v0.6.0

func NewLogger(out io.Writer, level LogLevel) Logger

type MainStep added in v0.7.0

type MainStep struct {
	// Strategy strategy for distributed task
	// +optional
	Strategy                *Strategy           `json:"strategy,omitempty"`
	TTLSecondsAfterFinished *int32              `json:"ttlSecondsAfterFinished,omitempty"`
	Template                TestJobTemplateSpec `json:"template"`
}

MainStep defines main process

func (*MainStep) DeepCopy added in v0.7.0

func (in *MainStep) DeepCopy() *MainStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MainStep.

func (*MainStep) DeepCopyInto added in v0.7.0

func (in *MainStep) DeepCopyInto(out *MainStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MainStep) GetName added in v0.7.0

func (s *MainStep) GetName() string

func (*MainStep) GetTTLSecondsAfterFinished added in v0.10.0

func (s *MainStep) GetTTLSecondsAfterFinished() *int32

func (*MainStep) GetTemplate added in v0.7.0

func (s *MainStep) GetTemplate() TestJobTemplateSpec

func (*MainStep) GetType added in v0.7.0

func (s *MainStep) GetType() StepType

type MergeSpec added in v0.6.0

type MergeSpec struct {
	// Base branch name
	Base string `json:"base"`
}

MergeSpec describes the specification of merge behavior.

func (*MergeSpec) DeepCopy added in v0.6.0

func (in *MergeSpec) DeepCopy() *MergeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MergeSpec.

func (*MergeSpec) DeepCopyInto added in v0.6.0

func (in *MergeSpec) DeepCopyInto(out *MergeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PostStep added in v0.6.2

type PostStep struct {
	Name                    string              `json:"name"`
	TTLSecondsAfterFinished *int32              `json:"ttlSecondsAfterFinished,omitempty"`
	Template                TestJobTemplateSpec `json:"template"`
}

PostStep defines post-processing to export artifacts.

func (*PostStep) DeepCopy added in v0.6.2

func (in *PostStep) DeepCopy() *PostStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostStep.

func (*PostStep) DeepCopyInto added in v0.6.2

func (in *PostStep) DeepCopyInto(out *PostStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostStep) GetName added in v0.7.0

func (s *PostStep) GetName() string

func (*PostStep) GetTTLSecondsAfterFinished added in v0.10.0

func (s *PostStep) GetTTLSecondsAfterFinished() *int32

func (*PostStep) GetTemplate added in v0.7.0

func (s *PostStep) GetTemplate() TestJobTemplateSpec

func (*PostStep) GetType added in v0.7.0

func (s *PostStep) GetType() StepType

type PreInitCallback added in v0.6.0

type PreInitCallback func(context.Context, JobExecutor) error

type PreStep added in v0.6.0

type PreStep struct {
	Name                    string              `json:"name"`
	TTLSecondsAfterFinished *int32              `json:"ttlSecondsAfterFinished,omitempty"`
	Template                TestJobTemplateSpec `json:"template"`
}

PreStep defines pre-processing to prepare files for testing that are not included in the repository.

func (*PreStep) DeepCopy added in v0.6.0

func (in *PreStep) DeepCopy() *PreStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreStep.

func (*PreStep) DeepCopyInto added in v0.6.0

func (in *PreStep) DeepCopyInto(out *PreStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PreStep) GetName added in v0.7.0

func (s *PreStep) GetName() string

func (*PreStep) GetTTLSecondsAfterFinished added in v0.10.0

func (s *PreStep) GetTTLSecondsAfterFinished() *int32

func (*PreStep) GetTemplate added in v0.7.0

func (s *PreStep) GetTemplate() TestJobTemplateSpec

func (*PreStep) GetType added in v0.7.0

func (s *PreStep) GetType() StepType

type Report added in v0.7.6

type Report struct {
	Status         ResultStatus      `json:"status"`
	StartedAt      metav1.Time       `json:"startedAt"`
	ElapsedTimeSec int64             `json:"elapsedTimeSec"`
	TotalNum       int               `json:"totalNum"`
	SuccessNum     int               `json:"successNum"`
	FailureNum     int               `json:"failureNum"`
	UnknownNum     int               `json:"unknownNum,omitempty"`
	Details        []*ReportDetail   `json:"details"`
	ExtParam       map[string]string `json:"ext,omitempty"`
}

func (*Report) DeepCopy added in v0.8.0

func (in *Report) DeepCopy() *Report

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Report.

func (*Report) DeepCopyInto added in v0.8.0

func (in *Report) DeepCopyInto(out *Report)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReportDetail added in v0.7.6

type ReportDetail struct {
	Status         ResultStatus `json:"status"`
	Name           string       `json:"name"`
	ElapsedTimeSec int64        `json:"elapsedTimeSec"`
}

func (*ReportDetail) DeepCopy added in v0.8.0

func (in *ReportDetail) DeepCopy() *ReportDetail

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReportDetail.

func (*ReportDetail) DeepCopyInto added in v0.8.0

func (in *ReportDetail) DeepCopyInto(out *ReportDetail)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ReportFormatType added in v0.7.0

type ReportFormatType string

ReportFormatType format type of report

const (
	ReportFormatTypeJSON ReportFormatType = "json"
)

type ReportVolumeSource added in v0.7.0

type ReportVolumeSource struct {
	Format ReportFormatType `json:"format"`
}

ReportVolumeSource

func (*ReportVolumeSource) DeepCopy added in v0.7.0

func (in *ReportVolumeSource) DeepCopy() *ReportVolumeSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReportVolumeSource.

func (*ReportVolumeSource) DeepCopyInto added in v0.7.0

func (in *ReportVolumeSource) DeepCopyInto(out *ReportVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Repository added in v0.6.0

type Repository struct {
	// URL to the repository.
	URL string `json:"url"`
	// Branch name.
	Branch string `json:"branch,omitempty"`
	// Revision.
	Rev string `json:"rev,omitempty"`
	// This must match the Name of a Token.
	Token string `json:"token,omitempty"`
	// Merge base branch
	Merge *MergeSpec `json:"merge,omitempty"`
	// ClonedPath specify the clone destination directory for repository.
	// If the target repository has already been cloned and the directory is not empty,
	// it will be reused ( doesn't clone ).
	ClonedPath string `json:"clonedPath,omitempty"`
}

Repository describes the repository.

func (*Repository) DeepCopy added in v0.6.0

func (in *Repository) DeepCopy() *Repository

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.

func (*Repository) DeepCopyInto added in v0.6.0

func (in *Repository) DeepCopyInto(out *Repository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositoryManager added in v0.6.0

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

func NewRepositoryManager added in v0.6.0

func NewRepositoryManager(repos []RepositorySpec, tokenMgr *TokenManager) *RepositoryManager

func (*RepositoryManager) ArchivePathByRepoName added in v0.6.0

func (m *RepositoryManager) ArchivePathByRepoName(name string) (string, error)

func (*RepositoryManager) Cleanup added in v0.6.0

func (m *RepositoryManager) Cleanup() error

func (*RepositoryManager) CloneAll added in v0.6.0

func (m *RepositoryManager) CloneAll(ctx context.Context) error

type RepositorySpec added in v0.6.0

type RepositorySpec struct {
	// Name specify the name to be used when referencing the repository in the TestJob resource.
	// The name must be unique within the TestJob resource.
	Name string `json:"name"`
	// Repo defines the repository.
	Value Repository `json:"value"`
}

RepositorySpec describes the specification of repository.

func (*RepositorySpec) DeepCopy added in v0.6.0

func (in *RepositorySpec) DeepCopy() *RepositorySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec.

func (*RepositorySpec) DeepCopyInto added in v0.6.0

func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RepositoryVolumeSource added in v0.6.0

type RepositoryVolumeSource struct {
	// This must match the Name of a RepositorySpec.
	Name string `json:"name"`
}

RepositoryVolumeSource

func (*RepositoryVolumeSource) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryVolumeSource.

func (*RepositoryVolumeSource) DeepCopyInto added in v0.6.0

func (in *RepositoryVolumeSource) DeepCopyInto(out *RepositoryVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceManager added in v0.6.0

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

func NewResourceManager added in v0.6.0

func NewResourceManager(clientset *kubernetes.Clientset, testjob TestJob) *ResourceManager

func (*ResourceManager) ArtifactPathByName added in v0.6.0

func (m *ResourceManager) ArtifactPathByName(ctx context.Context, name string) (string, error)

func (*ResourceManager) ArtifactPathByNameAndContainerName added in v0.6.0

func (m *ResourceManager) ArtifactPathByNameAndContainerName(name, containerName string) (string, error)

func (*ResourceManager) Cleanup added in v0.6.0

func (m *ResourceManager) Cleanup() error

func (*ResourceManager) ExportArtifacts added in v0.6.0

func (m *ResourceManager) ExportArtifacts(ctx context.Context) error

func (*ResourceManager) LogPath added in v0.7.0

func (m *ResourceManager) LogPath() (string, error)

func (*ResourceManager) ReportPath added in v0.7.0

func (m *ResourceManager) ReportPath(format ReportFormatType) (string, error)

func (*ResourceManager) RepositoryPathByName added in v0.6.0

func (m *ResourceManager) RepositoryPathByName(name string) (string, error)

func (*ResourceManager) Setup added in v0.6.0

func (m *ResourceManager) Setup(ctx context.Context) error

func (*ResourceManager) TokenPathByName added in v0.6.0

func (m *ResourceManager) TokenPathByName(ctx context.Context, name string) (string, error)

func (*ResourceManager) WriteLog added in v0.7.0

func (m *ResourceManager) WriteLog(logger Logger) error

func (*ResourceManager) WriteReport added in v0.7.0

func (m *ResourceManager) WriteReport(result *Result) error

type Result added in v0.6.0

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

type ResultStatus added in v0.6.0

type ResultStatus string

ResultStatus execution result of task

type RunMode added in v0.6.0

type RunMode int
const (
	RunModeKubernetes RunMode = iota
	RunModeLocal
	RunModeDryRun
)

func (RunMode) String added in v0.6.0

func (m RunMode) String() string

type Runner added in v0.6.0

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

func NewRunner added in v0.6.0

func NewRunner(cfg *rest.Config, runMode RunMode) *Runner

func (*Runner) Run added in v0.6.0

func (r *Runner) Run(ctx context.Context, testjob TestJob) (*Report, error)

func (*Runner) SetLogger added in v0.6.0

func (r *Runner) SetLogger(logger Logger)

type Scheduler added in v0.6.0

type Scheduler struct {
	// MaxPodNum maximum number of pod.
	// MaxPodNum and MaxContainersPerPod cannot both be set.
	MaxPodNum int `json:"maxPodNum"`
	// MaxContainersPerPod maximum number of container per pod.
	// MaxPodNum and MaxContainersPerPod cannot both be set.
	MaxContainersPerPod int `json:"maxContainersPerPod"`
	// MaxConcurrentNumPerPod maximum number of concurrent per pod.
	MaxConcurrentNumPerPod int `json:"maxConcurrentNumPerPod"`
}

Scheduler

func (*Scheduler) DeepCopy added in v0.6.0

func (in *Scheduler) DeepCopy() *Scheduler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduler.

func (*Scheduler) DeepCopyInto added in v0.6.0

func (in *Scheduler) DeepCopyInto(out *Scheduler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Step added in v0.7.0

type Step interface {
	GetName() string
	GetType() StepType
	GetTTLSecondsAfterFinished() *int32
	GetTemplate() TestJobTemplateSpec
}

type StepType added in v0.7.0

type StepType string

type Strategy added in v0.6.0

type Strategy struct {
	// Key
	Key StrategyKeySpec `json:"key"`
	// Scheduler
	Scheduler Scheduler `json:"scheduler"`
	// Restart testing for failed tests
	Retest bool `json:"retest,omitempty"`
}

Strategy

func (*Strategy) DeepCopy added in v0.6.0

func (in *Strategy) DeepCopy() *Strategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Strategy.

func (*Strategy) DeepCopyInto added in v0.6.0

func (in *Strategy) DeepCopyInto(out *Strategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StrategyDynamicKeySource added in v0.6.0

type StrategyDynamicKeySource struct {
	// TTLSecondsAfterFinished.
	TTLSecondsAfterFinished *int32 `json:"ttlSecondsAfterFinished,omitempty"`
	// Template spec.
	Template TestJobTemplateSpec `json:"template"`
	// Delimiter for strategy keys ( default: new line character ( \n ) )
	Delim string `json:"delimiter,omitempty"`
	// Filter filter got strategy keys ( use regular expression )
	Filter string `json:"filter,omitempty"`
}

func (*StrategyDynamicKeySource) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StrategyDynamicKeySource.

func (*StrategyDynamicKeySource) DeepCopyInto added in v0.6.0

func (in *StrategyDynamicKeySource) DeepCopyInto(out *StrategyDynamicKeySource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StrategyKey added in v0.6.0

type StrategyKey struct {
	ConcurrentIdx    uint32
	Keys             []string
	Env              string
	SubTaskScheduler *SubTaskScheduler
	OnFinishSubTask  func(*SubTask)
}

type StrategyKeySource added in v0.6.0

type StrategyKeySource struct {
	// Static
	Static []string `json:"static,omitempty"`
	// Dynamic
	Dynamic *StrategyDynamicKeySource `json:"dynamic,omitempty"`
}

StrategyKeySource

func (*StrategyKeySource) DeepCopy added in v0.6.0

func (in *StrategyKeySource) DeepCopy() *StrategyKeySource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StrategyKeySource.

func (*StrategyKeySource) DeepCopyInto added in v0.6.0

func (in *StrategyKeySource) DeepCopyInto(out *StrategyKeySource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StrategyKeySpec added in v0.6.0

type StrategyKeySpec struct {
	// Env name of env value for strategy key
	Env string `json:"env"`
	// Source
	Source StrategyKeySource `json:"source"`
}

StrategyKeySpec

func (*StrategyKeySpec) DeepCopy added in v0.6.0

func (in *StrategyKeySpec) DeepCopy() *StrategyKeySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StrategyKeySpec.

func (*StrategyKeySpec) DeepCopyInto added in v0.6.0

func (in *StrategyKeySpec) DeepCopyInto(out *StrategyKeySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubTask added in v0.6.0

type SubTask struct {
	Name       string
	TaskName   string
	KeyEnvName string
	OnFinish   func(*SubTask)
	// contains filtered or unexported fields
}

func (*SubTask) Run added in v0.6.0

func (t *SubTask) Run(ctx context.Context) *SubTaskResult

type SubTaskGroup added in v0.6.0

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

func NewSubTaskGroup added in v0.6.0

func NewSubTaskGroup(tasks []*SubTask) *SubTaskGroup

func (*SubTaskGroup) Run added in v0.6.0

type SubTaskResult added in v0.6.0

type SubTaskResult struct {
	Status      TaskResultStatus
	ElapsedTime time.Duration
	Out         []byte
	Err         error
	ArtifactErr error
	Name        string
	Container   corev1.Container
	Pod         *corev1.Pod
	KeyEnvName  string
	IsMain      bool
}

func (*SubTaskResult) Command added in v0.6.0

func (r *SubTaskResult) Command() string

func (*SubTaskResult) Error added in v0.6.0

func (r *SubTaskResult) Error() error

type SubTaskResultGroup added in v0.6.0

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

type SubTaskScheduler added in v0.6.0

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

func NewSubTaskScheduler added in v0.6.0

func NewSubTaskScheduler(maxConcurrentNumPerPod int) *SubTaskScheduler

func (*SubTaskScheduler) Schedule added in v0.6.0

func (s *SubTaskScheduler) Schedule(tasks []*SubTask) []*SubTaskGroup

type Task added in v0.6.0

type Task struct {
	Name            string
	OnFinishSubTask func(*SubTask)
	// contains filtered or unexported fields
}

func (*Task) Run added in v0.6.0

func (t *Task) Run(ctx context.Context) (*TaskResult, error)

func (*Task) SubTaskNum added in v0.6.0

func (t *Task) SubTaskNum() int

type TaskBuildContext added in v0.6.0

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

type TaskBuilder added in v0.6.0

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

func NewTaskBuilder added in v0.6.0

func NewTaskBuilder(cfg *rest.Config, mgr *ResourceManager, namespace string, runMode RunMode) *TaskBuilder

func (*TaskBuilder) Build added in v0.6.0

func (b *TaskBuilder) Build(ctx context.Context, step Step) (*Task, error)

func (*TaskBuilder) BuildWithKey added in v0.6.0

func (b *TaskBuilder) BuildWithKey(ctx context.Context, step Step, strategyKey *StrategyKey) (*Task, error)

type TaskContainer added in v0.6.0

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

type TaskContainerGroup added in v0.6.0

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

type TaskGroup added in v0.6.0

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

func NewTaskGroup added in v0.6.0

func NewTaskGroup(tasks []*Task) *TaskGroup

func (*TaskGroup) Run added in v0.6.0

func (g *TaskGroup) Run(ctx context.Context) (*TaskResultGroup, error)

type TaskResult added in v0.6.0

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

func (*TaskResult) MainTaskResults added in v0.6.0

func (r *TaskResult) MainTaskResults() []*SubTaskResult

type TaskResultGroup added in v0.6.0

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

func (*TaskResultGroup) FailureNum added in v0.6.0

func (g *TaskResultGroup) FailureNum() int

func (*TaskResultGroup) Status added in v0.6.0

func (g *TaskResultGroup) Status() ResultStatus

func (*TaskResultGroup) SuccessNum added in v0.6.0

func (g *TaskResultGroup) SuccessNum() int

func (*TaskResultGroup) ToReportDetails added in v0.7.6

func (g *TaskResultGroup) ToReportDetails() []*ReportDetail

func (*TaskResultGroup) TotalNum added in v0.6.0

func (g *TaskResultGroup) TotalNum() int

type TaskResultStatus added in v0.6.0

type TaskResultStatus int
const (
	TaskResultSuccess TaskResultStatus = iota
	TaskResultFailure
)

func (TaskResultStatus) MarshalJSON added in v0.6.0

func (s TaskResultStatus) MarshalJSON() ([]byte, error)

func (TaskResultStatus) String added in v0.6.0

func (s TaskResultStatus) String() string

func (TaskResultStatus) ToResultStatus added in v0.7.6

func (s TaskResultStatus) ToResultStatus() ResultStatus

type TaskScheduler added in v0.6.0

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

func NewTaskScheduler added in v0.6.0

func NewTaskScheduler(step MainStep) *TaskScheduler

func (*TaskScheduler) Schedule added in v0.6.0

func (s *TaskScheduler) Schedule(ctx context.Context, builder *TaskBuilder) (*TaskGroup, error)

type TestAgentSpec added in v0.8.0

type TestAgentSpec struct {
	// Installed path to the kubetest-agent e.g.) /bin/kubetest-agent
	InstalledPath string `json:"installedPath"`
	// Timeout kubetest-agent server's timeout time by Go's time.Duration format. see details: https://pkg.go.dev/time#ParseDuration.
	Timeout string `json:"timeout"`
	// kubetest automatically determines the port to listen to when starting kubetest-agent.
	// If you need to run multiple containers, the default is to assign ports from 5000 to 5001, 5002.
	// AllocationStartPort allows you to change the default start port.
	// For example, if this value is set to 6000, ports will be assigned in order from 6000 to 6001, 6002.
	AllocationStartPort *uint16 `json:"allocationStartPort,omitempty"`
	// If you have some ports used by sidecar or any tasks running on the pod,
	// specifying it will excluded from the assigning target of ports for kubetest-agent.
	ExcludePorts []uint16 `json:"excludePorts,omitempty"`
}

TestAgentSpec describes the specification of kubetest-agent.

func (*TestAgentSpec) DeepCopy added in v0.8.0

func (in *TestAgentSpec) DeepCopy() *TestAgentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestAgentSpec.

func (*TestAgentSpec) DeepCopyInto added in v0.8.0

func (in *TestAgentSpec) DeepCopyInto(out *TestAgentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJob

type TestJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TestJobSpec   `json:"spec,omitempty"`
	Status TestJobStatus `json:"status,omitempty"`
}

TestJob is the Schema for the testjobs API

func (*TestJob) DeepCopy

func (in *TestJob) DeepCopy() *TestJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJob.

func (*TestJob) DeepCopyInto

func (in *TestJob) DeepCopyInto(out *TestJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TestJob) DeepCopyObject

func (in *TestJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TestJob) SetStaticStrategyKeys added in v0.6.0

func (j *TestJob) SetStaticStrategyKeys(keys []string) error

func (*TestJob) Validate added in v0.6.0

func (j *TestJob) Validate() error

type TestJobContainer added in v0.8.0

type TestJobContainer struct {
	corev1.Container `json:",inline"`
	Agent            *TestAgentSpec `json:"agent,omitempty"`
}

TestJobContainer

func (*TestJobContainer) DeepCopy added in v0.8.0

func (in *TestJobContainer) DeepCopy() *TestJobContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobContainer.

func (*TestJobContainer) DeepCopyInto added in v0.8.0

func (in *TestJobContainer) DeepCopyInto(out *TestJobContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJobList

type TestJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TestJob `json:"items"`
}

TestJobList contains a list of TestJob

func (*TestJobList) DeepCopy

func (in *TestJobList) DeepCopy() *TestJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobList.

func (*TestJobList) DeepCopyInto

func (in *TestJobList) DeepCopyInto(out *TestJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TestJobList) DeepCopyObject

func (in *TestJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TestJobPodSpec added in v0.6.0

type TestJobPodSpec struct {
	corev1.PodSpec     `json:",inline"`
	InitContainers     []TestJobContainer `json:"initContainers,omitempty"`
	Containers         []TestJobContainer `json:"containers"`
	FinalizerContainer TestJobContainer   `json:"finalizerContainer"`
	Volumes            []TestJobVolume    `json:"volumes,omitempty"`
	Artifacts          []ArtifactSpec     `json:"artifacts,omitempty"`
}

TestJobPodSpec

func (*TestJobPodSpec) DeepCopy added in v0.6.0

func (in *TestJobPodSpec) DeepCopy() *TestJobPodSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobPodSpec.

func (*TestJobPodSpec) DeepCopyInto added in v0.6.0

func (in *TestJobPodSpec) DeepCopyInto(out *TestJobPodSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJobSpec

type TestJobSpec struct {
	// Tokens list of token for access to the repository and other resources in test.
	// +optional
	Tokens []TokenSpec `json:"tokens,omitempty"`
	// Repos defines list of repositories to use for testing.
	// +optional
	Repos []RepositorySpec `json:"repos,omitempty"`
	// PreSteps defines pre-processing to prepare files for testing that are not included in the repository (e.g. downloading dependent modules or building binaries).
	// This reduces the work that must be done inside the container when running the test, allowing the test to run with the minimum required privileges.
	// In addition, when performing distributed execution, the work that must be performed at the distributed execution destination is reduced,
	// so the resources of kubernetes cluster can be used efficiently.
	// +optional
	PreSteps []PreStep `json:"preSteps,omitempty"`
	// MainStep defines the behavior when running the main task. This step can be distributed.
	MainStep MainStep `json:"mainStep"`
	// PostSteps defines post-processing to export artifacts.
	// +optional
	PostSteps []PostStep `json:"postSteps,omitempty"`
	// ExportArtifacts export what was saved as an artifact to any path.
	// +optional
	ExportArtifacts []ExportArtifact `json:"exportArtifacts,omitempty"`
	// Log extend parameter to output log.
	// +optional
	Log LogSpec `json:"log,omitempty"`
}

TestJobSpec defines the desired state of TestJob

func (*TestJobSpec) DeepCopy

func (in *TestJobSpec) DeepCopy() *TestJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobSpec.

func (*TestJobSpec) DeepCopyInto

func (in *TestJobSpec) DeepCopyInto(out *TestJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJobStatus

type TestJobStatus struct {
	// Whether the testjob is running
	Running bool `json:"running,omitempty"`
}

TestJobStatus defines the observed state of TestJob

func (*TestJobStatus) DeepCopy

func (in *TestJobStatus) DeepCopy() *TestJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobStatus.

func (*TestJobStatus) DeepCopyInto

func (in *TestJobStatus) DeepCopyInto(out *TestJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJobTemplateSpec added in v0.6.0

type TestJobTemplateSpec struct {
	// ObjectMeta standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Main is the main container name ( not sidecar container ).
	// If used multiple containers, this parameter must be specified.
	Main string `json:"main,omitempty"`
	// Spec specification of the desired behavior of the pod for TestJob.
	Spec TestJobPodSpec `json:"spec"`
}

TestJobTemplateSpec

func (*TestJobTemplateSpec) DeepCopy added in v0.6.0

func (in *TestJobTemplateSpec) DeepCopy() *TestJobTemplateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobTemplateSpec.

func (*TestJobTemplateSpec) DeepCopyInto added in v0.6.0

func (in *TestJobTemplateSpec) DeepCopyInto(out *TestJobTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJobVolume added in v0.6.0

type TestJobVolume struct {
	Name                string `json:"name"`
	TestJobVolumeSource `json:",inline"`
}

TestJobVolume describes volume for TestJob.

func (*TestJobVolume) DeepCopy added in v0.6.0

func (in *TestJobVolume) DeepCopy() *TestJobVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobVolume.

func (*TestJobVolume) DeepCopyInto added in v0.6.0

func (in *TestJobVolume) DeepCopyInto(out *TestJobVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TestJobVolumeSource added in v0.6.0

type TestJobVolumeSource struct {
	corev1.VolumeSource `json:",inline"`
	// Repo volume source for repository.
	Repo *RepositoryVolumeSource `json:"repo,omitempty"`
	// Artifact volume source for artifact.
	Artifact *ArtifactVolumeSource `json:"artifact,omitempty"`
	// Token volume source for token.
	Token *TokenVolumeSource `json:"token,omitempty"`
	// Log volume source for captured all logs
	Log *LogVolumeSource `json:"log,omitempty"`
	// Report volume source for result of kubetest
	Report *ReportVolumeSource `json:"report,omitempty"`
}

TestJobVolumeSource describes volume sources for TestJob.

func (*TestJobVolumeSource) DeepCopy added in v0.6.0

func (in *TestJobVolumeSource) DeepCopy() *TestJobVolumeSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestJobVolumeSource.

func (*TestJobVolumeSource) DeepCopyInto added in v0.6.0

func (in *TestJobVolumeSource) DeepCopyInto(out *TestJobVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Token added in v0.6.0

type Token struct {
	File  string
	Value string
}

type TokenClient added in v0.6.0

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

func NewTokenClient added in v0.6.0

func NewTokenClient(clientset *kubernetes.Clientset, namespace string) *TokenClient

func (*TokenClient) AccessToken added in v0.6.0

func (c *TokenClient) AccessToken(ctx context.Context, token TokenSource) (string, error)

type TokenManager added in v0.6.0

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

func NewTokenManager added in v0.6.0

func NewTokenManager(tokens []TokenSpec, cli *TokenClient) *TokenManager

func (*TokenManager) TokenByName added in v0.6.0

func (m *TokenManager) TokenByName(ctx context.Context, name string) (*Token, error)

type TokenSource added in v0.6.0

type TokenSource struct {
	GitHubApp   *GitHubAppTokenSource `json:"githubApp,omitempty"`
	GitHubToken *GitHubTokenSource    `json:"githubToken,omitempty"`
	FilePath    *string               `json:"filePath,omitempty"`
}

TokenSource describes what information the token is based on.

func (*TokenSource) DeepCopy added in v0.6.0

func (in *TokenSource) DeepCopy() *TokenSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenSource.

func (*TokenSource) DeepCopyInto added in v0.6.0

func (in *TokenSource) DeepCopyInto(out *TokenSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenSpec added in v0.6.0

type TokenSpec struct {
	// Name specify the name to be used when referencing the token in the TestJob resource.
	// The name must be unique within the TestJob resource.
	Name string `json:"name"`
	// Value specify what information the token is based on.
	Value TokenSource `json:"value"`
}

TokenSpec describes the specification of token for the repository or other resources.

func (*TokenSpec) DeepCopy added in v0.6.0

func (in *TokenSpec) DeepCopy() *TokenSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenSpec.

func (*TokenSpec) DeepCopyInto added in v0.6.0

func (in *TokenSpec) DeepCopyInto(out *TokenSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenVolumeSource added in v0.6.0

type TokenVolumeSource struct {
	// This must match the Name of a TokenSpec.
	Name string `json:"name"`
}

TokenVolumeSource

func (*TokenVolumeSource) DeepCopy added in v0.6.0

func (in *TokenVolumeSource) DeepCopy() *TokenVolumeSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenVolumeSource.

func (*TokenVolumeSource) DeepCopyInto added in v0.6.0

func (in *TokenVolumeSource) DeepCopyInto(out *TokenVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Validator added in v0.6.0

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

func NewValidator added in v0.6.0

func NewValidator() *Validator

func (*Validator) ValidateArtifactContainer added in v0.6.0

func (v *Validator) ValidateArtifactContainer(container ArtifactContainer) error

func (*Validator) ValidateArtifactSpec added in v0.6.0

func (v *Validator) ValidateArtifactSpec(spec ArtifactSpec) error

func (*Validator) ValidateArtifactVolumeSource added in v0.6.0

func (v *Validator) ValidateArtifactVolumeSource(source *ArtifactVolumeSource) error

func (*Validator) ValidateExportArtifact added in v0.6.0

func (v *Validator) ValidateExportArtifact(artifact ExportArtifact) error

func (*Validator) ValidateFilePathTokenSource added in v0.7.7

func (v *Validator) ValidateFilePathTokenSource(source *string) error

func (*Validator) ValidateGitHubAppTokenSource added in v0.6.0

func (v *Validator) ValidateGitHubAppTokenSource(source *GitHubAppTokenSource) error

func (*Validator) ValidateGitHubTokenSource added in v0.6.0

func (v *Validator) ValidateGitHubTokenSource(source *GitHubTokenSource) error

func (*Validator) ValidateLog added in v0.7.0

func (v *Validator) ValidateLog(spec LogSpec) error

func (*Validator) ValidateLogVolumeSource added in v0.7.0

func (v *Validator) ValidateLogVolumeSource(stepType StepType) error

func (*Validator) ValidateMainStep added in v0.7.0

func (v *Validator) ValidateMainStep(step MainStep) error

func (*Validator) ValidatePostStep added in v0.7.0

func (v *Validator) ValidatePostStep(poststep PostStep) error

func (*Validator) ValidatePreStep added in v0.6.0

func (v *Validator) ValidatePreStep(prestep PreStep) error

func (*Validator) ValidateReportVolumeSource added in v0.7.0

func (v *Validator) ValidateReportVolumeSource(report *ReportVolumeSource, stepType StepType) error

func (*Validator) ValidateRepository added in v0.6.0

func (v *Validator) ValidateRepository(repo Repository) error

func (*Validator) ValidateRepositorySpec added in v0.6.0

func (v *Validator) ValidateRepositorySpec(spec RepositorySpec) error

func (*Validator) ValidateRepositoryVolumeSource added in v0.6.0

func (v *Validator) ValidateRepositoryVolumeSource(source *RepositoryVolumeSource) error

func (*Validator) ValidateScheduler added in v0.6.0

func (v *Validator) ValidateScheduler(scheduler Scheduler) error

func (*Validator) ValidateStrategy added in v0.6.0

func (v *Validator) ValidateStrategy(strategy *Strategy) error

func (*Validator) ValidateStrategyDynamicKeySource added in v0.6.0

func (v *Validator) ValidateStrategyDynamicKeySource(source *StrategyDynamicKeySource) error

func (*Validator) ValidateStrategyKeySource added in v0.6.0

func (v *Validator) ValidateStrategyKeySource(source StrategyKeySource) error

func (*Validator) ValidateStrategyKeySpec added in v0.6.0

func (v *Validator) ValidateStrategyKeySpec(spec StrategyKeySpec) error

func (*Validator) ValidateTestAgentSpec added in v0.8.0

func (v *Validator) ValidateTestAgentSpec(spec *TestAgentSpec) error

func (*Validator) ValidateTestJob added in v0.6.0

func (v *Validator) ValidateTestJob(job TestJob) error

func (*Validator) ValidateTestJobContainer added in v0.8.0

func (v *Validator) ValidateTestJobContainer(container TestJobContainer) error

func (*Validator) ValidateTestJobPodSpec added in v0.6.0

func (v *Validator) ValidateTestJobPodSpec(spec TestJobPodSpec, stepType StepType) error

func (*Validator) ValidateTestJobSpec added in v0.6.0

func (v *Validator) ValidateTestJobSpec(spec TestJobSpec) error

func (*Validator) ValidateTestJobTemplateSpec added in v0.6.0

func (v *Validator) ValidateTestJobTemplateSpec(spec TestJobTemplateSpec, stepType StepType) error

func (*Validator) ValidateTestJobVolume added in v0.6.0

func (v *Validator) ValidateTestJobVolume(volume TestJobVolume, stepType StepType) error

func (*Validator) ValidateTestJobVolumeSource added in v0.6.0

func (v *Validator) ValidateTestJobVolumeSource(source TestJobVolumeSource, stepType StepType) error

func (*Validator) ValidateToken added in v0.6.0

func (v *Validator) ValidateToken(token TokenSpec) error

func (*Validator) ValidateTokenVolumeSource added in v0.6.0

func (v *Validator) ValidateTokenVolumeSource(source *TokenVolumeSource) error

Jump to

Keyboard shortcuts

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