v1alpha1

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2023 License: GPL-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the windtunnel v1alpha1 API group +kubebuilder:object:generate=true +groupName=windtunnel.plantd.org

Index

Constants

View Source
const (
	PipelineInitializing string = "Initializing" // initializing includes setting up of prometheus service monitors, service setup
	PipelineAvailable    string = "Available"    // initialization has successfully completed
	PipelineEngaged      string = "Engaged"      // pipeline has been added to an experiment
	PipelineOK           string = "OK"           // if health check passed
	PipelineFailed       string = "Failed"       // if health check fails
	ProtocolHTTP         string = "http"
	ProtocolWebSocket    string = "websocket"
	ProtocolGRPC         string = "grpc"
	WithDataSet          string = "withDataSet"
	WithData             string = "withData"
)

Variables

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

	// AllKinds lists all available object kinds, except PlantDCore.
	AllKinds = []string{"PlantDCore", "Schema", "DataSet", "LoadPattern", "Pipeline", "Experiment", "CostExporter"}

	// 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 Column

type Column struct {
	// Name defines the name of the column.
	Name string `json:"name"`
	// Type defines the data type of the column. Should match the type with one of the provided types.
	Type string `json:"type,omitempty"`
	// Params defines the parameters for constructing the data give certain data type.
	Params map[string]string `json:"params,omitempty"`
	// Formula defines the formula applies to the column data.
	Formula FormulaSpec `json:"formula,omitempty"`
}

Column defines the metadata of the column data.

func (*Column) DeepCopy

func (in *Column) DeepCopy() *Column

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

func (*Column) DeepCopyInto

func (in *Column) DeepCopyInto(out *Column)

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

type CostExporter

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

	// Spec defines the specifictions of the CostExporter.
	Spec CostExporterSpec `json:"spec,omitempty"`
	// Status defines the status of the CostExporter.
	Status CostExporterStatus `json:"status,omitempty"`
}

CostExporter is the Schema for the costexporters API

func (*CostExporter) DeepCopy

func (in *CostExporter) DeepCopy() *CostExporter

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

func (*CostExporter) DeepCopyInto

func (in *CostExporter) DeepCopyInto(out *CostExporter)

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

func (*CostExporter) DeepCopyObject

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

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

type CostExporterList

type CostExporterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items defines a list of CostExporters.
	Items []CostExporter `json:"items"`
}

CostExporterList contains a list of CostExporter

func (*CostExporterList) DeepCopy

func (in *CostExporterList) DeepCopy() *CostExporterList

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

func (*CostExporterList) DeepCopyInto

func (in *CostExporterList) DeepCopyInto(out *CostExporterList)

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

func (*CostExporterList) DeepCopyObject

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

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

type CostExporterSpec

type CostExporterSpec struct {
	// S3Bucket defines the AWS S3 bucket name where stores the cost logs.
	S3Bucket string `json:"s3Bucket,omitempty"`
	// CloudServiceProvider defines the target cloud service provide for calculating cost.
	CloudServiceProvider string `json:"cloudServiceProvider,omitempty"`
	// SecretRef defines the reference to the Kubernetes Secret where stores the credentials of cloud service provider
	SecretRef corev1.ObjectReference `json:"secretRef,omitempty"`
}

CostExporterSpec defines the desired state of CostExporter

func (*CostExporterSpec) DeepCopy

func (in *CostExporterSpec) DeepCopy() *CostExporterSpec

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

func (*CostExporterSpec) DeepCopyInto

func (in *CostExporterSpec) DeepCopyInto(out *CostExporterSpec)

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

type CostExporterStatus

type CostExporterStatus struct {
	// JobCompletionTime defines the completion time of the cost calculation job.
	JobCompletionTime *metav1.Time `json:"jobCompletionTime,omitempty"`
	// PodName defines the name of the cost calculation pod.
	PodName string `json:"podName,omitempty"`
	// JobStatus defines the status of the cost calculation job.
	JobStatus string `json:"jobStatus,omitempty"`
	// Tags defines the json string of using tags.
	Tags string `json:"tags,omitempty"`
}

