v1alpha1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2025 License: Apache-2.0 Imports: 20 Imported by: 8

Documentation

Overview

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

Index

Constants

View Source
const (
	// TestRunRunning indicates if the test run is currently running.
	// - if empty / Unknown, it's any stage before k6 resume (starter)
	// - if False, it's after all runners have finished successfully or with error
	// - if True, it's after successful starter but before all runners have finished
	TestRunRunning = "TestRunRunning"

	// TeardownExecuted indicates whether the `teardown()` has been executed on one of the runners.
	// This condition can be used only in PLZ test runs.
	TeardownExecuted = "TeardownExecuted"

	// CloudTestRun indicates if this test run is supposed to be a cloud test run
	// (i.e. with `--out cloud` option).
	// - if empty / Unknown, the type of test is unknown yet
	// - if False, it is not a cloud test run
	// - if True, it is a cloud test run
	CloudTestRun = "CloudTestRun"

	// CloudTestRunCreated indicates if k6 Cloud test run ID has been created for this test.
	// - if empty / Unknown, it's either a non-cloud test run or it is a cloud test run
	// that wasn't created yet
	// - if False, it is a cloud test run and it is yet to be created
	// - if True, it is a cloud test run and it has been created already
	CloudTestRunCreated = "CloudTestRunCreated"

	// CloudTestRunFinalized indicates if k6 Cloud test run has been finalized.
	// - if empty / Unknown, it's either a non-cloud test run or it is a cloud test run
	// that wasn't finalized yet
	// - if False, it's a cloud test run and it is yet to be finalized
	// - if True, it's a cloud test run that has been finalized already
	CloudTestRunFinalized = "CloudTestRunFinalized"

	// CloudPLZTestRun indicates if this k6 Cloud test run is a PLZ test run.
	// This condition is valid only if CloudTestRun is True as well.
	// - if empty / Unknown, it's either a non-PLZ test run or it's unknown yet.
	// - if False, it's not a PLZ test run.
	// - if True, it is a PLZ test run.
	CloudPLZTestRun = "CloudPLZTestRun"

	// CloudTestRunAborted indicates if this k6 Cloud test run was aborted externally,
	// for any reason.
	// This condition is valid only if CloudPLZTestRun is True as well.
	// - if empty / Unknown, it's either a non-PLZ test run or it's unknown yet.
	// - if False, it's a PLZ test run and it wasn't aborted.
	// - if True, it is a PLZ test run and it was aborted.
	CloudTestRunAborted = "CloudTestRunAborted"
)
View Source
const (
	// PLZRegistered indicates if the PLZ has been registered.
	// - if empty / Unknown / False, call registration
	// - if True, do nothing
	PLZRegistered = "PLZRegistered"
)

Variables

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

	// 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 Initialize added in v0.0.11

func Initialize(k6 *TestRun)

Initialize defines only conditions common to all test runs.

func IsFalse added in v0.0.11

func IsFalse(k6 *TestRun, conditionType string) bool

func IsTrue added in v0.0.11

func IsTrue(k6 *TestRun, conditionType string) bool

func IsUnknown added in v0.0.11

func IsUnknown(k6 *TestRun, conditionType string) bool

func LastUpdate added in v0.0.11

func LastUpdate(k6 *TestRun, conditionType string) (time.Time, bool)

func UpdateCondition added in v0.0.11

func UpdateCondition(k6 *TestRun, conditionType string, conditionStatus metav1.ConditionStatus)

Types

type Cleanup

type Cleanup string

Cleanup allows for automatic cleanup of resources post execution. +kubebuilder:validation:Enum=post

type InitContainer added in v0.0.10

type InitContainer struct {
	Name          string                         `json:"name,omitempty"`
	Image         string                         `json:"image,omitempty"`
	Env           []corev1.EnvVar                `json:"env,omitempty"`
	EnvFrom       []corev1.EnvFromSource         `json:"envFrom,omitempty"`
	Command       []string                       `json:"command,omitempty"`
	Args          []string                       `json:"args,omitempty"`
	WorkingDir    string                         `json:"workingDir,omitempty"`
	VolumeMounts  []corev1.VolumeMount           `json:"volumeMounts,omitempty"`
	RestartPolicy *corev1.ContainerRestartPolicy `json:"restartPolicy,omitempty"`
}

