CRD API Reference
Packages
windtunnel.plantd.org/v1alpha1
Package v1alpha1 contains API Schema definitions for the windtunnel v1alpha1 API group
Resource Types
- CostExporter
- CostExporterList
- DataSet
- DataSetList
- Experiment
- ExperimentList
- LoadPattern
- LoadPatternList
- Pipeline
- PipelineList
- PlantDCore
- PlantDCoreList
- Schema
- SchemaList
Column
Column defines the metadata of the column data.
Appears in:
Field | Description |
---|---|
name string | Name defines the name of the column. |
type string | Type defines the data type of the column. Should match the type with one of the provided types. |
params object (keys:string, values:string) | Params defines the parameters for constructing the data give certain data type. |
formula FormulaSpec | Formula defines the formula applies to the column data. |
CostExporter
CostExporter is the Schema for the costexporters API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | CostExporter |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec CostExporterSpec | Spec defines the specifictions of the CostExporter. |
CostExporterList
CostExporterList contains a list of CostExporter
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | CostExporterList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items CostExporter array | Items defines a list of CostExporters. |
CostExporterSpec
CostExporterSpec defines the desired state of CostExporter
Appears in:
Field | Description |
---|---|
s3Bucket string | S3Bucket defines the AWS S3 bucket name where stores the cost logs. |
cloudServiceProvider string | CloudServiceProvider defines the target cloud service provide for calculating cost. |
secretRef ObjectReference | SecretRef defines the reference to the Kubernetes Secret where stores the credentials of cloud service provider |
DataSet
DataSet is the Schema for the datasets API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | DataSet |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec DataSetSpec | Spec defines the specifications of the DataSet. |
DataSetList
DataSetList contains a list of DataSet
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | DataSetList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items DataSet array | Items defines a list of DataSets. |
DataSetSpec
DataSetSpec defines the desired state of DataSet
Appears in:
Field | Description |
---|---|
fileFormat string | 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. |
compressedFileFormat string | 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. |
compressPerSchema boolean | 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. |
numFiles integer | NumberOfFiles defines the total number of output files irrespective of compression. Unless "compressPerSchema" is false, this field is applicable per schema. |
schemas SchemaSelector array | Schemas defines a list of Schemas. |
parallelJobs integer | ParallelJobs defines the number of parallel jobs when generating the dataset. TODO: Infer the optimal number of parallel jobs automatically. |
DeploymentConfig
DeploymentConfig defines the desired state of modules managed as Deployment
Appears in:
Field | Description |
---|---|
image string | Image defines the container image to use |
replicas integer | Replicas defines the desired number of replicas |
resources ResourceRequirements | Resources defines the resource requirements per replica |
Endpoint
Endpoint defines the configuration of the endpoint.
Appears in:
Field | Description |
---|---|
name string | Name defines the name of the endpoint. It's required when it's for pipeline endpoint. |
http HTTP | HTTP defines the configuration of the HTTP request. It's mutually exclusive with WebSocket and GRPC. |
websocket WebSocket | WebSocket defines the configuration of the WebSocket connection. It's mutually exclusive with HTTP and GRPC. |
grpc GRPC | GRPC defines the configuration of the gRPC request. It's mutually exclusive with HTTP and WebSocket. |
serviceRef ObjectReference | ServiceRef defines the Kubernetes Service that exposes metrics. |
port string | Name of the Service port which this endpoint refers to. It takes precedence over targetPort . |
targetPort IntOrString | Name or number of the target port of the Pod object behind the Service, the port must be specified with container port property. Deprecated: use port instead. |
path string | HTTP path from which to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics ). |
scheme string | HTTP scheme to use for scraping. http and https are the expected values unless you rewrite the __scheme__ label via relabeling. If empty, Prometheus uses the default value http . |
params object (keys:string, values:string array) | params define optional HTTP URL parameters. |
interval Duration | Interval at which Prometheus scrapes the metrics from the target. If empty, Prometheus uses the global scrape interval. |
scrapeTimeout Duration | Timeout after which Prometheus considers the scrape to be failed. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used. |
tlsConfig TLSConfig | TLS configuration to use when scraping the target. |
bearerTokenFile string | File to read bearer token for scraping the target. Deprecated: use authorization instead. |
bearerTokenSecret SecretKeySelector | bearerTokenSecret specifies a key of a Secret containing the bearer token for scraping targets. The secret needs to be in the same namespace as the ServiceMonitor object and readable by the Prometheus Operator. Deprecated: use authorization instead. |
authorization SafeAuthorization | authorization configures the Authorization header credentials to use when scraping the target. Cannot be set at the same time as basicAuth , or oauth2 . |
honorLabels boolean | When true, honorLabels preserves the metric's labels when they collide with the target's labels. |
honorTimestamps boolean | honorTimestamps controls whether Prometheus preserves the timestamps when exposed by the target. |
trackTimestampsStaleness boolean | trackTimestampsStaleness defines whether Prometheus tracks staleness of the metrics that have an explicit timestamp present in scraped data. Has no effect if honorTimestamps is false. It requires Prometheus >= v2.48.0. |
basicAuth BasicAuth | basicAuth configures the Basic Authentication credentials to use when scraping the target. Cannot be set at the same time as authorization , or oauth2 . |
oauth2 OAuth2 | oauth2 configures the OAuth2 settings to use when scraping the target. It requires Prometheus >= 2.27.0. Cannot be set at the same time as authorization , or basicAuth . |
metricRelabelings RelabelConfig array | metricRelabelings configures the relabeling rules to apply to the samples before ingestion. |
relabelings RelabelConfig array | relabelings configures the relabeling rules to apply the target's metadata labels. The Operator automatically adds relabelings for a few standard Kubernetes fields. The original scrape job's name is available via the __tmp_prometheus_job_name label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config |
proxyUrl string | proxyURL configures the HTTP Proxy URL (e.g. "http://proxyserver:2195") to go through when scraping the target. |
followRedirects boolean | followRedirects defines whether the scrape requests should follow HTTP 3xx redirects. |
enableHttp2 boolean | enableHttp2 can be used to disable HTTP2 when scraping the target. |
filterRunning boolean | When true, the pods which are not running (e.g. either in Failed or Succeeded state) are dropped during the target discovery. If unset, the filtering is enabled. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase |
Experiment
Experiment is the Schema for the experiments API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | Experiment |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec ExperimentSpec | Spec defines the specifications of the Experiment. |
ExperimentList
ExperimentList contains a list of Experiments.
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | ExperimentList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items Experiment array | Items defines a list of Experiment. |
ExperimentSpec
ExperimentSpec defines the desired state of Experiment
Appears in:
Field | Description |
---|---|
pipelineRef ObjectReference | PipelineRef defines s reference of the Pipeline object. |
loadPatterns LoadPatternConfig array | LoadPatterns defines a list of configuration of name of endpoints and LoadPatterns. |
scheduledTime Time | ScheduledTime defines the scheduled time for the Experiment. |
ExtraMetrics
ExtraMetrics defines the configurations of getting extra metrics.
Appears in:
Field | Description |
---|---|
system SystemMetrics | System defines the configurfation of getting system metrics. |
messageQueue MessageQueueMetrics | MessageQueue defines the configurfation of getting message queue related metrics. |
FormulaSpec
FormulaSpec defines the specification of the formula.
Appears in:
Field | Description |
---|---|
name string | Name defines the name of the formula. Should match the name with one of the provided formulas. |
args string array | Args defines the arugments for calling the formula. |
GRPC
GRPC defines the configurations of gRPC protocol. TODO: Validate the gRPC library in K6 and update the API.
Appears in:
Field | Description |
---|---|
address string | Placeholder. |
protoFiles string array | Placeholder. |
url string | Placeholder. |
params object (keys:string, values:string) | Placeholder. |
request object (keys:string, values:string) | Placeholder. |
HTTP
HTTP defines the configurations of HTTP protocol.
Appears in:
Field | Description |
---|---|
url string | URL defines the absolute path for an entry point of the Pipeline. |
method string | Method defines the HTTP method used for the endpoint. |
headers object (keys:string, values:string) | Headers defines a map of HTTP headers. |
body HTTPBodySpec | Body defines the configurations of the HTTP request body. |
HTTPBodySpec
HTTPBodySpec defines the configurations of the HTTP request body. User can specify either Data or DataSetRef, but not both fields.
Appears in:
Field | Description |
---|---|
data string | |
dataSetRef ObjectReference |
LoadPattern
LoadPattern is the Schema for the loadpatterns API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | LoadPattern |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec LoadPatternSpec | Spec defines the specification of the LoadPattern. |
LoadPatternConfig
LoadPatternConfig defines the configuration of the load pattern in the experiment.
Appears in:
Field | Description |
---|---|
endpointName string | 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. |
loadPatternRef ObjectReference | LoadPatternRef defines s reference of the LoadPattern object. |
LoadPatternList
LoadPatternList contains a list of LoadPattern
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | LoadPatternList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items LoadPattern array | Items defines a list of LoadPattern. |
LoadPatternSpec
LoadPatternSpec defines the desired state of LoadPattern
Appears in:
Field | Description |
---|---|
stages Stage array | Stages defines a list of stages for the LoadPattern. |
preAllocatedVUs integer | PreAllocatedVUs defines pre-allocated virtual users for the K6 load generator. |
startRate integer | StartRate defines the initial requests per second when the K6 load generator starts. |
maxVUs integer | MaxVUs defines the maximum virtual users for the K6 load generator. |
timeUnit string | TimeUnit defines the unit of the time for K6 load generator. |
MessageQueueMetrics
MessageQueueMetrics defines the configurations of getting message queue related metrics.
Appears in:
Pipeline
Pipeline is the Schema for the pipelines API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | Pipeline |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec PipelineSpec | Spec defines the specifications of the Pipeline. |
PipelineList
PipelineList contains a list of Pipeline
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | PipelineList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items Pipeline array | Items defines a list of Pipelines. |
PipelineSpec
PipelineSpec defines the desired state of Pipeline
Appears in:
Field | Description |
---|---|
pipelineEndpoints Endpoint array | Endpoints for pipeline-under-test. |
healthCheckEndpoints string array | Endpoints for health check. |
metricsEndpoint Endpoint | Endpoints for metrics. |
extraMetrics ExtraMetrics | Extra metrics, such as CPU utilzation, I/O and etc. |
inCluster boolean | In cluster flag. True indecates the pipeline-under-test is deployed in the same cluster as the plantD. Otherwise it should be False. |
cloudVendor string | State which cloud service provider the pipeline is deployed. |
enableCostCalculation boolean | Cost calculation flag. |
experimentRef ObjectReference | Internal usage. For experiment object to lock the pipeline object. |
PlantDCore
PlantDCore is the Schema for the plantdcores API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | PlantDCore |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec PlantDCoreSpec |
PlantDCoreList
PlantDCoreList contains a list of PlantDCore
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | PlantDCoreList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items PlantDCore array |
PlantDCoreSpec
PlantDCoreSpec defines the desired state of PlantDCore
Appears in:
Field | Description |
---|---|
kubeProxy DeploymentConfig | 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 |
studio DeploymentConfig | StudioConfig defines the desire state of PlantD Studio |
prometheus PrometheusConfig | PrometheusConfig defines the desire state of Prometheus |
redis DeploymentConfig | RedisConfig defines the desire state of Redis |
PrometheusConfig
PrometheusConfig defines the desired state of Prometheus
Appears in:
Field | Description |
---|---|
scrapeInterval Duration | ScrapeInterval defines the desired time length between scrapings |
replicas integer | Replicas defines the desired number of replicas |
resources ResourceRequirements | Resources defines the resource requirements per replica |
Schema
Schema is the Schema for the schemas API
Appears in:
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | Schema |
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . |
spec SchemaSpec | Spec defines the specifications of the Schema. |
SchemaList
SchemaList contains a list of Schema
Field | Description |
---|---|
apiVersion string | windtunnel.plantd.org/v1alpha1 |
kind string | SchemaList |
metadata ListMeta | Refer to Kubernetes API documentation for fields of metadata . |
items Schema array | Items defines a list of Schemas. |
SchemaSelector
SchemaSelector defines a list of Schemas and the required numbers and format.
Appears in:
Field | Description |
---|---|
name string | Name defines the name of the Schame. Should match the name of existing Schema in the same namespace as the DataSet. |
numRecords object (keys:string, values:integer) | NumRecords defines the number of records to be generated in each output file. A random number is picked from the specified range. |
numFilesPerCompressedFile object (keys:string, values:integer) | NumberOfFilesPerCompressedFile defines the number of intermediate files to be compressed into a single compressed file. A random number is picked from the specified range. |
SchemaSpec
SchemaSpec defines the desired state of Schema
Appears in:
Field | Description |
---|---|
columns Column array | Columns defines a list of column specifications. |
Stage
Stage defines the stage configuration of the load.
Appears in:
Field | Description |
---|---|
target integer | Target defines the target requests per second. |
duration string | Duration defines the duration of the current stage. |
SystemMetrics
SystemMetrics defines the configurations of getting system metrics.
Appears in:
Field | Description |
---|---|
tags object (keys:string, values:string) | Tags defines the tags for the resources of the pipeline-under-test in the cloud service provider. |
secretRef ObjectReference | SecretRef defines the reference to the Kubernetes Secret object for authentication on the cloud service provider. |
WebSocket
WebSocket defines the configurations of websocket protocol. TODO: Validate the websocket library in K6 and update the API.
Appears in:
Field | Description |
---|---|
url string | Placeholder. |
params object (keys:string, values:string) | Placeholder. |
callback string | Placeholder. |