CostExporterStatus defines the observed state of CostExporter

func (*CostExporterStatus) DeepCopy

func (in *CostExporterStatus) DeepCopy() *CostExporterStatus

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

func (*CostExporterStatus) DeepCopyInto

func (in *CostExporterStatus) DeepCopyInto(out *CostExporterStatus)

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

type DataSet

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

	// Spec defines the specifications of the DataSet.
	Spec DataSetSpec `json:"spec,omitempty"`
	// Status defines the status of the DataSet.
	Status DataSetStatus `json:"status,omitempty"`
}

DataSet is the Schema for the datasets API

func (*DataSet) DeepCopy

func (in *DataSet) DeepCopy() *DataSet

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

func (*DataSet) DeepCopyInto

func (in *DataSet) DeepCopyInto(out *DataSet)

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

func (*DataSet) DeepCopyObject

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

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

type DataSetList

type DataSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items defines a list of DataSets.
	Items []DataSet `json:"items"`
}

DataSetList contains a list of DataSet

func (*DataSetList) DeepCopy

func (in *DataSetList) DeepCopy() *DataSetList

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

func (*DataSetList) DeepCopyInto

func (in *DataSetList) DeepCopyInto(out *DataSetList)

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

func (*DataSetList) DeepCopyObject

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

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

type DataSetSpec

type DataSetSpec struct {
	// FileFormat defines the file format of the each file containing the generated data.
	// This may or may not be the output file format based on whether you want to compress these files.
	FileFormat string `json:"fileFormat"`
	// CompressedFileFormat defines the file format for the compressed files.
	// Each file inside the compressed file is of "fileFormat" format specified above.
	// This is the output format if specified for the files.
	CompressedFileFormat string `json:"compressedFileFormat,omitempty"`
	// CompressPerSchema defines the flag of compression.
	// If you wish files from all the different schemas to compressed into one compressed file leave this field as false.
	// If you wish to have a different compressed file for every schema, mark this field as true.
	CompressPerSchema bool `json:"compressPerSchema,omitempty"`
	// NumberOfFiles defines the total number of output files irrespective of compression.
	// Unless "compressPerSchema" is false, this field is applicable per schema.
	NumberOfFiles int32 `json:"numFiles"`
	// Schemas defines a list of Schemas.
	Schemas []SchemaSelector `json:"schemas"`
	// ParallelJobs defines the number of parallel jobs when generating the dataset.
	// TODO: Infer the optimal number of parallel jobs automatically.
	ParallelJobs int32 `json:"parallelJobs,omitempty"`
}

DataSetSpec defines the desired state of DataSet

func (*DataSetSpec) DeepCopy

func (in *DataSetSpec) DeepCopy() *DataSetSpec

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

func (*DataSetSpec) DeepCopyInto

func (in *DataSetSpec) DeepCopyInto(out *DataSetSpec)

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

type DataSetStatus

type DataSetStatus struct {
	// JobStatus defines the status of the data generating job.
	JobStatus string `json:"jobStatus,omitempty"`
	// PVCStatus defines the status of the PVC mount to the data generating pod.
	PVCStatus string `json:"pvcStatus,omitempty"`
	// StartTime defines the start time of the data generating job.
	StartTime *metav1.Time `json:"startTime,omitempty"`
	// CompletionTime defines the duration of the data generating job.
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
	// LastGeneration defines the last generation of the DataSet object.
	LastGeneration int64 `json:"lastGeneration,omitempty"`
	// ErrorCount defines the number of errors raised by the controller or data generating job.
	ErrorCount int `json:"errorCount,omitempty"`
	// Errors defines the map of error messages.
	Errors map[string][]string `json:"errors,omitempty"`
}

DataSetStatus defines the observed state of DataSet

func (*DataSetStatus) DeepCopy

