Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the k6 v1alpha1 API group +kubebuilder:object:generate=true +groupName=k6.io
Index ¶
- Constants
- Variables
- func Initialize(k6 *TestRun)
- func IsFalse(k6 *TestRun, conditionType string) bool
- func IsTrue(k6 *TestRun, conditionType string) bool
- func IsUnknown(k6 *TestRun, conditionType string) bool
- func LastUpdate(k6 *TestRun, conditionType string) (time.Time, bool)
- func UpdateCondition(k6 *TestRun, conditionType string, conditionStatus metav1.ConditionStatus)
- type Cleanup
- type InitContainer
- type K6Configmap
- type K6Script
- type K6Scuttle
- type K6VolumeClaim
- type Pod
- type PodMetadata
- type PrivateLoadZone
- func (in *PrivateLoadZone) DeepCopy() *PrivateLoadZone
- func (in *PrivateLoadZone) DeepCopyInto(out *PrivateLoadZone)
- func (in *PrivateLoadZone) DeepCopyObject() runtime.Object
- func (plz *PrivateLoadZone) Deregister(ctx context.Context, logger logr.Logger, client *cloudapi.Client) error
- func (plz *PrivateLoadZone) Initialize()
- func (plz PrivateLoadZone) IsFalse(conditionType string) bool
- func (plz PrivateLoadZone) IsTrue(conditionType string) bool
- func (plz PrivateLoadZone) IsUnknown(conditionType string) bool
- func (plz *PrivateLoadZone) Register(ctx context.Context, logger logr.Logger, client *cloudapi.Client) (string, error)
- func (plz PrivateLoadZone) UpdateCondition(conditionType string, conditionStatus metav1.ConditionStatus)
- type PrivateLoadZoneList
- type PrivateLoadZoneSpec
- type PrivateLoadZoneStatus
- type Stage
- type TestRun
- func (in *TestRun) DeepCopy() *TestRun
- func (in *TestRun) DeepCopyInto(out *TestRun)
- func (in *TestRun) DeepCopyObject() runtime.Object
- func (k6 *TestRun) GetSpec() *TestRunSpec
- func (k6 *TestRun) GetStatus() *TestRunStatus
- func (k6 *TestRun) ListOptions() *client.ListOptions
- func (k6 *TestRun) NamespacedName() k8stypes.NamespacedName
- func (k6 *TestRun) TestRunID() string
- type TestRunList
- type TestRunSpec
- type TestRunStatus
Constants ¶
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" )
const ( // PLZRegistered indicates if the PLZ has been registered. // - if empty / Unknown / False, call registration // - if True, do nothing PLZRegistered = "PLZRegistered" )
Variables ¶
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 LastUpdate ¶ added in v0.0.11
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"` }
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 ¶
K6Configmap describes the config map script location
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 string `json:"localFile,omitempty"` }
K6Script describes where the script to execute the tests is found
func (*K6Script) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K6Script.
func (*K6Script) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K6Scuttle.
func (*K6Scuttle) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K6VolumeClaim ¶
type K6VolumeClaim struct { Name string `json:"name"` File string `json:"file,omitempty"` ReadOnly bool `json:"readOnly,omitempty"` }
K6VolumeClaim describes the volume claim script location
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
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 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 { Token string `json:"token"` Resources corev1.ResourceRequirements `json:"resources"` ServiceAccountName string `json:"serviceAccountName,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` Image string `json:"image,omitempty"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,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
PrivateLoadZoneStatus defines the observed state of PrivateLoadZone
func (*PrivateLoadZoneStatus) DeepCopy ¶ added in v0.0.10
func (in *PrivateLoadZoneStatus) DeepCopy() *PrivateLoadZoneStatus
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 our 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestRun.
func (*TestRun) DeepCopyInto ¶ added in v0.0.11
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
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
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 K6Script `json:"script"` Parallelism int32 `json:"parallelism"` Separate bool `json:"separate,omitempty"` Arguments string `json:"arguments,omitempty"` Ports []corev1.ContainerPort `json:"ports,omitempty"` Initializer *Pod `json:"initializer,omitempty"` Starter Pod `json:"starter,omitempty"` Runner Pod `json:"runner,omitempty"` Quiet string `json:"quiet,omitempty"` Paused string `json:"paused,omitempty"` Scuttle K6Scuttle `json:"scuttle,omitempty"` Cleanup Cleanup `json:"cleanup,omitempty"` TestRunID string `json:"testRunId,omitempty"` // PLZ reserved field 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.