func (*InitContainer) DeepCopy added in v0.0.10

func (in *InitContainer) DeepCopy() *InitContainer

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

func (*InitContainer) DeepCopyInto added in v0.0.10

func (in *InitContainer) DeepCopyInto(out *InitContainer)

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

type K6Configmap

type K6Configmap struct {
	// Name of the ConfigMap. It is expected to be in the sanme namespace as the `TestRun`.
	Name string `json:"name"`
	// Name of the file to execute (.js or .tar), stored as a key in the ConfigMap.
	File string `json:"file,omitempty"`
}

K6Configmap describes the location of the script in the ConfigMap.

func (*K6Configmap) DeepCopy

func (in *K6Configmap) DeepCopy() *K6Configmap

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

func (*K6Configmap) DeepCopyInto

func (in *K6Configmap) DeepCopyInto(out *K6Configmap)

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

type K6Script

type K6Script struct {
	VolumeClaim K6VolumeClaim `json:"volumeClaim,omitempty"`
	ConfigMap   K6Configmap   `json:"configMap,omitempty"`
	// LocalFile describes the location of the script in the runner image.
	LocalFile string `json:"localFile,omitempty"`
}

K6Script describes where to find the k6 script.

func (*K6Script) DeepCopy

func (in *K6Script) DeepCopy() *K6Script

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

func (*K6Script) DeepCopyInto

func (in *K6Script) DeepCopyInto(out *K6Script)

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

type K6Scuttle

type K6Scuttle struct {
	Enabled                 string `json:"enabled,omitempty"`
	EnvoyAdminApi           string `json:"envoyAdminApi,omitempty"`
	NeverKillIstio          bool   `json:"neverKillIstio,omitempty"`
	NeverKillIstioOnFailure bool   `json:"neverKillIstioOnFailure,omitempty"`
	DisableLogging          bool   `json:"disableLogging,omitempty"`
	StartWithoutEnvoy       bool   `json:"startWithoutEnvoy,omitempty"`
	WaitForEnvoyTimeout     string `json:"waitForEnvoyTimeout,omitempty"`
	IstioQuitApi            string `json:"istioQuitApi,omitempty"`
	GenericQuitEndpoint     string `json:"genericQuitEndpoint,omitempty"`
	QuitWithoutEnvoyTimeout string `json:"quitWithoutEnvoyTimeout,omitempty"`
}

func (*K6Scuttle) DeepCopy

func (in *K6Scuttle) DeepCopy() *K6Scuttle

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

func (*K6Scuttle) DeepCopyInto

func (in *K6Scuttle) DeepCopyInto(out *K6Scuttle)

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

type K6VolumeClaim

type K6VolumeClaim struct {
	// Name of the persistent volumeClaim where the script is stored.
	// It is mounted as a `/test` folder to all k6 Pods.
	Name string `json:"name"`
	// Name of the file to execute (.js or .tar), stored on the Volume.
	File string `json:"file,omitempty"`
	// ReadOnly shows whether the volume should be mounted as `readOnly`.
	ReadOnly bool `json:"readOnly,omitempty"`
}

K6VolumeClaim describes the location of the script on the Volume.

func (*K6VolumeClaim) DeepCopy

func (in *K6VolumeClaim) DeepCopy() *K6VolumeClaim

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

func (*K6VolumeClaim) DeepCopyInto

func (in *K6VolumeClaim) DeepCopyInto(out *K6VolumeClaim)

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

type PLZSecretsConfig added in v0.0.20

type PLZSecretsConfig struct {
	ConfigMapRef *corev1.ConfigMapEnvSource `json:"configMapRef,omitempty"`
	SecretRef    *corev1.SecretEnvSource    `json:"secretRef,omitempty"`
}

func (*PLZSecretsConfig) DeepCopy added in v0.0.20

func (in *PLZSecretsConfig) DeepCopy() *PLZSecretsConfig

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

func (*PLZSecretsConfig) DeepCopyInto added in v0.0.20

func (in *PLZSecretsConfig) DeepCopyInto(out *PLZSecretsConfig)

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

type Pod