func (in *DataSetStatus) DeepCopy() *DataSetStatus

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

func (*DataSetStatus) DeepCopyInto

func (in *DataSetStatus) DeepCopyInto(out *DataSetStatus)

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

type DeploymentConfig added in v1.3.0

type DeploymentConfig struct {
	// Image defines the container image to use
	Image string `json:"image,omitempty"`
	// Replicas defines the desired number of replicas
	Replicas int32 `json:"replicas,omitempty"`
	// Resources defines the resource requirements per replica
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

DeploymentConfig defines the desired state of modules managed as Deployment

func (*DeploymentConfig) DeepCopy added in v1.3.0

func (in *DeploymentConfig) DeepCopy() *DeploymentConfig

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

func (*DeploymentConfig) DeepCopyInto added in v1.3.0

func (in *DeploymentConfig) DeepCopyInto(out *DeploymentConfig)

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

type Endpoint

type Endpoint struct {
	// Name defines the name of the endpoint. It's required when it's for pipeline endpoint.
	Name string `json:"name,omitempty"`
	// HTTP defines the configuration of the HTTP request. It's mutually exclusive with WebSocket and GRPC.
	HTTP HTTP `json:"http,omitempty"`
	// WebSocket defines the configuration of the WebSocket connection. It's mutually exclusive with HTTP and GRPC.
	WebSocket WebSocket `json:"websocket,omitempty"`
	// GRPC defines the configuration of the gRPC request. It's mutually exclusive with HTTP and WebSocket.
	GRPC GRPC `json:"grpc,omitempty"`
	// ServiceRef defines the Kubernetes Service that exposes metrics.
	ServiceRef corev1.ObjectReference `json:"serviceRef,omitempty"`
	// Internal endpoint for scraping metrics.
	monitoringv1.Endpoint `json:",inline"`
}

Endpoint defines the configuration of the endpoint.

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type Experiment

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

	// Spec defines the specifications of the Experiment.
	Spec ExperimentSpec `json:"spec,omitempty"`
	// Status defines the status of the Experiment.
	Status ExperimentStatus `json:"status,omitempty"`
}

Experiment is the Schema for the experiments API

func (*Experiment) DeepCopy

func (in *Experiment) DeepCopy() *Experiment

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

func (*Experiment) DeepCopyInto

func (in *Experiment) DeepCopyInto(out *Experiment)

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

func (*Experiment) DeepCopyObject

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

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

type ExperimentList

type ExperimentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items defines a list of Experiment.
	Items []Experiment `json:"items"`
}

ExperimentList contains a list of Experiments.

func (*ExperimentList) DeepCopy

func (in *ExperimentList) DeepCopy() *ExperimentList

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

func (*ExperimentList) DeepCopyInto

func (in *ExperimentList) DeepCopyInto(out *ExperimentList)

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

func (*ExperimentList) DeepCopyObject

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

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

type ExperimentSpec

type ExperimentSpec struct {
	// PipelineRef defines s reference of the Pipeline object.
	PipelineRef corev1.ObjectReference `json:"pipelineRef"`
	// LoadPatterns defines a list of configuration of name of endpoints and LoadPatterns.
	LoadPatterns []LoadPatternConfig `json:"loadPatterns"`
	// ScheduledTime defines the scheduled time for the Experiment.
	ScheduledTime metav1.Time `json:"scheduledTime,omitempty"`
}

ExperimentSpec defines the desired state of Experiment

func (*ExperimentSpec) DeepCopy

func (in *ExperimentSpec) DeepCopy() *ExperimentSpec

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

func (*ExperimentSpec) DeepCopyInto

func (in *ExperimentSpec) DeepCopyInto(out *ExperimentSpec)

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

type ExperimentStatus

