Documentation ¶
Index ¶
- func NewExecutorJobSpec(log *zap.SugaredLogger, options *JobOptions) (*batchv1.Job, error)
- func NewPersistentVolumeClaimSpec(log *zap.SugaredLogger, options *JobOptions) (*corev1.PersistentVolumeClaim, error)
- func NewScraperJobSpec(log *zap.SugaredLogger, options *JobOptions) (*batchv1.Job, error)
- func TailJobLogs(log *zap.SugaredLogger, c kubernetes.Interface, namespace string, id string, ...) (err error)
- type ContainerExecutor
- func (c *ContainerExecutor) Abort(execution *testkube.Execution) *testkube.ExecutionResult
- func (c *ContainerExecutor) Execute(execution *testkube.Execution, options client.ExecuteOptions) (testkube.ExecutionResult, error)
- func (c *ContainerExecutor) ExecuteSync(execution *testkube.Execution, options client.ExecuteOptions) (testkube.ExecutionResult, error)
- func (c *ContainerExecutor) Logs(id string) (out chan output.Output, err error)
- type EventEmitter
- type ExecutionCounter
- type JobOptions
- type ResultRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewExecutorJobSpec ¶ added in v1.7.16
func NewExecutorJobSpec(log *zap.SugaredLogger, options *JobOptions) (*batchv1.Job, error)
NewExecutorJobSpec is a method to create new executor job spec
func NewPersistentVolumeClaimSpec ¶ added in v1.7.16
func NewPersistentVolumeClaimSpec(log *zap.SugaredLogger, options *JobOptions) (*corev1.PersistentVolumeClaim, error)
NewPersistentVolumeClaimSpec is a method to create new persistent volume claim spec
func NewScraperJobSpec ¶ added in v1.7.16
func NewScraperJobSpec(log *zap.SugaredLogger, options *JobOptions) (*batchv1.Job, error)
NewScraperJobSpec is a method to create new scraper job spec
func TailJobLogs ¶
func TailJobLogs(log *zap.SugaredLogger, c kubernetes.Interface, namespace string, id string, logs chan []byte) (err error)
These methods here are similiar to Job executor, but they don't require the json structure. TailJobLogs - locates logs for job pod(s)
Types ¶
type ContainerExecutor ¶
type ContainerExecutor struct {
// contains filtered or unexported fields
}
ContainerExecutor is container for managing job executor dependencies
func NewContainerExecutor ¶
func NewContainerExecutor(repo ResultRepository, namespace string, images executor.Images, templates executor.Templates, serviceAccountName string, metrics ExecutionCounter, emiter EventEmitter, configMap config.Repository) (client *ContainerExecutor, err error)
NewContainerExecutor creates new job executor
func (*ContainerExecutor) Abort ¶
func (c *ContainerExecutor) Abort(execution *testkube.Execution) *testkube.ExecutionResult
Abort K8sJob aborts K8S by job name
func (*ContainerExecutor) Execute ¶
func (c *ContainerExecutor) Execute(execution *testkube.Execution, options client.ExecuteOptions) (testkube.ExecutionResult, error)
Execute starts new external test execution, reads data and returns ID Execution is started asynchronously client can check later for results
func (*ContainerExecutor) ExecuteSync ¶
func (c *ContainerExecutor) ExecuteSync(execution *testkube.Execution, options client.ExecuteOptions) (testkube.ExecutionResult, error)
Execute starts new external test execution, reads data and returns ID Execution is started synchronously client will be blocked
type EventEmitter ¶
type ExecutionCounter ¶
type JobOptions ¶
type JobOptions struct { Name string Namespace string Image string ImagePullSecrets []string Command []string Args []string WorkingDir string ImageOverride string Jsn string TestName string InitImage string ScraperImage string JobTemplate string ScraperTemplate string PVCTemplate string SecretEnvs map[string]string Envs map[string]string HTTPProxy string HTTPSProxy string UsernameSecret *testkube.SecretRef TokenSecret *testkube.SecretRef Variables map[string]testkube.Variable ActiveDeadlineSeconds int64 ArtifactRequest *testkube.ArtifactRequest ServiceAccountName string DelaySeconds int JobTemplateExtensions string }
func NewJobOptions ¶
func NewJobOptions(images executor.Images, templates executor.Templates, serviceAccountName string, execution testkube.Execution, options client.ExecuteOptions) (*JobOptions, error)
NewJobOptions provides job options for templates
func NewJobOptionsFromExecutionOptions ¶
func NewJobOptionsFromExecutionOptions(options client.ExecuteOptions) *JobOptions
NewJobOptionsFromExecutionOptions compose JobOptions based on ExecuteOptions
type ResultRepository ¶
type ResultRepository interface { // UpdateExecution updates result in execution UpdateResult(ctx context.Context, id string, execution testkube.ExecutionResult) error // StartExecution updates execution start time StartExecution(ctx context.Context, id string, startTime time.Time) error // EndExecution updates execution end time EndExecution(ctx context.Context, execution testkube.Execution) error }