type Pod struct {
	Affinity                     *corev1.Affinity                  `json:"affinity,omitempty"`
	AutomountServiceAccountToken string                            `json:"automountServiceAccountToken,omitempty"`
	Env                          []corev1.EnvVar                   `json:"env,omitempty"`
	Image                        string                            `json:"image,omitempty"`
	ImagePullSecrets             []corev1.LocalObjectReference     `json:"imagePullSecrets,omitempty"`
	ImagePullPolicy              corev1.PullPolicy                 `json:"imagePullPolicy,omitempty"`
	Metadata                     PodMetadata                       `json:"metadata,omitempty"`
	NodeSelector                 map[string]string                 `json:"nodeSelector,omitempty"`
	Tolerations                  []corev1.Toleration               `json:"tolerations,omitempty"`
	TopologySpreadConstraints    []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	Resources                    corev1.ResourceRequirements       `json:"resources,omitempty"`
	ServiceAccountName           string                            `json:"serviceAccountName,omitempty"`
	SecurityContext              corev1.PodSecurityContext         `json:"securityContext,omitempty"`
	ContainerSecurityContext     corev1.SecurityContext            `json:"containerSecurityContext,omitempty"`
	EnvFrom                      []corev1.EnvFromSource            `json:"envFrom,omitempty"`
	ReadinessProbe               *corev1.Probe                     `json:"readinessProbe,omitempty"`
	LivenessProbe                *corev1.Probe                     `json:"livenessProbe,omitempty"`
	InitContainers               []InitContainer                   `json:"initContainers,omitempty"`
	Volumes                      []corev1.Volume                   `json:"volumes,omitempty"`
	VolumeMounts                 []corev1.VolumeMount              `json:"volumeMounts,omitempty"`
}

func (*Pod) DeepCopy

func (in *Pod) DeepCopy() *Pod

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

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

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

type PodMetadata

type PodMetadata struct {
	Annotations map[string]string `json:"annotations,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`
}

func (*PodMetadata) DeepCopy

func (in *PodMetadata) DeepCopy() *PodMetadata

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

func (*PodMetadata) DeepCopyInto

func (in *PodMetadata) DeepCopyInto(out *PodMetadata)

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

type PrivateLoadZone added in v0.0.10

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

	Spec   PrivateLoadZoneSpec   `json:"spec,omitempty"`
	Status PrivateLoadZoneStatus `json:"status,omitempty"`
}

PrivateLoadZone is the Schema for the privateloadzones API

func (*PrivateLoadZone) DeepCopy added in v0.0.10

func (in *PrivateLoadZone) DeepCopy() *PrivateLoadZone

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

func (*PrivateLoadZone) DeepCopyInto added in v0.0.10

func (in *PrivateLoadZone) DeepCopyInto(out *PrivateLoadZone)

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

func (*PrivateLoadZone) DeepCopyObject added in v0.0.10

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

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

func (*PrivateLoadZone) Deregister added in v0.0.10

func (plz *PrivateLoadZone) Deregister(ctx context.Context, logger logr.Logger, client *cloudapi.Client) error

Deregister attempts to deregister PLZ with the k6 Cloud. It is meant to be used as a finalizer.

func (*PrivateLoadZone) Initialize added in v0.0.10

func (plz *PrivateLoadZone) Initialize()

func (PrivateLoadZone) IsFalse added in v0.0.10

func (plz PrivateLoadZone) IsFalse(conditionType string) bool

func (PrivateLoadZone) IsTrue added in v0.0.10

func (plz PrivateLoadZone) IsTrue(conditionType string) bool

func (PrivateLoadZone) IsUnknown added in v0.0.10

func (plz PrivateLoadZone) IsUnknown(conditionType string) bool

func (*PrivateLoadZone) Register added in v0.0.10

func (plz *PrivateLoadZone) Register(ctx context.Context, logger logr.Logger, client *cloudapi.Client) (string, error)

Register attempts to register PLZ with the k6 Cloud. Regardless of the result, condition PLZRegistered will be set to False. Callee is expected to check the returned error and set condition when it's appropriate.

func (PrivateLoadZone) UpdateCondition added in v0.0.10

func (plz PrivateLoadZone) UpdateCondition(conditionType string, conditionStatus metav1.ConditionStatus)

type PrivateLoadZoneConfig added in v0.0.20

type PrivateLoadZoneConfig struct {
	// Secrets contains a list of definitions copied from `corev1.EnvFromSource`.
	// They are re-packed into `EnvFromSource` struct during TestRun creation.
	Secrets []PLZSecretsConfig `json:"secrets,omitempty"`
}