type ExperimentStatus struct {
	// ExperimentState defines the state of the Experiment.
	ExperimentState string `json:"experimentState,omitempty"`
	// Protocols defines a map of name of endpoint (key) to request protocol (value).
	Protocols map[string]string `json:"protocols,omitempty"`
	// Tags defines the a map of key-value pair that use for tagging cloud resources.
	Tags map[string]string `json:"tags,omitempty"`
	// Duration defines the duration of the K6 load generator.
	Duration map[string]metav1.Duration `json:"duration,omitempty"`
	// StartTime defines the start of the K6 load generator.
	StartTime *metav1.Time `json:"startTime,omitempty"`
	// EndTime defines the end of the Experiment.
	// TODO: Add microservice to calculate the end time of the experiment.
	EndTime *metav1.Time `json:"endTime,omitempty"`
	// CloudVendor defines the cloud service provider which the pipeline-under-test is deployed.
	CloudVendor string `json:"cloudVendor,omitempty"`
	// EnableCostCalculation defines teh flag of cost calculation.
	EnableCostCalculation bool `json:"enableCostCalculation,omitempty"`
}

ExperimentStatus defines the observed state of Experiment

func (*ExperimentStatus) DeepCopy

func (in *ExperimentStatus) DeepCopy() *ExperimentStatus

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

func (*ExperimentStatus) DeepCopyInto

func (in *ExperimentStatus) DeepCopyInto(out *ExperimentStatus)

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

type ExtraMetrics

type ExtraMetrics struct {
	// System defines the configurfation of getting system metrics.
	System SystemMetrics `json:"system,omitempty"`
	// MessageQueue defines the configurfation of getting message queue related metrics.
	MessageQueue MessageQueueMetrics `json:"messageQueue,omitempty"`
}

ExtraMetrics defines the configurations of getting extra metrics.

func (*ExtraMetrics) DeepCopy

func (in *ExtraMetrics) DeepCopy() *ExtraMetrics

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

func (*ExtraMetrics) DeepCopyInto

func (in *ExtraMetrics) DeepCopyInto(out *ExtraMetrics)

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

type FormulaSpec

type FormulaSpec struct {
	// Name defines the name of the formula. Should match the name with one of the provided formulas.
	Name string `json:"name"`
	// Args defines the arugments for calling the formula.
	Args []string `json:"args,omitempty"`
}

FormulaSpec defines the specification of the formula.

func (*FormulaSpec) DeepCopy

func (in *FormulaSpec) DeepCopy() *FormulaSpec

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

func (*FormulaSpec) DeepCopyInto

func (in *FormulaSpec) DeepCopyInto(out *FormulaSpec)

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

type GRPC

type GRPC struct {
	// Placeholder.
	Address string `json:"address,omitempty"`
	// Placeholder.
	ProtoFiles []string `json:"protoFiles,omitempty"`
	// Placeholder.
	URL string `json:"url,omitempty"`
	// Placeholder.
	Params map[string]string `json:"params,omitempty"`
	// Placeholder.
	Request map[string]string `json:"request,omitempty"`
}

GRPC defines the configurations of gRPC protocol. TODO: Validate the gRPC library in K6 and update the API.

func (*GRPC) DeepCopy

func (in *GRPC) DeepCopy() *GRPC

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

func (*GRPC) DeepCopyInto

func (in *GRPC) DeepCopyInto(out *GRPC)

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

type HTTP

type HTTP struct {
	// URL defines the absolute path for an entry point of the Pipeline.
	URL string `json:"url,omitempty"`
	// Method defines the HTTP method used for the endpoint.
	Method string `json:"method,omitempty"`
	// Headers defines a map of HTTP headers.
	Headers map[string]string `json:"headers,omitempty"`
	// Body defines the configurations of the HTTP request body.
	Body HTTPBodySpec `json:"body,omitempty"`
}

HTTP defines the configurations of HTTP protocol.

func (*HTTP) DeepCopy

func (in *HTTP) DeepCopy() *HTTP

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

func (*HTTP) DeepCopyInto

func (in *HTTP) DeepCopyInto(out *HTTP)

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

type HTTPBodySpec

