Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the test executions v1 API group +kubebuilder:object:generate=true +groupName=tests.testkube.io
Index ¶
- Variables
- type ArgsModeType
- type ArtifactRequest
- type AssertionResult
- type EnvReference
- type Execution
- type ExecutionRequest
- type ExecutionResult
- type ExecutionResultReports
- type ExecutionStatus
- type ExecutionStepResult
- type GitAuthType
- type ObjectRef
- type PodRequest
- type PodResourcesRequest
- type Repository
- type ResourceRequest
- type RunningContext
- type RunningContextType
- type SecretRef
- type TestContent
- type TestContentType
- type TestExecution
- type TestExecutionList
- type TestExecutionSpec
- type TestExecutionStatus
- type Variable
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "tests.testkube.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 ¶
This section is empty.
Types ¶
type ArgsModeType ¶
type ArgsModeType string
ArgsModeType defines args mode type +kubebuilder:validation:Enum=append;override
const ( // ArgsModeTypeAppend for append args mode ArgsModeTypeAppend ArgsModeType = "append" // ArgsModeTypeOverride for override args mode ArgsModeTypeOverride ArgsModeType = "override" )
type ArtifactRequest ¶
type ArtifactRequest struct { // artifact storage class name for container executor StorageClassName string `json:"storageClassName"` // artifact volume mount path for container executor VolumeMountPath string `json:"volumeMountPath"` // artifact directories for scraping Dirs []string `json:"dirs,omitempty"` // artifact bucket storage StorageBucket string `json:"storageBucket,omitempty"` // don't use a separate folder for execution artifacts OmitFolderPerExecution bool `json:"omitFolderPerExecution,omitempty"` }
artifact request body with test artifacts
func (*ArtifactRequest) DeepCopy ¶
func (in *ArtifactRequest) DeepCopy() *ArtifactRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArtifactRequest.
func (*ArtifactRequest) DeepCopyInto ¶
func (in *ArtifactRequest) DeepCopyInto(out *ArtifactRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AssertionResult ¶
type AssertionResult struct { Name string `json:"name,omitempty"` Status string `json:"status,omitempty"` ErrorMessage string `json:"errorMessage,omitempty"` }
execution result data
func (*AssertionResult) DeepCopy ¶
func (in *AssertionResult) DeepCopy() *AssertionResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssertionResult.
func (*AssertionResult) DeepCopyInto ¶
func (in *AssertionResult) DeepCopyInto(out *AssertionResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvReference ¶
type EnvReference struct { v1.LocalObjectReference `json:"reference"` // whether we shoud mount resource Mount bool `json:"mount,omitempty"` // where we shoud mount resource MountPath string `json:"mountPath,omitempty"` // whether we shoud map to variables from resource MapToVariables bool `json:"mapToVariables,omitempty"` }
Reference to env resource
func (*EnvReference) DeepCopy ¶
func (in *EnvReference) DeepCopy() *EnvReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvReference.
func (*EnvReference) DeepCopyInto ¶
func (in *EnvReference) DeepCopyInto(out *EnvReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Execution ¶
type Execution struct { // execution id Id string `json:"id,omitempty"` // unique test name (CRD Test name) TestName string `json:"testName,omitempty"` // unique test suite name (CRD Test suite name), if it's run as a part of test suite TestSuiteName string `json:"testSuiteName,omitempty"` // test namespace TestNamespace string `json:"testNamespace,omitempty"` // test type e.g. postman/collection TestType string `json:"testType,omitempty"` // execution name Name string `json:"name,omitempty"` // execution number Number int32 `json:"number,omitempty"` // Environment variables passed to executor. // Deprecated: use Basic Variables instead Envs map[string]string `json:"envs,omitempty"` // executor image command Command []string `json:"command,omitempty"` // additional arguments/flags passed to executor binary Args []string `json:"args,omitempty"` // usage mode for arguments ArgsMode ArgsModeType `json:"args_mode,omitempty"` Variables map[string]Variable `json:"variables,omitempty"` // in case the variables file is too big, it will be uploaded to storage IsVariablesFileUploaded bool `json:"isVariablesFileUploaded,omitempty"` // variables file content - need to be in format for particular executor (e.g. postman envs file) VariablesFile string `json:"variablesFile,omitempty"` // test secret uuid TestSecretUUID string `json:"testSecretUUID,omitempty"` // test suite secret uuid, if it's run as a part of test suite TestSuiteSecretUUID string `json:"testSuiteSecretUUID,omitempty"` Content *TestContent `json:"content,omitempty"` // test start time StartTime metav1.Time `json:"startTime,omitempty"` // test end time EndTime metav1.Time `json:"endTime,omitempty"` // test duration Duration string `json:"duration,omitempty"` // test duration in milliseconds DurationMs int32 `json:"durationMs,omitempty"` ExecutionResult *ExecutionResult `json:"executionResult,omitempty"` // test and execution labels Labels map[string]string `json:"labels,omitempty"` // list of file paths that need to be copied into the test from uploads Uploads []string `json:"uploads,omitempty"` // minio bucket name to get uploads from BucketName string `json:"bucketName,omitempty"` ArtifactRequest *ArtifactRequest `json:"artifactRequest,omitempty"` // script to run before test execution PreRunScript string `json:"preRunScript,omitempty"` // script to run after test execution PostRunScript string `json:"postRunScript,omitempty"` // execute post run script before scraping (prebuilt executor only) ExecutePostRunScriptBeforeScraping bool `json:"executePostRunScriptBeforeScraping,omitempty"` RunningContext *RunningContext `json:"runningContext,omitempty"` // shell used in container executor ContainerShell string `json:"containerShell,omitempty"` SlavePodRequest *PodRequest `json:"slavePodRequest,omitempty"` }
test execution
func (*Execution) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Execution.
func (*Execution) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionRequest ¶
type ExecutionRequest struct { // test execution custom name Name string `json:"name,omitempty"` // unique test suite name (CRD Test suite name), if it's run as a part of test suite TestSuiteName string `json:"testSuiteName,omitempty"` // test execution number Number int32 `json:"number,omitempty"` // test execution labels ExecutionLabels map[string]string `json:"executionLabels,omitempty"` // test kubernetes namespace (\"testkube\" when not set) Namespace string `json:"namespace,omitempty"` // variables file content - need to be in format for particular executor (e.g. postman envs file) VariablesFile string `json:"variablesFile,omitempty"` IsVariablesFileUploaded bool `json:"isVariablesFileUploaded,omitempty"` Variables map[string]Variable `json:"variables,omitempty"` // test secret uuid TestSecretUUID string `json:"testSecretUUID,omitempty"` // test suite secret uuid, if it's run as a part of test suite TestSuiteSecretUUID string `json:"testSuiteSecretUUID,omitempty"` // additional executor binary arguments Args []string `json:"args,omitempty"` // usage mode for arguments ArgsMode ArgsModeType `json:"argsMode,omitempty"` // executor binary command Command []string `json:"command,omitempty"` // container executor image Image string `json:"image,omitempty"` // container executor image pull secrets ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // Environment variables passed to executor. // Deprecated: use Basic Variables instead Envs map[string]string `json:"envs,omitempty"` // Execution variables passed to executor from secrets. // Deprecated: use Secret Variables instead SecretEnvs map[string]string `json:"secretEnvs,omitempty"` // whether to start execution sync or async Sync bool `json:"sync,omitempty"` // http proxy for executor containers HttpProxy string `json:"httpProxy,omitempty"` // https proxy for executor containers HttpsProxy string `json:"httpsProxy,omitempty"` // negative test will fail the execution if it is a success and it will succeed if it is a failure NegativeTest bool `json:"negativeTest,omitempty"` // Optional duration in seconds the pod may be active on the node relative to // StartTime before the system will actively try to mark it failed and kill associated containers. // Value must be a positive integer. ActiveDeadlineSeconds int64 `json:"activeDeadlineSeconds,omitempty"` ArtifactRequest *ArtifactRequest `json:"artifactRequest,omitempty"` // job template extensions JobTemplate string `json:"jobTemplate,omitempty"` // cron job template extensions CronJobTemplate string `json:"cronJobTemplate,omitempty"` // script to run before test execution PreRunScript string `json:"preRunScript,omitempty"` // script to run after test execution PostRunScript string `json:"postRunScript,omitempty"` // execute post run script before scraping (prebuilt executor only) ExecutePostRunScriptBeforeScraping bool `json:"executePostRunScriptBeforeScraping,omitempty"` // scraper template extensions ScraperTemplate string `json:"scraperTemplate,omitempty"` // config map references EnvConfigMaps []EnvReference `json:"envConfigMaps,omitempty"` // secret references EnvSecrets []EnvReference `json:"envSecrets,omitempty"` RunningContext *RunningContext `json:"runningContext,omitempty"` SlavePodRequest *PodRequest `json:"slavePodRequest,omitempty"` }
test execution request body
func (*ExecutionRequest) DeepCopy ¶
func (in *ExecutionRequest) DeepCopy() *ExecutionRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionRequest.
func (*ExecutionRequest) DeepCopyInto ¶
func (in *ExecutionRequest) DeepCopyInto(out *ExecutionRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionResult ¶
type ExecutionResult struct { Status *ExecutionStatus `json:"status"` // error message when status is error, separate to output as output can be partial in case of error ErrorMessage string `json:"errorMessage,omitempty"` // execution steps (for collection of requests) Steps []ExecutionStepResult `json:"steps,omitempty"` Reports *ExecutionResultReports `json:"reports,omitempty"` }
execution result returned from executor
func (*ExecutionResult) DeepCopy ¶
func (in *ExecutionResult) DeepCopy() *ExecutionResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionResult.
func (*ExecutionResult) DeepCopyInto ¶
func (in *ExecutionResult) DeepCopyInto(out *ExecutionResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionResultReports ¶
type ExecutionResultReports struct {
Junit string `json:"junit,omitempty"`
}
func (*ExecutionResultReports) DeepCopy ¶
func (in *ExecutionResultReports) DeepCopy() *ExecutionResultReports
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionResultReports.
func (*ExecutionResultReports) DeepCopyInto ¶
func (in *ExecutionResultReports) DeepCopyInto(out *ExecutionResultReports)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionStatus ¶
type ExecutionStatus string
+kubebuilder:validation:Enum=queued;running;passed;failed;aborted;timeout
const ( QUEUED_ExecutionStatus ExecutionStatus = "queued" RUNNING_ExecutionStatus ExecutionStatus = "running" PASSED_ExecutionStatus ExecutionStatus = "passed" FAILED_ExecutionStatus ExecutionStatus = "failed" ABORTED_ExecutionStatus ExecutionStatus = "aborted" TIMEOUT_ExecutionStatus ExecutionStatus = "timeout" )
List of ExecutionStatus
type ExecutionStepResult ¶
type ExecutionStepResult struct { // step name Name string `json:"name"` Duration string `json:"duration,omitempty"` // execution step status Status string `json:"status"` AssertionResults []AssertionResult `json:"assertionResults,omitempty"` }
execution result data
func (*ExecutionStepResult) DeepCopy ¶
func (in *ExecutionStepResult) DeepCopy() *ExecutionStepResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecutionStepResult.
func (*ExecutionStepResult) DeepCopyInto ¶
func (in *ExecutionStepResult) DeepCopyInto(out *ExecutionStepResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitAuthType ¶
type GitAuthType string
GitAuthType defines git auth type +kubebuilder:validation:Enum=basic;header
const ( // GitAuthTypeBasic for git basic auth requests GitAuthTypeBasic GitAuthType = "basic" // GitAuthTypeHeader for git header auth requests GitAuthTypeHeader GitAuthType = "header" )
type ObjectRef ¶
type ObjectRef struct { // object kubernetes namespace Namespace string `json:"namespace,omitempty"` // object name Name string `json:"name"` }
func (*ObjectRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRef.
func (*ObjectRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodRequest ¶ added in v1.16.11
type PodRequest struct { Resources *PodResourcesRequest `json:"resources,omitempty"` // pod template extensions PodTemplate string `json:"podTemplate,omitempty"` // name of the template resource PodTemplateReference string `json:"podTemplateReference,omitempty"` }
pod request body
func (*PodRequest) DeepCopy ¶ added in v1.16.11
func (in *PodRequest) DeepCopy() *PodRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodRequest.
func (*PodRequest) DeepCopyInto ¶ added in v1.16.11
func (in *PodRequest) DeepCopyInto(out *PodRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodResourcesRequest ¶ added in v1.16.11
type PodResourcesRequest struct { Requests *ResourceRequest `json:"requests,omitempty"` Limits *ResourceRequest `json:"limits,omitempty"` }
pod resources request specification
func (*PodResourcesRequest) DeepCopy ¶ added in v1.16.11
func (in *PodResourcesRequest) DeepCopy() *PodResourcesRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodResourcesRequest.
func (*PodResourcesRequest) DeepCopyInto ¶ added in v1.16.11
func (in *PodResourcesRequest) DeepCopyInto(out *PodResourcesRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Repository ¶
type Repository struct { // VCS repository type Type_ string `json:"type,omitempty"` // uri of content file or git directory Uri string `json:"uri,omitempty"` // branch/tag name for checkout Branch string `json:"branch,omitempty"` // commit id (sha) for checkout Commit string `json:"commit,omitempty"` // if needed we can checkout particular path (dir or file) in case of BIG/mono repositories Path string `json:"path,omitempty"` UsernameSecret *SecretRef `json:"usernameSecret,omitempty"` TokenSecret *SecretRef `json:"tokenSecret,omitempty"` // git auth certificate secret for private repositories CertificateSecret string `json:"certificateSecret,omitempty"` // if provided we checkout the whole repository and run test from this directory WorkingDir string `json:"workingDir,omitempty"` // auth type for git requests AuthType GitAuthType `json:"authType,omitempty"` }
Repository represents VCS repo, currently we're handling Git only
func (*Repository) DeepCopy ¶
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequest ¶ added in v1.16.11
type ResourceRequest struct { // requested cpu units Cpu string `json:"cpu,omitempty"` // requested memory units Memory string `json:"memory,omitempty"` }
resource request specification
func (*ResourceRequest) DeepCopy ¶ added in v1.16.11
func (in *ResourceRequest) DeepCopy() *ResourceRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequest.
func (*ResourceRequest) DeepCopyInto ¶ added in v1.16.11
func (in *ResourceRequest) DeepCopyInto(out *ResourceRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunningContext ¶
type RunningContext struct { // One of possible context types Type_ RunningContextType `json:"type"` // Context value depending from its type Context string `json:"context,omitempty"` }
running context for test or test suite execution
func (*RunningContext) DeepCopy ¶
func (in *RunningContext) DeepCopy() *RunningContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunningContext.
func (*RunningContext) DeepCopyInto ¶
func (in *RunningContext) DeepCopyInto(out *RunningContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunningContextType ¶
type RunningContextType string
RunningContextType defines running context type +kubebuilder:validation:Enum=user-cli;user-ui;testsuite;testtrigger;scheduler;testexecution;testsuiteexecution
const ( RunningContextTypeUserCLI RunningContextType = "user-cli" RunningContextTypeUserUI RunningContextType = "user-ui" RunningContextTypeTestSuite RunningContextType = "testsuite" RunningContextTypeTestTrigger RunningContextType = "testtrigger" RunningContextTypeScheduler RunningContextType = "scheduler" RunningContextTypeTestExecution RunningContextType = "testexecution" RunningContextTypeTestSuiteExecution RunningContextType = "testsuiteexecution" RunningContextTypeEmpty RunningContextType = "" )
type SecretRef ¶
type SecretRef struct { // object kubernetes namespace Namespace string `json:"namespace,omitempty"` // object name Name string `json:"name"` // object key Key string `json:"key"` }
Testkube internal reference for secret storage in Kubernetes secrets
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestContent ¶
type TestContent struct { // test type Type_ TestContentType `json:"type,omitempty"` // repository of test content Repository *Repository `json:"repository,omitempty"` // test content body Data string `json:"data,omitempty"` // uri of test content Uri string `json:"uri,omitempty"` }
TestContent defines test content
func (*TestContent) DeepCopy ¶
func (in *TestContent) DeepCopy() *TestContent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestContent.
func (*TestContent) DeepCopyInto ¶
func (in *TestContent) DeepCopyInto(out *TestContent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestContentType ¶
type TestContentType string
+kubebuilder:validation:Enum=string;file-uri;git-file;git-dir;git
const ( TestContentTypeString TestContentType = "string" TestContentTypeFileURI TestContentType = "file-uri" // Deprecated: use git instead TestContentTypeGitFile TestContentType = "git-file" // Deprecated: use git instead TestContentTypeGitDir TestContentType = "git-dir" TestContentTypeGit TestContentType = "git" )
type TestExecution ¶
type TestExecution struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TestExecutionSpec `json:"spec,omitempty"` Status TestExecutionStatus `json:"status,omitempty"` }
TestExecution is the Schema for the testexecutions API
func (*TestExecution) DeepCopy ¶
func (in *TestExecution) DeepCopy() *TestExecution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestExecution.
func (*TestExecution) DeepCopyInto ¶
func (in *TestExecution) DeepCopyInto(out *TestExecution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TestExecution) DeepCopyObject ¶
func (in *TestExecution) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TestExecutionList ¶
type TestExecutionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TestExecution `json:"items"` }
TestExecutionList contains a list of TestExecution
func (*TestExecutionList) DeepCopy ¶
func (in *TestExecutionList) DeepCopy() *TestExecutionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestExecutionList.
func (*TestExecutionList) DeepCopyInto ¶
func (in *TestExecutionList) DeepCopyInto(out *TestExecutionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TestExecutionList) DeepCopyObject ¶
func (in *TestExecutionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TestExecutionSpec ¶
type TestExecutionSpec struct { Test *ObjectRef `json:"test"` ExecutionRequest *ExecutionRequest `json:"executionRequest,omitempty"` }
TestExecutionSpec defines the desired state of TestExecution
func (*TestExecutionSpec) DeepCopy ¶
func (in *TestExecutionSpec) DeepCopy() *TestExecutionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestExecutionSpec.
func (*TestExecutionSpec) DeepCopyInto ¶
func (in *TestExecutionSpec) DeepCopyInto(out *TestExecutionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestExecutionStatus ¶
type TestExecutionStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file LatestExecution *Execution `json:"latestExecution,omitempty"` // test execution generation Generation int64 `json:"generation,omitempty"` }
TestExecutionStatus defines the observed state of TestExecution
func (*TestExecutionStatus) DeepCopy ¶
func (in *TestExecutionStatus) DeepCopy() *TestExecutionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestExecutionStatus.
func (*TestExecutionStatus) DeepCopyInto ¶
func (in *TestExecutionStatus) DeepCopyInto(out *TestExecutionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.