func (*PrivateLoadZoneConfig) DeepCopy added in v0.0.20

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

func (*PrivateLoadZoneConfig) DeepCopyInto added in v0.0.20

func (in *PrivateLoadZoneConfig) DeepCopyInto(out *PrivateLoadZoneConfig)

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

func (*PrivateLoadZoneConfig) ToEnvFromSource added in v0.0.20

func (plzConfig *PrivateLoadZoneConfig) ToEnvFromSource() []corev1.EnvFromSource

type PrivateLoadZoneList added in v0.0.10

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

PrivateLoadZoneList contains a list of PrivateLoadZone

func (*PrivateLoadZoneList) DeepCopy added in v0.0.10

func (in *PrivateLoadZoneList) DeepCopy() *PrivateLoadZoneList

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

func (*PrivateLoadZoneList) DeepCopyInto added in v0.0.10

func (in *PrivateLoadZoneList) DeepCopyInto(out *PrivateLoadZoneList)

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

func (*PrivateLoadZoneList) DeepCopyObject added in v0.0.10

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

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

type PrivateLoadZoneSpec added in v0.0.10

type PrivateLoadZoneSpec struct {
	// Grafana Cloud k6 token
	// +kubebuilder:validation:Type=string
	Token string `json:"token"`

	Resources corev1.ResourceRequirements `json:"resources"`

	// Service account name which should be associated with all created Pods.
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// Node selector which should be applied to all created Pods.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// The Docker image of the k6 runners.
	// Default is "grafana/k6:latest", set by Grafana Cloud k6.
	Image string `json:"image,omitempty"`

	// The imagePullSecrets which should be configured for all created Pods.
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// Configuration of the test runs specific for this `PrivateLoadZone`.
	Config PrivateLoadZoneConfig `json:"config,omitempty"`
}

PrivateLoadZoneSpec defines the desired state of PrivateLoadZone

func (*PrivateLoadZoneSpec) DeepCopy added in v0.0.10

func (in *PrivateLoadZoneSpec) DeepCopy() *PrivateLoadZoneSpec

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

func (*PrivateLoadZoneSpec) DeepCopyInto added in v0.0.10

func (in *PrivateLoadZoneSpec) DeepCopyInto(out *PrivateLoadZoneSpec)

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

type PrivateLoadZoneStatus added in v0.0.10

type PrivateLoadZoneStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

PrivateLoadZoneStatus defines the observed state of PrivateLoadZone

func (*PrivateLoadZoneStatus) DeepCopy added in v0.0.10

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

func (*PrivateLoadZoneStatus) DeepCopyInto added in v0.0.10

func (in *PrivateLoadZoneStatus) DeepCopyInto(out *PrivateLoadZoneStatus)

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

func (*PrivateLoadZoneStatus) SetIfNewer added in v0.0.10

func (plzStatus *PrivateLoadZoneStatus) SetIfNewer(proposedStatus PrivateLoadZoneStatus) (isNewer bool)

SetIfNewer changes plzstatus only if changes in proposedStatus are newer. If there were any acceptable changes proposed, it returns true.

type Stage

type Stage string

Stage describes which stage of the test execution lifecycle k6 runners are in. +kubebuilder:validation:Enum=initialization;initialized;created;started;stopped;finished;error

type TestRun added in v0.0.11

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

	Spec   TestRunSpec   `json:"spec,omitempty"`
	Status TestRunStatus `json:"status,omitempty"`
}

TestRun is the Schema for the testruns API.

func (*TestRun) DeepCopy added in v0.0.11

func (in *TestRun) DeepCopy() *TestRun

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

func (*TestRun) DeepCopyInto added in v0.0.11

func (in *TestRun) DeepCopyInto(out *TestRun)

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

func (*TestRun) DeepCopyObject added in v0.0.11

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

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

func (*TestRun) GetSpec added in v0.0.11

func (k6 *TestRun) GetSpec() *TestRunSpec

func (*TestRun) GetStatus added in v0.0.11

func (k6 *TestRun) GetStatus() *TestRunStatus

TestRunI implementation for TestRun

func (*TestRun) ListOptions added in v0.0.19