type HTTPBodySpec struct {
	Data       string                 `json:"data,omitempty"`
	DataSetRef corev1.ObjectReference `json:"dataSetRef,omitempty"`
}

HTTPBodySpec defines the configurations of the HTTP request body. User can specify either Data or DataSetRef, but not both fields.

func (*HTTPBodySpec) DeepCopy

func (in *HTTPBodySpec) DeepCopy() *HTTPBodySpec

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

func (*HTTPBodySpec) DeepCopyInto

func (in *HTTPBodySpec) DeepCopyInto(out *HTTPBodySpec)

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

type LoadPattern

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

	// Spec defines the specification of the LoadPattern.
	Spec LoadPatternSpec `json:"spec,omitempty"`
	// Status defines the status of the LoadPattern.
	Status LoadPatternStatus `json:"status,omitempty"`
}

LoadPattern is the Schema for the loadpatterns API

func (*LoadPattern) DeepCopy

func (in *LoadPattern) DeepCopy() *LoadPattern

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

func (*LoadPattern) DeepCopyInto

func (in *LoadPattern) DeepCopyInto(out *LoadPattern)

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

func (*LoadPattern) DeepCopyObject

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

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

type LoadPatternConfig

type LoadPatternConfig struct {
	// EndpointName defines the name of endpoint where to send the requests.
	// It should match the name of endpoint declared in the specification of the pipeline.
	EndpointName string `json:"endpointName"`
	// LoadPatternRef defines s reference of the LoadPattern object.
	LoadPatternRef corev1.ObjectReference `json:"loadPatternRef"`
}

LoadPatternConfig defines the configuration of the load pattern in the experiment.

func (*LoadPatternConfig) DeepCopy

func (in *LoadPatternConfig) DeepCopy() *LoadPatternConfig

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

func (*LoadPatternConfig) DeepCopyInto

func (in *LoadPatternConfig) DeepCopyInto(out *LoadPatternConfig)

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

type LoadPatternList

type LoadPatternList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items defines a list of LoadPattern.
	Items []LoadPattern `json:"items"`
}

LoadPatternList contains a list of LoadPattern

func (*LoadPatternList) DeepCopy

func (in *LoadPatternList) DeepCopy() *LoadPatternList

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

func (*LoadPatternList) DeepCopyInto

func (in *LoadPatternList) DeepCopyInto(out *LoadPatternList)

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

func (*LoadPatternList) DeepCopyObject

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

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

type LoadPatternSpec

type LoadPatternSpec struct {
	// Stages defines a list of stages for the LoadPattern.
	Stages []Stage `json:"stages"`
	// PreAllocatedVUs defines pre-allocated virtual users for the K6 load generator.
	PreAllocatedVUs int `json:"preAllocatedVUs,omitempty"`
	// StartRate defines the initial requests per second when the K6 load generator starts.
	StartRate int `json:"startRate"`
	// MaxVUs defines the maximum virtual users for the K6 load generator.
	MaxVUs int `json:"maxVUs,omitempty"`
	// TimeUnit defines the unit of the time for K6 load generator.
	TimeUnit string `json:"timeUnit,omitempty"`
}

LoadPatternSpec defines the desired state of LoadPattern

func (*LoadPatternSpec) DeepCopy

func (in *LoadPatternSpec) DeepCopy() *LoadPatternSpec

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

func (*LoadPatternSpec) DeepCopyInto

func (in *LoadPatternSpec) DeepCopyInto(out *LoadPatternSpec)

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

type LoadPatternStatus

type LoadPatternStatus struct{}

LoadPatternStatus defines the observed state of LoadPattern

func (*LoadPatternStatus) DeepCopy

func (in *LoadPatternStatus) DeepCopy() *LoadPatternStatus

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

func (*LoadPatternStatus) DeepCopyInto

func (in *LoadPatternStatus) DeepCopyInto(out *LoadPatternStatus)

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

type MessageQueueMetrics

type MessageQueueMetrics struct{}

