forked from dastergon/vegeta-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvegeta.dastergon.gr_vegeta_crd.yaml
313 lines (313 loc) · 15 KB
/
vegeta.dastergon.gr_vegeta_crd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: vegeta.vegeta.dastergon.gr
spec:
group: vegeta.dastergon.gr
names:
kind: Vegeta
listKind: VegetaList
plural: vegeta
singular: vegeta
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: Vegeta is the Schema for the vegeta 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: VegetaSpec defines the desired state of Vegeta
properties:
attack:
description: Attack specifies the attack parameters.
properties:
body:
description: Body specifies the requests body.
type: string
cert:
description: Cert specifies the TLS client PEM encoded certificate
file.
type: string
chunked:
description: Chunked is used to send body with chunked transfer
encoding.
type: boolean
connections:
description: Connections referes to the max open idle connections
per target host (default 10000).
type: integer
duration:
description: Duration defines the duration of the test [0 = forever].
type: string
h2c:
description: H2C is used to send HTTP/2 requests without TLS encryption.
type: boolean
header:
description: Header defines the request header.
type: string
http2:
description: HTTP2 sends HTTP/2 requests when supported by the server
(default true).
type: boolean
insecure:
description: Insecure is used to ingore valid server TLS certificates.
type: boolean
keepAlive:
description: KeepAlive is used to have persistent connections (default
true).
type: boolean
key:
description: Key specified the TLS client PEM encoded private key
file.
type: string
laddr:
description: LAddr defines the local IP address (default 0.0.0.0)
type: string
lazy:
description: Lazy specifies whether to read the input targets lazily
instead of eagerly.
type: boolean
maxBody:
description: MaxBody specifies the maximum number of bytes to capture
from response bodies. [-1 = no limit] (default -1).
type: integer
maxWorkers:
description: MaxWorkers specifies the Maximum number of workers
(default 18446744073709551615).
type: integer
name:
description: Name defines the attack name.
type: string
output:
description: Output defines the output file (default "stdout").
type: string
proxyHeader:
description: ProxyHeader specifies the Proxy CONNECT header.
type: string
rate:
description: Rate defines the umber of requests per time unit [0
= infinity] (default 50/1s).
type: string
redirects:
description: Redirects specifies the number of redirects to follow.
-1 will not follow but marks as success (default 10).
type: integer
report:
description: Report defines the reporting parameters.
properties:
buckets:
description: 'Buckets defines the histogram buckets, e.g.: "[0,1ms,10ms]".'
type: string
every:
description: Every defines the report interval.
type: string
output:
description: Output defines the output file (default "stdout").
type: string
type:
description: Type defines the report type to generate [text,
json, hist[buckets], hdrplot] (default "text").
type: string
type: object
resolvers:
description: Resolvers is the list of addresses (ip:port) to use
for DNS resolution. Disables use of local system DNS. (comma separated
list).
type: string
rootcerts:
description: RootCerts are the TLS root certificate files (comma
separated list).
type: string
targets:
description: Targets specifies the targets file (default "stdin").
type: string
timeout:
description: Timeout defines the requests timeout (default 30s).
type: string
unixSocket:
description: UnixSocket specifies a Unix socket to connect to. This
overrides the host address in target URLs.
type: string
workers:
description: Workers defines the initial number of workers (default
10).
type: integer
type: object
blobStorage:
description: BlogStorageSpec refers to the cloud storage provider parameters
for the bucket.
properties:
env:
description: Env refers to the environment variables used for connecting
to the cloud providers.
items:
description: EnvVar represents an environment variable present
in a Container.
properties:
name:
description: Name of the environment variable. Must be a C_IDENTIFIER.
type: string
value:
description: 'Variable references $(VAR_NAME) are expanded
using the previous defined environment variables in the
container and any service environment variables. If a variable
cannot be resolved, the reference in the input string will
be unchanged. The $(VAR_NAME) syntax can be escaped with
a double $$, ie: $$(VAR_NAME). Escaped references will never
be expanded, regardless of whether the variable exists or
not. Defaults to "".'
type: string
valueFrom:
description: Source for the environment variable's value.
Cannot be used if value is not empty.
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
fieldRef:
description: 'Selects a field of the pod: supports metadata.name,
metadata.namespace, metadata.labels, metadata.annotations,
spec.nodeName, spec.serviceAccountName, status.hostIP,
status.podIP, status.podIPs.'
properties:
apiVersion:
description: Version of the schema the FieldPath is
written in terms of, defaults to "v1".
type: string
fieldPath:
description: Path of the field to select in the specified
API version.
type: string
required:
- fieldPath
type: object
resourceFieldRef:
description: 'Selects a resource of the container: only
resources limits and requests (limits.cpu, limits.memory,
limits.ephemeral-storage, requests.cpu, requests.memory
and requests.ephemeral-storage) are currently supported.'
properties:
containerName:
description: 'Container name: required for volumes,
optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format of the exposed
resources, defaults to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to select'
type: string
required:
- resource
type: object
secretKeyRef:
description: Selects a key of a secret in the pod's namespace
properties:
key:
description: The key of the secret to select from. Must
be a valid secret key.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
name:
description: Name refers to the bucket name.
type: string
provider:
description: Provider specifies the cloud provider that will be
used.
type: string
required:
- name
- provider
type: object
resources:
description: Resources specifies the resource limits of the container.
properties:
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Requests describes the minimum amount of compute resources
required. If Requests is omitted for a container, it defaults
to Limits if that is explicitly specified, otherwise to an implementation-defined
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
type: object
target:
description: Target refers to the target endpoint for the load testing.
For multiple targets use the Targets fields in the the Attack Spec.
type: string
required:
- attack
- target
type: object
status:
description: VegetaStatus defines the observed state of Vegeta
type: object
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true