func (k6 *TestRun) ListOptions() *client.ListOptions

func (*TestRun) NamespacedName added in v0.0.11

func (k6 *TestRun) NamespacedName() k8stypes.NamespacedName

func (*TestRun) TestRunID added in v0.0.19

func (k6 *TestRun) TestRunID() string

TestRunID is a tiny helper to get k6 Cloud test run ID. PLZ test run will have test run ID as part of spec, while cloud output test run as part of status.

type TestRunList added in v0.0.11

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

TestRunList contains a list of TestRun

func (*TestRunList) DeepCopy added in v0.0.11

func (in *TestRunList) DeepCopy() *TestRunList

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

func (*TestRunList) DeepCopyInto added in v0.0.11

func (in *TestRunList) DeepCopyInto(out *TestRunList)

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

func (*TestRunList) DeepCopyObject added in v0.0.11

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

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

type TestRunSpec added in v0.0.11

type TestRunSpec struct {
	// Script describes where the k6 script is located.
	Script K6Script `json:"script"`

	// Parallelism shows the number of k6 runners.
	Parallelism int32 `json:"parallelism"`

	// Separate is a quick way to run all k6 runners on different hostnames
	// using the podAntiAffinity rule.
	Separate bool `json:"separate,omitempty"`

	// Arguments to pass to the k6 process.
	Arguments string `json:"arguments,omitempty"`

	// Port to configure on all k6 containers.
	// Port 6565 is always configured for k6 processes.
	Ports []corev1.ContainerPort `json:"ports,omitempty"`

	// Configuration for the initializer Pod. If omitted, the initializer
	// is configured with the same parameters as a runner Pod.
	Initializer *Pod `json:"initializer,omitempty"`

	// Configuration for the starter Pod.
	Starter Pod `json:"starter,omitempty"`

	// Configuration for a runner Pod.
	Runner Pod `json:"runner,omitempty"`

	// Quiet is a boolean variable that allows to swtich off passing the `--quiet` to k6.
	// +kubebuilder:default="true"
	Quiet string `json:"quiet,omitempty"`

	// Paused is a boolean variable that allows to switch off passing the `--paused` to k6.
	// Use with caution as it can skew the result of the test.
	// +kubebuilder:default="true"
	Paused string `json:"paused,omitempty"`

	// Configuration for Envoy proxy.
	Scuttle K6Scuttle `json:"scuttle,omitempty"`

	Cleanup Cleanup `json:"cleanup,omitempty"`

	// TestRunID is reserved by Grafana Cloud k6. Do not set it manually.
	TestRunID string `json:"testRunId,omitempty"` // PLZ reserved field

	// Token is reserved by Grafana Cloud k6. Do not set it manually.
	Token string `json:"token,omitempty"` // PLZ reserved field (for now)
}

TestRunSpec defines the desired state of TestRun

func (*TestRunSpec) DeepCopy added in v0.0.11

func (in *TestRunSpec) DeepCopy() *TestRunSpec

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

func (*TestRunSpec) DeepCopyInto added in v0.0.11

func (in *TestRunSpec) DeepCopyInto(out *TestRunSpec)

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

func (TestRunSpec) ParseScript added in v0.0.11

func (k6 TestRunSpec) ParseScript() (*types.Script, error)

Parse extracts Script data bits from K6 spec and performs basic validation

type TestRunStatus added in v0.0.11

type TestRunStatus struct {
	Stage           Stage  `json:"stage,omitempty"`
	TestRunID       string `json:"testRunId,omitempty"`
	AggregationVars string `json:"aggregationVars,omitempty"`

	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TestRunStatus defines the observed state of TestRun.

func (*TestRunStatus) DeepCopy added in v0.0.11

func (in *TestRunStatus) DeepCopy() *TestRunStatus

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

func (*TestRunStatus) DeepCopyInto added in v0.0.11

func (in *TestRunStatus) DeepCopyInto(out *TestRunStatus)

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

func (*TestRunStatus) SetIfNewer added in v0.0.11

func (k6status *TestRunStatus) SetIfNewer(proposedStatus TestRunStatus) (isNewer bool)

SetIfNewer changes k6status only if changes in proposedStatus are consistent with the expected progression of a test run. If there were any acceptable changes proposed, it returns true.

Jump to

Keyboard shortcuts

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