MessageQueueMetrics defines the configurations of getting message queue related metrics.

func (*MessageQueueMetrics) DeepCopy

func (in *MessageQueueMetrics) DeepCopy() *MessageQueueMetrics

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

func (*MessageQueueMetrics) DeepCopyInto

func (in *MessageQueueMetrics) DeepCopyInto(out *MessageQueueMetrics)

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

type Pipeline

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

	// Spec defines the specifications of the Pipeline.
	Spec PipelineSpec `json:"spec,omitempty"`
	// Status defines the status of the Pipeline.
	Status PipelineStatus `json:"status,omitempty"`
}

Pipeline is the Schema for the pipelines API

func (*Pipeline) DeepCopy

func (in *Pipeline) DeepCopy() *Pipeline

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

func (*Pipeline) DeepCopyInto

func (in *Pipeline) DeepCopyInto(out *Pipeline)

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

func (*Pipeline) DeepCopyObject

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

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

type PipelineList

type PipelineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items defines a list of Pipelines.
	Items []Pipeline `json:"items"`
}

PipelineList contains a list of Pipeline

func (*PipelineList) DeepCopy

func (in *PipelineList) DeepCopy() *PipelineList

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

func (*PipelineList) DeepCopyInto

func (in *PipelineList) DeepCopyInto(out *PipelineList)

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

func (*PipelineList) DeepCopyObject

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

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

type PipelineSpec

type PipelineSpec struct {
	// Endpoints for pipeline-under-test.
	PipelineEndpoints []Endpoint `json:"pipelineEndpoints"`
	// Endpoints for health check.
	HealthCheckEndpoints []string `json:"healthCheckEndpoints,omitempty"`
	// Endpoints for metrics.
	MetricsEndpoint Endpoint `json:"metricsEndpoint,omitempty"`
	// Extra metrics, such as CPU utilzation, I/O and etc.
	ExtraMetrics ExtraMetrics `json:"extraMetrics,omitempty"`
	// In cluster flag. True indecates the pipeline-under-test is deployed in the same cluster as the plantD. Otherwise it should be False.
	InCluster bool `json:"inCluster,omitempty"`
	// State which cloud service provider the pipeline is deployed.
	CloudVendor string `json:"cloudVendor,omitempty"`
	// Cost calculation flag.
	EnableCostCalculation bool `json:"enableCostCalculation,omitempty"`
	// Internal usage. For experiment object to lock the pipeline object.
	ExperimentRef corev1.ObjectReference `json:"experimentRef,omitempty"`
}

PipelineSpec defines the desired state of Pipeline

func (*PipelineSpec) DeepCopy

func (in *PipelineSpec) DeepCopy() *PipelineSpec

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

func (*PipelineSpec) DeepCopyInto

func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec)

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

type PipelineStatus

type PipelineStatus struct {
	// PipelineState defines the state of the Pipeline.
	PipelineState string `json:"pipelineState,omitempty"`
	// StatusCheck defines the health status of the Pipeline.
	StatusCheck string `json:"statusCheck,omitempty"`
}

PipelineStatus defines the observed state of Pipeline

func (*PipelineStatus) DeepCopy

func (in *PipelineStatus) DeepCopy() *PipelineStatus

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

func (*PipelineStatus) DeepCopyInto

func (in *PipelineStatus) DeepCopyInto(out *PipelineStatus)

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

type PlantDCore

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

	Spec   PlantDCoreSpec   `json:"spec,omitempty"`
	Status PlantDCoreStatus `json:"status,omitempty"`
}

PlantDCore is the Schema for the plantdcores API

func (*PlantDCore) DeepCopy

func (in *PlantDCore) DeepCopy() *PlantDCore

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

func (*PlantDCore) DeepCopyInto

func (in *PlantDCore) DeepCopyInto(out *PlantDCore)

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

func (*PlantDCore) DeepCopyObject

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

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

type PlantDCoreList

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

PlantDCoreList contains a list of PlantDCore

