v1alpha1

package
v0.0.0-...-d2406a0 Latest Latest
Warning

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

Go to latest
Published: May 26, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the vegeta v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=vegeta.dastergon.gr

Package v1alpha1 contains API Schema definitions for the vegeta v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=vegeta.dastergon.gr

Index

Constants

This section is empty.

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

This section is empty.

Types

type AttackSpec

type AttackSpec struct {
	// Body specifies the requests body.
	//
	// +optional
	Body string `json:"body,omitempty"`
	// Cert specifies the TLS client PEM encoded certificate file.
	//
	// +optional
	Cert string `json:"cert,omitempty"`
	// Chunked is used to send body with chunked transfer encoding.
	//
	// +optional
	Chunked bool `json:"chunked,omitempty"`
	// Connections referes to the max open idle connections per target host (default 10000).
	//
	// +optional
	Connections int `json:"connections,omitempty"`
	// Duration defines the duration of the test [0 = forever].
	//
	// +optional
	Duration string `json:"duration,omitempty"`
	// H2C is used to send HTTP/2 requests without TLS encryption.
	//
	// +optional
	H2C bool `json:"h2c,omitempty"`
	// Header defines the request header.
	//
	// +optional
	Header string `json:"header,omitempty"`
	// HTTP2 sends HTTP/2 requests when supported by the server (default true).
	//
	// +optional
	HTTP2 bool `json:"http2,omitempty"`
	// Insecure is used to ingore valid server TLS certificates.
	//
	// +optional
	Insecure bool `json:"insecure,omitempty"`
	// KeepAlive is used to have persistent connections (default true).
	//
	// +optional
	KeepAlive bool `json:"keepAlive,omitempty"`
	// Key specified the TLS client PEM encoded private key file.
	//
	// +optional
	Key string `json:"key,omitempty"`
	// LAddr defines the local IP address (default 0.0.0.0)
	//
	// +optional
	LAddr string `json:"laddr,omitempty"`
	// Lazy specifies whether to read the input targets lazily instead of eagerly.
	//
	// +optional
	Lazy bool `json:"lazy,omitempty"`
	// MaxBody specifies the maximum number of bytes to capture from response bodies. [-1 = no limit] (default -1).
	//
	// +optional
	MaxBody uint `json:"maxBody,omitempty"`
	// MaxWorkers specifies the Maximum number of workers (default 18446744073709551615).
	//
	// +optional
	MaxWorkers uint `json:"maxWorkers,omitempty"`
	// Name defines the attack name.
	//
	// +optional
	Name string `json:"name,omitempty"`
	// Output defines the output file (default "stdout").
	//
	// +optional
	Output string `json:"output,omitempty"`
	// ProxyHeader specifies the Proxy CONNECT header.
	//
	// +optional
	ProxyHeader string `json:"proxyHeader,omitempty"`
	// Rate defines the umber of requests per time unit [0 = infinity] (default 50/1s).
	//
	// +optional
	Rate string `json:"rate,omitempty"`
	// Redirects specifies the number of redirects to follow. -1 will not follow but marks as success (default 10).
	//
	// +optional
	Redirects int `json:"redirects,omitempty"`
	// Resolvers is the list of addresses (ip:port) to use for DNS resolution. Disables use of local system DNS. (comma separated list).
	//
	// +optional
	Resolvers string `json:"resolvers,omitempty"`
	// RootCerts are the TLS root certificate files (comma separated list).
	//
	// +optional
	RootCerts string `json:"rootcerts,omitempty"`
	// Targets specifies the targets file (default "stdin").
	//
	// +optional
	Targets string `json:"targets,omitempty"`
	// Timeout defines the requests timeout (default 30s).
	//
	// +optional
	Timeout string `json:"timeout,omitempty"`
	// UnixSocket specifies a Unix socket to connect to. This overrides the host address in target URLs.
	//
	// +optional
	UnixSocket string `json:"unixSocket,omitempty"`
	// Workers defines the initial number of workers (default 10).
	//
	// +optional
	Workers uint `json:"workers,omitempty"`

	// Report defines the reporting parameters.
	//
	// +optional
	Report *ReportSpec `json:"report,omitempty"`
}

