Files
locust-operator/config/crd/bases/locust.io_locustclusters.yaml
Chris Richardson 21d8004e27
Some checks failed
E2E Tests / Run on Ubuntu (push) Failing after 46s
Build images / Run lint test (push) Failing after 6m18s
Lint / Run on Ubuntu (push) Failing after 11m13s
Build images / Run unit test (push) Successful in 16m0s
Tests / Run on Ubuntu (push) Successful in 16m1s
Build images / Run e2e tests (push) Failing after 17m43s
Build images / Build docker image (push) Has been skipped
comment out
2025-07-02 15:10:03 -04:00

128 lines
6.4 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.2
name: locustclusters.locust.io
spec:
group: locust.io
names:
kind: LocustCluster
listKind: LocustClusterList
plural: locustclusters
singular: locustcluster
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: LocustCluster is the Schema for the locustclusters API.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: |-
LocustClusterSpec defines the desired state of LocustCluster.
type ResourcesSpec struct {
MaxCpu string `json:"maxCpu,omitempty" protobuf:"bytes,1,name=maxCpu"`
MinCpu string `json:"minCpu,omitempty" protobuf:"bytes,2,name=minCpu"`
MaxMem string `json:"maxMem,omitempty" protobuf:"bytes,3,name=maxMem"`
MinMem string `json:"minMem,omitempty" protobuf:"bytes,4,name=minMem"`
}
type LeaderSpec struct {
TestFile string `json:"leaderFile,omitempty" protobuf:"bytes,1,name=leaderFile"`
PriorityClass string `json:"priorityClass,omitempty" protobuf:"bytes,2,name=priorityClass"`
Download LeaderDownloadSpec `json:"download,omitempty" protobuf:"bytes,3,rep,name=download"`
Resources ResourcesSpec `json:"resources,omitempty" protobuf:"bytes,4,rep,name=resources"`
Image string `json:"image,omitempty" protobuf:"bytes,5,name=image"`
}
type LeaderDownloadSpec struct {
Bucket string `json:"bucket" protobuf:"bytes,1,name=bucket"`
Filename string `json:"filename" protobuf:"bytes,2,name=filename"`
}
type WorkerEnv struct {
Name string `json:"name" protobuf:"bytes,1,name=name"`
Value string `json:"value" protobuf:"bytes,2,name=value"`
}
type TestsSpecs struct {
TestName string `json:"testName" protobuf:"bytes,1,name=testName"`
RunTime string `json:"runTime" protobuf:"bytes,2,name=runTime"`
TestSettings []WorkerEnv `json:"env,omitempty" protobuf:"bytes,3,rep,name=env"`
TestCommand []string `json:"testCommand,omitempty" protobuf:"bytes,4,name=testCommand"`
}
type WorkerSpec struct {
HatchRate int `json:"hatchRate" protobuf:"varint,1,name=hatchRate"`
TestContainer string `json:"testContainer" protobuf:"bytes,2,name=testContainer"`
ScenarioName string `json:"scenarioName" protobuf:"bytes,3,name=scenarioName"`
TestLanguage string `json:"testLanguage" protobuf:"bytes,4,name=testLanguage"`
TestPath string `json:"testPath" protobuf:"bytes,5,name=testPath"`
Tests []TestsSpecs `json:"tests" protobuf:"bytes,6,rep,name=tests"`
Clients int `json:"clients" protobuf:"varint,7,name=clients"`
Nodes int `json:"nodes" protobuf:"varint,8,name=nodes"`
PriorityClass string `json:"priorityClass,omitempty" protobuf:"bytes,9,name=priorityClass"`
Resources ResourcesSpec `json:"resources,omitempty" protobuf:"bytes,10,rep,name=resources"`
}
type MosaicSpec struct {
WorkSpace string `json:"workSpace" protobuf:"bytes,1,name=workSpace"`
NameSpace string `json:"nameSpace" protobuf:"bytes,2,name=nameSpace"`
PublishingEndpoint string `json:"publishing_endpoint,omitempty" protobuf:"bytes,3,name=publishingEndpoint"`
Mtls bool `json:"mtls,omitempty" protobuf:"bool,4,name=mtls"`
PrometheusTag string `json:"prometheusTag" protobuf:"bytes,3,name=prometheusTag"`
GroupEmail string `json:"groupEmail" protobuf:"bytes,4,name=groupEmail"`
GrafanaEndpoint string `json:"grafanaEndpoint,omitempty" protobuf:"bytes,5,name=grafanaEndpoint"`
}
type MetricsSpec struct {
Mosaic MosaicSpec `json:"mosaic,omitempty" protobuf:"bytes,1,rep,name=mosaic"`
}
type InfrastructureSpec struct {
Endpoint string `json:"endpoint" protobuf:"bytes,1,name=endpoint"`
PrometheusJobName string `json:"prometheusJobName,omitempty" protobuf:"bytes,2,name=prometheusJobName"`
PrometheusPort int `json:"prometheusPort,omitempty" protobuf:"varint,3,name=prometheusPort"`
PrometheusEndpoint string `json:"prometheusEndpoint,omitempty" protobuf:"bytes,4,name=prometheusEndpoint"`
}
type SecretsKeys struct {
SecretKey string `json:"secretKey" protobuf:"bytes,1,name=secretKey"`
}
type SecretsSpec struct {
SecretName string `json:"secretName" protobuf:"bytes,1,name=secretName"`
SecretsKeys []SecretsKeys `json:"secretKeys" protobuf:"bytes,2,name=secretKeys"`
}
LocustClusterSpec defines the desired state of LocustCluster
type: object
status:
description: LocustClusterStatus defines the observed state of LocustCluster.
type: object
type: object
served: true
storage: true
subresources:
status: {}