func (*PlantDCoreList) DeepCopy

func (in *PlantDCoreList) DeepCopy() *PlantDCoreList

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

func (*PlantDCoreList) DeepCopyInto

func (in *PlantDCoreList) DeepCopyInto(out *PlantDCoreList)

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

func (*PlantDCoreList) DeepCopyObject

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

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

type PlantDCoreSpec

type PlantDCoreSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// KubeProxyConfig defines the desire state of PlantD Kube Proxy
	KubeProxyConfig DeploymentConfig `json:"kubeProxy,omitempty"`
	// StudioConfig defines the desire state of PlantD Studio
	StudioConfig DeploymentConfig `json:"studio,omitempty"`
	// PrometheusConfig defines the desire state of Prometheus
	PrometheusConfig PrometheusConfig `json:"prometheus,omitempty"`
	// RedisConfig defines the desire state of Redis
	RedisConfig DeploymentConfig `json:"redis,omitempty"`
}

PlantDCoreSpec defines the desired state of PlantDCore

func (*PlantDCoreSpec) DeepCopy

func (in *PlantDCoreSpec) DeepCopy() *PlantDCoreSpec

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

func (*PlantDCoreSpec) DeepCopyInto

func (in *PlantDCoreSpec) DeepCopyInto(out *PlantDCoreSpec)

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

type PlantDCoreStatus

type PlantDCoreStatus struct {

	// KubeProxyReady shows if the PlantD Kube Proxy is ready
	KubeProxyReady bool `json:"kubeProxyReady,omitempty"`
	// StudioReady shows if the PlantD Studio is ready
	StudioReady bool `json:"studioReady,omitempty"`
	// PrometheusReady shows if the Prometheus is ready
	PrometheusReady bool `json:"prometheusReady,omitempty"`
	// RedisReady shows if the Redis is ready
	RedisReady bool `json:"redisReady,omitempty"`
	// KubeProxyStatus shows the status of the PlantD Proxy
	KubeProxyStatus string `json:"kubeProxyStatus,omitempty"`
	// StudioStatus shows the status of the PlantD Studio
	StudioStatus string `json:"studioStatus,omitempty"`
	// PrometheusStatus shows the status of the Prometheus
	PrometheusStatus string `json:"prometheusStatus,omitempty"`
	// RedisStatus shows the status of the Redis
	RedisStatus string `json:"redisStatus,omitempty"`
}

PlantDCoreStatus defines the observed state of PlantDCore

func (*PlantDCoreStatus) DeepCopy

func (in *PlantDCoreStatus) DeepCopy() *PlantDCoreStatus

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

func (*PlantDCoreStatus) DeepCopyInto

func (in *PlantDCoreStatus) DeepCopyInto(out *PlantDCoreStatus)

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

type PrometheusConfig added in v1.3.0

type PrometheusConfig struct {
	// ScrapeInterval defines the desired time length between scrapings
	ScrapeInterval monitoringv1.Duration `json:"scrapeInterval,omitempty"`
	// Replicas defines the desired number of replicas
	Replicas int32 `json:"replicas,omitempty"`
	// Resources defines the resource requirements per replica
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

PrometheusConfig defines the desired state of Prometheus

func (*PrometheusConfig) DeepCopy added in v1.3.0

func (in *PrometheusConfig) DeepCopy() *PrometheusConfig

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

func (*PrometheusConfig) DeepCopyInto added in v1.3.0

func (in *PrometheusConfig) DeepCopyInto(out *PrometheusConfig)

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

type Schema

type Schema struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec defines the specifications of the Schema.
	Spec SchemaSpec `json:"spec,omitempty"`
	// Status defines the status of the Schema.
	Status SchemaStatus `json:"status,omitempty"`
}

Schema is the Schema for the schemas API

func (*Schema) DeepCopy

func (in *Schema) DeepCopy() *Schema

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

func (*Schema) DeepCopyInto

func (in *Schema) DeepCopyInto(out *Schema)

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