AttackSpec describes the attack parameters.

func (*AttackSpec) DeepCopy

func (in *AttackSpec) DeepCopy() *AttackSpec

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

func (*AttackSpec) DeepCopyInto

func (in *AttackSpec) DeepCopyInto(out *AttackSpec)

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

type BlobStorageSpec

type BlobStorageSpec struct {
	// Provider specifies the cloud provider that will be used.
	//
	// +required
	Provider string `json:"provider"`
	// Name refers to the bucket name.
	//
	// +required
	Name string `json:"name"`
	// Env refers to the environment variables used for connecting to the cloud providers.
	//
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`
}

BlobStorageSpec defines the cloud provider for storing the report in a bucket.

func (*BlobStorageSpec) DeepCopy

func (in *BlobStorageSpec) DeepCopy() *BlobStorageSpec

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

func (*BlobStorageSpec) DeepCopyInto

func (in *BlobStorageSpec) DeepCopyInto(out *BlobStorageSpec)

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

type ReportSpec

type ReportSpec struct {
	// Buckets defines the histogram buckets, e.g.: "[0,1ms,10ms]".
	//
	// +optional
	Buckets string `json:"buckets,omitempty"`
	// Every defines the report interval.
	//
	// +optional
	Every string `json:"every,omitempty"`
	// Output defines the output file (default "stdout").
	//
	// +optional
	Output string `json:"output,omitempty"`
	// Type defines the report type to generate [text, json, hist[buckets], hdrplot] (default "text").
	//
	// +optional
	Type string `json:"type,omitempty"`
}

ReportSpec describes the report parameters.

func (*ReportSpec) DeepCopy

func (in *ReportSpec) DeepCopy() *ReportSpec

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

func (*ReportSpec) DeepCopyInto

func (in *ReportSpec) DeepCopyInto(out *ReportSpec)

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

type Vegeta

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

	Spec   VegetaSpec   `json:"spec,omitempty"`
	Status VegetaStatus `json:"status,omitempty"`
}

Vegeta is the Schema for the vegeta API +kubebuilder:subresource:status +kubebuilder:resource:path=vegeta,scope=Namespaced

func (*Vegeta) DeepCopy

func (in *Vegeta) DeepCopy() *Vegeta

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

func (*Vegeta) DeepCopyInto

func (in *Vegeta) DeepCopyInto(out *Vegeta)

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

func (*Vegeta) DeepCopyObject

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

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

type VegetaList

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

VegetaList contains a list of Vegeta

func (*VegetaList) DeepCopy

func (in *VegetaList) DeepCopy() *VegetaList

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

func (*VegetaList) DeepCopyInto

func (in *VegetaList) DeepCopyInto(out *VegetaList)

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

func (*VegetaList) DeepCopyObject

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

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

type VegetaSpec

type VegetaSpec struct {

	// Target refers to the target endpoint for the load testing.
	// For multiple targets use the Targets fields in the the Attack Spec.
	//
	// +required
	Target string `json:"target"`
	// Attack specifies the attack parameters.
	//
	// +required
	Attack *AttackSpec `json:"attack"`

	// BlogStorageSpec refers to the cloud storage provider parameters for the bucket.
	//
	// +optional
	BlobStorage *BlobStorageSpec `json:"blobStorage,omitempty"`

	// Resources specifies the resource limits of the container.
	//
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

VegetaSpec defines the desired state of Vegeta

func (*VegetaSpec) DeepCopy

func (in *VegetaSpec) DeepCopy() *VegetaSpec

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

func (*VegetaSpec) DeepCopyInto

func (in *VegetaSpec) DeepCopyInto(out *VegetaSpec)

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

type VegetaStatus

type VegetaStatus struct {
}

VegetaStatus defines the observed state of Vegeta

func (*VegetaStatus) DeepCopy

func (in *VegetaStatus) DeepCopy() *VegetaStatus

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

func (*VegetaStatus) DeepCopyInto

func (in *VegetaStatus) DeepCopyInto(out *VegetaStatus)

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