func (*Schema) DeepCopyObject

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

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

type SchemaList

type SchemaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items defines a list of Schemas.
	Items []Schema `json:"items"`
}

SchemaList contains a list of Schema

func (*SchemaList) DeepCopy

func (in *SchemaList) DeepCopy() *SchemaList

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

func (*SchemaList) DeepCopyInto

func (in *SchemaList) DeepCopyInto(out *SchemaList)

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

func (*SchemaList) DeepCopyObject

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

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

type SchemaSelector

type SchemaSelector struct {
	// Name defines the name of the Schame. Should match the name of existing Schema in the same namespace as the DataSet.
	Name string `json:"name"`
	// NumRecords defines the number of records to be generated in each output file. A random number is picked from the specified range.
	NumRecords map[string]int `json:"numRecords,omitempty"`
	// NumberOfFilesPerCompressedFile defines the number of intermediate files to be compressed into a single compressed file.
	// A random number is picked from the specified range.
	NumberOfFilesPerCompressedFile map[string]int `json:"numFilesPerCompressedFile,omitempty"`
}

SchemaSelector defines a list of Schemas and the required numbers and format.

func (*SchemaSelector) DeepCopy

func (in *SchemaSelector) DeepCopy() *SchemaSelector

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

func (*SchemaSelector) DeepCopyInto

func (in *SchemaSelector) DeepCopyInto(out *SchemaSelector)

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

type SchemaSpec

type SchemaSpec struct {
	// Columns defines a list of column specifications.
	Columns []Column `json:"columns"`
}

SchemaSpec defines the desired state of Schema

func (*SchemaSpec) DeepCopy

func (in *SchemaSpec) DeepCopy() *SchemaSpec

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

func (*SchemaSpec) DeepCopyInto

func (in *SchemaSpec) DeepCopyInto(out *SchemaSpec)

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

type SchemaStatus

type SchemaStatus struct{}

SchemaStatus defines the observed state of Schema

func (*SchemaStatus) DeepCopy

func (in *SchemaStatus) DeepCopy() *SchemaStatus

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

func (*SchemaStatus) DeepCopyInto

func (in *SchemaStatus) DeepCopyInto(out *SchemaStatus)

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

type Stage

type Stage struct {
	// Target defines the target requests per second.
	Target int `json:"target"`
	// Duration defines the duration of the current stage.
	Duration string `json:"duration"`
}

Stage defines the stage configuration of the load.

func (*Stage) DeepCopy

func (in *Stage) DeepCopy() *Stage

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

func (*Stage) DeepCopyInto

func (in *Stage) DeepCopyInto(out *Stage)

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

type SystemMetrics

type SystemMetrics struct {
	// Tags defines the tags for the resources of the pipeline-under-test in the cloud service provider.
	Tags map[string]string `json:"tags,omitempty"`
	// SecretRef defines the reference to the Kubernetes Secret object for authentication on the cloud service provider.
	SecretRef corev1.ObjectReference `json:"secretRef,omitempty"`
}

SystemMetrics defines the configurations of getting system metrics.

func (*SystemMetrics) DeepCopy

func (in *SystemMetrics) DeepCopy() *SystemMetrics

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

func (*SystemMetrics) DeepCopyInto

func (in *SystemMetrics) DeepCopyInto(out *SystemMetrics)

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

type WebSocket

type WebSocket struct {
	// Placeholder.
	URL string `json:"url,omitempty"`
	// Placeholder.
	Params map[string]string `json:"params,omitempty"`
	// Placeholder.
	Callback string `json:"callback,omitempty"`
}

WebSocket defines the configurations of websocket protocol. TODO: Validate the websocket library in K6 and update the API.

func (*WebSocket) DeepCopy

func (in *WebSocket) DeepCopy() *WebSocket

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

func (*WebSocket) DeepCopyInto

func (in *WebSocket) DeepCopyInto(out *WebSocket)

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

Jump to

Keyboard shortcuts

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