github.com/dean7474/operator-registry@v1.21.1-0.20220418203638-d4717f98c2e5/test/e2e/testdata/bundles/redis.0.4.0/manifests/redis.redis.redis.opstreelabs.in.crd.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.4.1 6 random-annotation-to-inflate-filesize: > 7 IguD8xOoUtce3wjg5KqcypzZNTX0Inbx9tu3KvLE4AbqskO4KYGDavBC4v3t0iX07olAsIqgJqOM 8 ljqyKTHPyubbmVnI44PLGySp2Q013hP3MzpxS9BrgQYCy1/3rn9BrIvrJgVu0PzbLkg4YpDOAm+1 9 koHYDCdiITEpxFWgM088FMQTgTxRm8BFoywq33/VUFSBTiT27TNkB8vuC/k01NrnuLUBQ+uXhAVv 10 f4g2aFLzjiFRoPpFOmve/vVbbGoI1+P80IeO9WuEJugo1YLqb58/wzXKPrswx0Y1XLdcplSRiQAB 11 PngDOzmaN8xtsXePpVty69anjXPx8iZFRpLNcw9Y6YSD1uQy5D9x4o8hV+TRrtCiE5fpfJGQOTd7 12 tPbC69UZlpM6SUonKMNb9X17N2kdB2xr9fFG4o+pMaroGVhutUv05e2SeC920Sr/V4iGKIDCUAXZ 13 LmBK/2lfETxRxTydXKyvRz4mtCm9FQ0YN/lb/rpIePK/o+8O/hShGXCMre6NfROLf470osx5x2bO 14 hv3mYNsCAk5IDImHOp3oeHIMhioBbREOjBr1SfYoW2rgLKAUDPcNzdX4IJGwL28+zyJd3i897Mca 15 aMNAntmgjIQwOh0m37f3oWrYWpXrPWTUS6QJKI4hRF4jJTbchp0CMc4li+yc2Dolwtuprr+sk1rW 16 50+ijCwRC/FINVTo33q+Z9CftSTo8wsdc5Gh2gWMkcBTwXHDqGJKD4ukb7W6T7Sf7X7CXl2mIWXE 17 70dId7hqUhYKZB7Hf4gtC6pr+nYVZzCtXBXCVVbp0nh4pwpD2BD/wU7AiXicRHjpNNQwu0hfz5vi 18 H/jNBazr0zi5/w3HCuuOJKUhEPhWgUPq16GaKxYm6f6UxttaEPFGywgRVdLQjW1DayCuweA5H+ev 19 x0R6iJVvFpmylrNxYSn8OIGoGfWDPc/WQvhF6Pno8y3uGLTFHPD9bHCau4vPQsVRXT06BSG9bBTU 20 3EXD3Mk1zsPJHkX7P1EvuxHhJGbpsbZn7PNINuhks8Gfva5wR9TcOJTdfDAjI9jDNa7Qc7c3jyRp 21 Kq/vxFTB7B/ng5OFeT2T5VSIRkot3RYSUk9ktlO56vLioev7stfoDgLhOdtOubMRYhyh8PicsPWW 22 Dfk6FxjhdNavG+aDmWuOZ0FrDR9t0TAOTp5GawurkjEpQGaxRyksp6uEP3ZFSFVS42kLN0aZ/d4X 23 jxpniN9M54XF+E4ygjqwDq5+dZYqlBLDPk2mJYIE99fYVKiqHjOJMSXBS3uKKb6xb6/9m7F3UDdb 24 baoMEqly0fAC/NGOWxOjouD+5J66hL0wVyj9FFvjHHFMxqzE+432VgXKhwYPq5QXTtdCJpIVEJW9 25 QVh5yeskzgg3ROUicv6dh0ZLbh5lnnisPGh1qS18JQVnD9PzhtPRfnKIrnbydY+eZzzRWg7Rmwe/ 26 pmANKsYXmb7K61Ib01EueEdXddOWluam+av3oM2PBXqUzGnRHqIezqKewjCdLuLBfjGch+6qx4wB 27 Z+hjndRATT5/hwnoehmPaU1rd4G5Fkni5XUY1SjmFaoVkjEs9A0yLLKG78aCEwJkzRTjKSTIOZET 28 2wsgH9h8wWB8CGlFzKvYKvAL/+g4V+zwDgrbWCHB0Tp/wSHbX5CaCJI6rM+NIdLM/OLPcV08jIj4 29 DybE8GJcdBK/po9i6vbQDMk010G0BBSdf7laRo6dYEHlaGN67xh/Y4w6KB9furZYCwkWw1sOd1Fr 30 +LISF2Wz5RGTTXuHu6VgBCEt/aE4lwgGdLYm+tfo+LebZkY6Q7w0y0cRP4kurRcyBDsqKPf/gx56 31 PB5lV0PuUyPV73BrIJPz1yz9soHVmE+DVKdtpARsTH+59wytNOQTLrjSvjSIlpY0GkfBGPfvRFfG 32 HciPwxtVEnlNXvnMssBLCFivPB35LLGJq8UFK8P/rpMLEgkuIz/2r6ZkNmePoeyJA64yILwuxK33 33 lCO3nt5PBPsfWlgbMftLhpCk0jCvic+dR8oB1tW8O4UIkH8UMeOUOUKtyODVsDZUfyWT8Bj4DIEq 34 TWItvUIyTeRhcbHBMQqwxM6UJMPEUQ8iwuU/rvqLrIZtUHJTWH7KskmgUq2XjPRKaO68HQvQ1KKn 35 dqXCzofluRcQ78/io3ZBYthzNexma4EcWyNPZ1nhGvlk40kjTeyaFDxpI6DCqs2e6qMF/0DFFMbK 36 uWezkkCCka1JGnGavDepxfRMvbsfgnUaaJfsOCZ5K+xxbqYp86smfmO40Kn5LnTq7jDPxUJ+WgEG 37 hWL8vjZP38JSFaVhCnkHrWnfNO3RdxGV06WU3MXHFTKrQwRZ4hTRsxMaMJFUiLV63mvbOUQ7fDlY 38 l1iriODQthhmqTQnz/6MEc85m7n8rUhKCRbmxaZtQMzV2RSVyudhE8DGzUeOCgUPXgmiXnoBaGOQ 39 IxWieiObXWFnDoG8vk8sQLe9bVKU+QHY9EOyx0bCwLonhXP5aOWGh5jfK7NCO4nkO4I96LjDt1ZM 40 0n5qzk+MaitxRxVwbwNwk8wMf+2nUsCz5zbLASGp+m4I6wIYd9kkKMwORdCk0rm52a8zFn17hiRx 41 xBB8Kkb9ycDIFbrZOxYTO5pxvGuuS7Kflw+IAy3MtN0XKVpmXPEXJbxbIZdoYMkDA0n8q2ThKSfN 42 nDy3c3Ez8K3Dn2GoIm6LIVptEOsFzCaAXB9GY0B2hsus/dJoNhhKkAjdMcLp98vlgzJiyCk= 43 creationTimestamp: null 44 name: redis.redis.redis.opstreelabs.in 45 spec: 46 group: redis.redis.opstreelabs.in 47 names: 48 kind: Redis 49 listKind: RedisList 50 plural: redis 51 singular: redis 52 scope: Namespaced 53 versions: 54 - name: v1beta1 55 schema: 56 openAPIV3Schema: 57 description: Redis is the Schema for the redis API 58 properties: 59 apiVersion: 60 description: >- 61 APIVersion defines the versioned schema of this representation 62 of an object. Servers should convert recognized schemas to the 63 latest internal value, and may reject unrecognized values. More 64 info: 65 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 66 type: string 67 kind: 68 description: >- 69 Kind is a string value representing the REST resource this 70 object represents. Servers may infer this from the endpoint the 71 client submits requests to. Cannot be updated. In CamelCase. 72 More info: 73 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 74 type: string 75 metadata: 76 type: object 77 spec: 78 description: RedisSpec defines the desired state of Redis 79 properties: 80 affinity: 81 description: Affinity is a group of affinity scheduling rules. 82 properties: 83 nodeAffinity: 84 description: Describes node affinity scheduling rules for the pod. 85 properties: 86 preferredDuringSchedulingIgnoredDuringExecution: 87 description: >- 88 The scheduler will prefer to schedule pods to nodes 89 that satisfy the affinity expressions specified by 90 this field, but it may choose a node that violates 91 one or more of the expressions. The node that is 92 most preferred is the one with the greatest sum of 93 weights, i.e. for each node that meets all of the 94 scheduling requirements (resource request, 95 requiredDuringScheduling affinity expressions, 96 etc.), compute a sum by iterating through the 97 elements of this field and adding "weight" to the 98 sum if the node matches the corresponding 99 matchExpressions; the node(s) with the highest sum 100 are the most preferred. 101 items: 102 description: >- 103 An empty preferred scheduling term matches all 104 objects with implicit weight 0 (i.e. it's a 105 no-op). A null preferred scheduling term matches 106 no objects (i.e. is also a no-op). 107 properties: 108 preference: 109 description: >- 110 A node selector term, associated with the 111 corresponding weight. 112 properties: 113 matchExpressions: 114 description: >- 115 A list of node selector requirements by 116 node's labels. 117 items: 118 description: >- 119 A node selector requirement is a 120 selector that contains values, a key, 121 and an operator that relates the key and 122 values. 123 properties: 124 key: 125 description: >- 126 The label key that the selector applies 127 to. 128 type: string 129 operator: 130 description: >- 131 Represents a key's relationship to a set 132 of values. Valid operators are In, 133 NotIn, Exists, DoesNotExist. Gt, and Lt. 134 type: string 135 values: 136 description: >- 137 An array of string values. If the 138 operator is In or NotIn, the values 139 array must be non-empty. If the operator 140 is Exists or DoesNotExist, the values 141 array must be empty. If the operator is 142 Gt or Lt, the values array must have a 143 single element, which will be 144 interpreted as an integer. This array is 145 replaced during a strategic merge patch. 146 items: 147 type: string 148 type: array 149 required: 150 - key 151 - operator 152 type: object 153 type: array 154 matchFields: 155 description: >- 156 A list of node selector requirements by 157 node's fields. 158 items: 159 description: >- 160 A node selector requirement is a 161 selector that contains values, a key, 162 and an operator that relates the key and 163 values. 164 properties: 165 key: 166 description: >- 167 The label key that the selector applies 168 to. 169 type: string 170 operator: 171 description: >- 172 Represents a key's relationship to a set 173 of values. Valid operators are In, 174 NotIn, Exists, DoesNotExist. Gt, and Lt. 175 type: string 176 values: 177 description: >- 178 An array of string values. If the 179 operator is In or NotIn, the values 180 array must be non-empty. If the operator 181 is Exists or DoesNotExist, the values 182 array must be empty. If the operator is 183 Gt or Lt, the values array must have a 184 single element, which will be 185 interpreted as an integer. This array is 186 replaced during a strategic merge patch. 187 items: 188 type: string 189 type: array 190 required: 191 - key 192 - operator 193 type: object 194 type: array 195 type: object 196 weight: 197 description: >- 198 Weight associated with matching the 199 corresponding nodeSelectorTerm, in the range 200 1-100. 201 format: int32 202 type: integer 203 required: 204 - preference 205 - weight 206 type: object 207 type: array 208 requiredDuringSchedulingIgnoredDuringExecution: 209 description: >- 210 If the affinity requirements specified by this field 211 are not met at scheduling time, the pod will not be 212 scheduled onto the node. If the affinity 213 requirements specified by this field cease to be met 214 at some point during pod execution (e.g. due to an 215 update), the system may or may not try to eventually 216 evict the pod from its node. 217 properties: 218 nodeSelectorTerms: 219 description: >- 220 Required. A list of node selector terms. The 221 terms are ORed. 222 items: 223 description: >- 224 A null or empty node selector term matches no 225 objects. The requirements of them are ANDed. 226 The TopologySelectorTerm type implements a 227 subset of the NodeSelectorTerm. 228 properties: 229 matchExpressions: 230 description: >- 231 A list of node selector requirements by 232 node's labels. 233 items: 234 description: >- 235 A node selector requirement is a 236 selector that contains values, a key, 237 and an operator that relates the key and 238 values. 239 properties: 240 key: 241 description: >- 242 The label key that the selector applies 243 to. 244 type: string 245 operator: 246 description: >- 247 Represents a key's relationship to a set 248 of values. Valid operators are In, 249 NotIn, Exists, DoesNotExist. Gt, and Lt. 250 type: string 251 values: 252 description: >- 253 An array of string values. If the 254 operator is In or NotIn, the values 255 array must be non-empty. If the operator 256 is Exists or DoesNotExist, the values 257 array must be empty. If the operator is 258 Gt or Lt, the values array must have a 259 single element, which will be 260 interpreted as an integer. This array is 261 replaced during a strategic merge patch. 262 items: 263 type: string 264 type: array 265 required: 266 - key 267 - operator 268 type: object 269 type: array 270 matchFields: 271 description: >- 272 A list of node selector requirements by 273 node's fields. 274 items: 275 description: >- 276 A node selector requirement is a 277 selector that contains values, a key, 278 and an operator that relates the key and 279 values. 280 properties: 281 key: 282 description: >- 283 The label key that the selector applies 284 to. 285 type: string 286 operator: 287 description: >- 288 Represents a key's relationship to a set 289 of values. Valid operators are In, 290 NotIn, Exists, DoesNotExist. Gt, and Lt. 291 type: string 292 values: 293 description: >- 294 An array of string values. If the 295 operator is In or NotIn, the values 296 array must be non-empty. If the operator 297 is Exists or DoesNotExist, the values 298 array must be empty. If the operator is 299 Gt or Lt, the values array must have a 300 single element, which will be 301 interpreted as an integer. This array is 302 replaced during a strategic merge patch. 303 items: 304 type: string 305 type: array 306 required: 307 - key 308 - operator 309 type: object 310 type: array 311 type: object 312 type: array 313 required: 314 - nodeSelectorTerms 315 type: object 316 type: object 317 podAffinity: 318 description: >- 319 Describes pod affinity scheduling rules (e.g. co-locate 320 this pod in the same node, zone, etc. as some other 321 pod(s)). 322 properties: 323 preferredDuringSchedulingIgnoredDuringExecution: 324 description: >- 325 The scheduler will prefer to schedule pods to nodes 326 that satisfy the affinity expressions specified by 327 this field, but it may choose a node that violates 328 one or more of the expressions. The node that is 329 most preferred is the one with the greatest sum of 330 weights, i.e. for each node that meets all of the 331 scheduling requirements (resource request, 332 requiredDuringScheduling affinity expressions, 333 etc.), compute a sum by iterating through the 334 elements of this field and adding "weight" to the 335 sum if the node has pods which matches the 336 corresponding podAffinityTerm; the node(s) with the 337 highest sum are the most preferred. 338 items: 339 description: >- 340 The weights of all of the matched 341 WeightedPodAffinityTerm fields are added per-node 342 to find the most preferred node(s) 343 properties: 344 podAffinityTerm: 345 description: >- 346 Required. A pod affinity term, associated with 347 the corresponding weight. 348 properties: 349 labelSelector: 350 description: >- 351 A label query over a set of resources, in 352 this case pods. 353 properties: 354 matchExpressions: 355 description: >- 356 matchExpressions is a list of label 357 selector requirements. The requirements 358 are ANDed. 359 items: 360 description: >- 361 A label selector requirement is a 362 selector that contains values, a key, 363 and an operator that relates the key and 364 values. 365 properties: 366 key: 367 description: >- 368 key is the label key that the selector 369 applies to. 370 type: string 371 operator: 372 description: >- 373 operator represents a key's relationship 374 to a set of values. Valid operators are 375 In, NotIn, Exists and DoesNotExist. 376 type: string 377 values: 378 description: >- 379 values is an array of string values. If 380 the operator is In or NotIn, the values 381 array must be non-empty. If the operator 382 is Exists or DoesNotExist, the values 383 array must be empty. This array is 384 replaced during a strategic merge patch. 385 items: 386 type: string 387 type: array 388 required: 389 - key 390 - operator 391 type: object 392 type: array 393 matchLabels: 394 additionalProperties: 395 type: string 396 description: >- 397 matchLabels is a map of {key,value} 398 pairs. A single {key,value} in the 399 matchLabels map is equivalent to an 400 element of matchExpressions, whose key 401 field is "key", the operator is "In", 402 and the values array contains only 403 "value". The requirements are ANDed. 404 type: object 405 type: object 406 namespaces: 407 description: >- 408 namespaces specifies which namespaces the 409 labelSelector applies to (matches 410 against); null or empty list means "this 411 pod's namespace" 412 items: 413 type: string 414 type: array 415 topologyKey: 416 description: >- 417 This pod should be co-located (affinity) 418 or not co-located (anti-affinity) with the 419 pods matching the labelSelector in the 420 specified namespaces, where co-located is 421 defined as running on a node whose value 422 of the label with key topologyKey matches 423 that of any node on which any of the 424 selected pods is running. Empty 425 topologyKey is not allowed. 426 type: string 427 required: 428 - topologyKey 429 type: object 430 weight: 431 description: >- 432 weight associated with matching the 433 corresponding podAffinityTerm, in the range 434 1-100. 435 format: int32 436 type: integer 437 required: 438 - podAffinityTerm 439 - weight 440 type: object 441 type: array 442 requiredDuringSchedulingIgnoredDuringExecution: 443 description: >- 444 If the affinity requirements specified by this field 445 are not met at scheduling time, the pod will not be 446 scheduled onto the node. If the affinity 447 requirements specified by this field cease to be met 448 at some point during pod execution (e.g. due to a 449 pod label update), the system may or may not try to 450 eventually evict the pod from its node. When there 451 are multiple elements, the lists of nodes 452 corresponding to each podAffinityTerm are 453 intersected, i.e. all terms must be satisfied. 454 items: 455 description: >- 456 Defines a set of pods (namely those matching the 457 labelSelector relative to the given namespace(s)) 458 that this pod should be co-located (affinity) or 459 not co-located (anti-affinity) with, where 460 co-located is defined as running on a node whose 461 value of the label with key <topologyKey> matches 462 that of any node on which a pod of the set of pods 463 is running 464 properties: 465 labelSelector: 466 description: >- 467 A label query over a set of resources, in this 468 case pods. 469 properties: 470 matchExpressions: 471 description: >- 472 matchExpressions is a list of label 473 selector requirements. The requirements 474 are ANDed. 475 items: 476 description: >- 477 A label selector requirement is a 478 selector that contains values, a key, 479 and an operator that relates the key and 480 values. 481 properties: 482 key: 483 description: >- 484 key is the label key that the selector 485 applies to. 486 type: string 487 operator: 488 description: >- 489 operator represents a key's relationship 490 to a set of values. Valid operators are 491 In, NotIn, Exists and DoesNotExist. 492 type: string 493 values: 494 description: >- 495 values is an array of string values. If 496 the operator is In or NotIn, the values 497 array must be non-empty. If the operator 498 is Exists or DoesNotExist, the values 499 array must be empty. This array is 500 replaced during a strategic merge patch. 501 items: 502 type: string 503 type: array 504 required: 505 - key 506 - operator 507 type: object 508 type: array 509 matchLabels: 510 additionalProperties: 511 type: string 512 description: >- 513 matchLabels is a map of {key,value} pairs. 514 A single {key,value} in the matchLabels 515 map is equivalent to an element of 516 matchExpressions, whose key field is 517 "key", the operator is "In", and the 518 values array contains only "value". The 519 requirements are ANDed. 520 type: object 521 type: object 522 namespaces: 523 description: >- 524 namespaces specifies which namespaces the 525 labelSelector applies to (matches against); 526 null or empty list means "this pod's 527 namespace" 528 items: 529 type: string 530 type: array 531 topologyKey: 532 description: >- 533 This pod should be co-located (affinity) or 534 not co-located (anti-affinity) with the pods 535 matching the labelSelector in the specified 536 namespaces, where co-located is defined as 537 running on a node whose value of the label 538 with key topologyKey matches that of any node 539 on which any of the selected pods is running. 540 Empty topologyKey is not allowed. 541 type: string 542 required: 543 - topologyKey 544 type: object 545 type: array 546 type: object 547 podAntiAffinity: 548 description: >- 549 Describes pod anti-affinity scheduling rules (e.g. avoid 550 putting this pod in the same node, zone, etc. as some 551 other pod(s)). 552 properties: 553 preferredDuringSchedulingIgnoredDuringExecution: 554 description: >- 555 The scheduler will prefer to schedule pods to nodes 556 that satisfy the anti-affinity expressions specified 557 by this field, but it may choose a node that 558 violates one or more of the expressions. The node 559 that is most preferred is the one with the greatest 560 sum of weights, i.e. for each node that meets all of 561 the scheduling requirements (resource request, 562 requiredDuringScheduling anti-affinity expressions, 563 etc.), compute a sum by iterating through the 564 elements of this field and adding "weight" to the 565 sum if the node has pods which matches the 566 corresponding podAffinityTerm; the node(s) with the 567 highest sum are the most preferred. 568 items: 569 description: >- 570 The weights of all of the matched 571 WeightedPodAffinityTerm fields are added per-node 572 to find the most preferred node(s) 573 properties: 574 podAffinityTerm: 575 description: >- 576 Required. A pod affinity term, associated with 577 the corresponding weight. 578 properties: 579 labelSelector: 580 description: >- 581 A label query over a set of resources, in 582 this case pods. 583 properties: 584 matchExpressions: 585 description: >- 586 matchExpressions is a list of label 587 selector requirements. The requirements 588 are ANDed. 589 items: 590 description: >- 591 A label selector requirement is a 592 selector that contains values, a key, 593 and an operator that relates the key and 594 values. 595 properties: 596 key: 597 description: >- 598 key is the label key that the selector 599 applies to. 600 type: string 601 operator: 602 description: >- 603 operator represents a key's relationship 604 to a set of values. Valid operators are 605 In, NotIn, Exists and DoesNotExist. 606 type: string 607 values: 608 description: >- 609 values is an array of string values. If 610 the operator is In or NotIn, the values 611 array must be non-empty. If the operator 612 is Exists or DoesNotExist, the values 613 array must be empty. This array is 614 replaced during a strategic merge patch. 615 items: 616 type: string 617 type: array 618 required: 619 - key 620 - operator 621 type: object 622 type: array 623 matchLabels: 624 additionalProperties: 625 type: string 626 description: >- 627 matchLabels is a map of {key,value} 628 pairs. A single {key,value} in the 629 matchLabels map is equivalent to an 630 element of matchExpressions, whose key 631 field is "key", the operator is "In", 632 and the values array contains only 633 "value". The requirements are ANDed. 634 type: object 635 type: object 636 namespaces: 637 description: >- 638 namespaces specifies which namespaces the 639 labelSelector applies to (matches 640 against); null or empty list means "this 641 pod's namespace" 642 items: 643 type: string 644 type: array 645 topologyKey: 646 description: >- 647 This pod should be co-located (affinity) 648 or not co-located (anti-affinity) with the 649 pods matching the labelSelector in the 650 specified namespaces, where co-located is 651 defined as running on a node whose value 652 of the label with key topologyKey matches 653 that of any node on which any of the 654 selected pods is running. Empty 655 topologyKey is not allowed. 656 type: string 657 required: 658 - topologyKey 659 type: object 660 weight: 661 description: >- 662 weight associated with matching the 663 corresponding podAffinityTerm, in the range 664 1-100. 665 format: int32 666 type: integer 667 required: 668 - podAffinityTerm 669 - weight 670 type: object 671 type: array 672 requiredDuringSchedulingIgnoredDuringExecution: 673 description: >- 674 If the anti-affinity requirements specified by this 675 field are not met at scheduling time, the pod will 676 not be scheduled onto the node. If the anti-affinity 677 requirements specified by this field cease to be met 678 at some point during pod execution (e.g. due to a 679 pod label update), the system may or may not try to 680 eventually evict the pod from its node. When there 681 are multiple elements, the lists of nodes 682 corresponding to each podAffinityTerm are 683 intersected, i.e. all terms must be satisfied. 684 items: 685 description: >- 686 Defines a set of pods (namely those matching the 687 labelSelector relative to the given namespace(s)) 688 that this pod should be co-located (affinity) or 689 not co-located (anti-affinity) with, where 690 co-located is defined as running on a node whose 691 value of the label with key <topologyKey> matches 692 that of any node on which a pod of the set of pods 693 is running 694 properties: 695 labelSelector: 696 description: >- 697 A label query over a set of resources, in this 698 case pods. 699 properties: 700 matchExpressions: 701 description: >- 702 matchExpressions is a list of label 703 selector requirements. The requirements 704 are ANDed. 705 items: 706 description: >- 707 A label selector requirement is a 708 selector that contains values, a key, 709 and an operator that relates the key and 710 values. 711 properties: 712 key: 713 description: >- 714 key is the label key that the selector 715 applies to. 716 type: string 717 operator: 718 description: >- 719 operator represents a key's relationship 720 to a set of values. Valid operators are 721 In, NotIn, Exists and DoesNotExist. 722 type: string 723 values: 724 description: >- 725 values is an array of string values. If 726 the operator is In or NotIn, the values 727 array must be non-empty. If the operator 728 is Exists or DoesNotExist, the values 729 array must be empty. This array is 730 replaced during a strategic merge patch. 731 items: 732 type: string 733 type: array 734 required: 735 - key 736 - operator 737 type: object 738 type: array 739 matchLabels: 740 additionalProperties: 741 type: string 742 description: >- 743 matchLabels is a map of {key,value} pairs. 744 A single {key,value} in the matchLabels 745 map is equivalent to an element of 746 matchExpressions, whose key field is 747 "key", the operator is "In", and the 748 values array contains only "value". The 749 requirements are ANDed. 750 type: object 751 type: object 752 namespaces: 753 description: >- 754 namespaces specifies which namespaces the 755 labelSelector applies to (matches against); 756 null or empty list means "this pod's 757 namespace" 758 items: 759 type: string 760 type: array 761 topologyKey: 762 description: >- 763 This pod should be co-located (affinity) or 764 not co-located (anti-affinity) with the pods 765 matching the labelSelector in the specified 766 namespaces, where co-located is defined as 767 running on a node whose value of the label 768 with key topologyKey matches that of any node 769 on which any of the selected pods is running. 770 Empty topologyKey is not allowed. 771 type: string 772 required: 773 - topologyKey 774 type: object 775 type: array 776 type: object 777 type: object 778 global: 779 description: GlobalConfig will be the JSON struct for Basic Redis Config 780 properties: 781 image: 782 type: string 783 imagePullPolicy: 784 description: >- 785 PullPolicy describes a policy for if/when to pull a 786 container image 787 type: string 788 password: 789 type: string 790 resources: 791 description: >- 792 Resources describes requests and limits for the cluster 793 resouces. 794 properties: 795 limits: 796 description: >- 797 ResourceDescription describes CPU and memory 798 resources defined for a cluster. 799 properties: 800 cpu: 801 type: string 802 memory: 803 type: string 804 required: 805 - cpu 806 - memory 807 type: object 808 requests: 809 description: >- 810 ResourceDescription describes CPU and memory 811 resources defined for a cluster. 812 properties: 813 cpu: 814 type: string 815 memory: 816 type: string 817 required: 818 - cpu 819 - memory 820 type: object 821 type: object 822 required: 823 - image 824 type: object 825 master: 826 description: >- 827 RedisMaster interface will have the redis master 828 configuration 829 properties: 830 redisConfig: 831 additionalProperties: 832 type: string 833 type: object 834 resources: 835 description: >- 836 Resources describes requests and limits for the cluster 837 resouces. 838 properties: 839 limits: 840 description: >- 841 ResourceDescription describes CPU and memory 842 resources defined for a cluster. 843 properties: 844 cpu: 845 type: string 846 memory: 847 type: string 848 required: 849 - cpu 850 - memory 851 type: object 852 requests: 853 description: >- 854 ResourceDescription describes CPU and memory 855 resources defined for a cluster. 856 properties: 857 cpu: 858 type: string 859 memory: 860 type: string 861 required: 862 - cpu 863 - memory 864 type: object 865 type: object 866 service: 867 description: Service is the struct for service definition 868 properties: 869 type: 870 type: string 871 required: 872 - type 873 type: object 874 required: 875 - redisConfig 876 - service 877 type: object 878 mode: 879 type: string 880 nodeSelector: 881 additionalProperties: 882 type: string 883 type: object 884 priorityClassName: 885 type: string 886 redisConfig: 887 additionalProperties: 888 type: string 889 type: object 890 redisExporter: 891 description: >- 892 RedisExporter interface will have the information for redis 893 exporter related stuff 894 properties: 895 enabled: 896 type: boolean 897 image: 898 type: string 899 imagePullPolicy: 900 description: >- 901 PullPolicy describes a policy for if/when to pull a 902 container image 903 type: string 904 resources: 905 description: >- 906 Resources describes requests and limits for the cluster 907 resouces. 908 properties: 909 limits: 910 description: >- 911 ResourceDescription describes CPU and memory 912 resources defined for a cluster. 913 properties: 914 cpu: 915 type: string 916 memory: 917 type: string 918 required: 919 - cpu 920 - memory 921 type: object 922 requests: 923 description: >- 924 ResourceDescription describes CPU and memory 925 resources defined for a cluster. 926 properties: 927 cpu: 928 type: string 929 memory: 930 type: string 931 required: 932 - cpu 933 - memory 934 type: object 935 type: object 936 required: 937 - image 938 type: object 939 resources: 940 description: >- 941 Resources describes requests and limits for the cluster 942 resouces. 943 properties: 944 limits: 945 description: >- 946 ResourceDescription describes CPU and memory resources 947 defined for a cluster. 948 properties: 949 cpu: 950 type: string 951 memory: 952 type: string 953 required: 954 - cpu 955 - memory 956 type: object 957 requests: 958 description: >- 959 ResourceDescription describes CPU and memory resources 960 defined for a cluster. 961 properties: 962 cpu: 963 type: string 964 memory: 965 type: string 966 required: 967 - cpu 968 - memory 969 type: object 970 type: object 971 securityContext: 972 description: >- 973 PodSecurityContext holds pod-level security attributes and 974 common container settings. Some fields are also present in 975 container.securityContext. Field values of 976 container.securityContext take precedence over field values 977 of PodSecurityContext. 978 properties: 979 fsGroup: 980 description: >- 981 A special supplemental group that applies to all 982 containers in a pod. Some volume types allow the Kubelet 983 to change the ownership of that volume to be owned by 984 the pod: 985 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- 986 If unset, the Kubelet will not modify the ownership and permissions of any volume. 987 format: int64 988 type: integer 989 fsGroupChangePolicy: 990 description: >- 991 fsGroupChangePolicy defines behavior of changing 992 ownership and permission of the volume before being 993 exposed inside Pod. This field will only apply to volume 994 types which support fsGroup based ownership(and 995 permissions). It will have no effect on ephemeral volume 996 types such as: secret, configmaps and emptydir. Valid 997 values are "OnRootMismatch" and "Always". If not 998 specified defaults to "Always". 999 type: string 1000 runAsGroup: 1001 description: >- 1002 The GID to run the entrypoint of the container process. 1003 Uses runtime default if unset. May also be set in 1004 SecurityContext. If set in both SecurityContext and 1005 PodSecurityContext, the value specified in 1006 SecurityContext takes precedence for that container. 1007 format: int64 1008 type: integer 1009 runAsNonRoot: 1010 description: >- 1011 Indicates that the container must run as a non-root 1012 user. If true, the Kubelet will validate the image at 1013 runtime to ensure that it does not run as UID 0 (root) 1014 and fail to start the container if it does. If unset or 1015 false, no such validation will be performed. May also be 1016 set in SecurityContext. If set in both SecurityContext 1017 and PodSecurityContext, the value specified in 1018 SecurityContext takes precedence. 1019 type: boolean 1020 runAsUser: 1021 description: >- 1022 The UID to run the entrypoint of the container process. 1023 Defaults to user specified in image metadata if 1024 unspecified. May also be set in SecurityContext. If set 1025 in both SecurityContext and PodSecurityContext, the 1026 value specified in SecurityContext takes precedence for 1027 that container. 1028 format: int64 1029 type: integer 1030 seLinuxOptions: 1031 description: >- 1032 The SELinux context to be applied to all containers. If 1033 unspecified, the container runtime will allocate a 1034 random SELinux context for each container. May also be 1035 set in SecurityContext. If set in both SecurityContext 1036 and PodSecurityContext, the value specified in 1037 SecurityContext takes precedence for that container. 1038 properties: 1039 level: 1040 description: >- 1041 Level is SELinux level label that applies to the 1042 container. 1043 type: string 1044 role: 1045 description: >- 1046 Role is a SELinux role label that applies to the 1047 container. 1048 type: string 1049 type: 1050 description: >- 1051 Type is a SELinux type label that applies to the 1052 container. 1053 type: string 1054 user: 1055 description: >- 1056 User is a SELinux user label that applies to the 1057 container. 1058 type: string 1059 type: object 1060 seccompProfile: 1061 description: >- 1062 The seccomp options to use by the containers in this 1063 pod. 1064 properties: 1065 localhostProfile: 1066 description: >- 1067 localhostProfile indicates a profile defined in a 1068 file on the node should be used. The profile must be 1069 preconfigured on the node to work. Must be a 1070 descending path, relative to the kubelet's 1071 configured seccomp profile location. Must only be 1072 set if type is "Localhost". 1073 type: string 1074 type: 1075 description: >- 1076 type indicates which kind of seccomp profile will be 1077 applied. Valid options are: 1078 Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. 1079 type: string 1080 required: 1081 - type 1082 type: object 1083 supplementalGroups: 1084 description: >- 1085 A list of groups applied to the first process run in 1086 each container, in addition to the container's primary 1087 GID. If unspecified, no groups will be added to any 1088 container. 1089 items: 1090 format: int64 1091 type: integer 1092 type: array 1093 sysctls: 1094 description: >- 1095 Sysctls hold a list of namespaced sysctls used for the 1096 pod. Pods with unsupported sysctls (by the container 1097 runtime) might fail to launch. 1098 items: 1099 description: Sysctl defines a kernel parameter to be set 1100 properties: 1101 name: 1102 description: Name of a property to set 1103 type: string 1104 value: 1105 description: Value of a property to set 1106 type: string 1107 required: 1108 - name 1109 - value 1110 type: object 1111 type: array 1112 windowsOptions: 1113 description: >- 1114 The Windows specific settings applied to all containers. 1115 If unspecified, the options within a container's 1116 SecurityContext will be used. If set in both 1117 SecurityContext and PodSecurityContext, the value 1118 specified in SecurityContext takes precedence. 1119 properties: 1120 gmsaCredentialSpec: 1121 description: >- 1122 GMSACredentialSpec is where the GMSA admission 1123 webhook 1124 (https://github.com/kubernetes-sigs/windows-gmsa) 1125 inlines the contents of the GMSA credential spec 1126 named by the GMSACredentialSpecName field. 1127 type: string 1128 gmsaCredentialSpecName: 1129 description: >- 1130 GMSACredentialSpecName is the name of the GMSA 1131 credential spec to use. 1132 type: string 1133 runAsUserName: 1134 description: >- 1135 The UserName in Windows to run the entrypoint of the 1136 container process. Defaults to the user specified in 1137 image metadata if unspecified. May also be set in 1138 PodSecurityContext. If set in both SecurityContext 1139 and PodSecurityContext, the value specified in 1140 SecurityContext takes precedence. 1141 type: string 1142 type: object 1143 type: object 1144 service: 1145 description: Service is the struct for service definition 1146 properties: 1147 type: 1148 type: string 1149 required: 1150 - type 1151 type: object 1152 size: 1153 format: int32 1154 type: integer 1155 slave: 1156 description: RedisSlave interface will have the redis slave configuration 1157 properties: 1158 redisConfig: 1159 additionalProperties: 1160 type: string 1161 type: object 1162 resources: 1163 description: >- 1164 Resources describes requests and limits for the cluster 1165 resouces. 1166 properties: 1167 limits: 1168 description: >- 1169 ResourceDescription describes CPU and memory 1170 resources defined for a cluster. 1171 properties: 1172 cpu: 1173 type: string 1174 memory: 1175 type: string 1176 required: 1177 - cpu 1178 - memory 1179 type: object 1180 requests: 1181 description: >- 1182 ResourceDescription describes CPU and memory 1183 resources defined for a cluster. 1184 properties: 1185 cpu: 1186 type: string 1187 memory: 1188 type: string 1189 required: 1190 - cpu 1191 - memory 1192 type: object 1193 type: object 1194 service: 1195 description: Service is the struct for service definition 1196 properties: 1197 type: 1198 type: string 1199 required: 1200 - type 1201 type: object 1202 required: 1203 - redisConfig 1204 - service 1205 type: object 1206 storage: 1207 description: Storage is the inteface to add pvc and pv support in redis 1208 properties: 1209 volumeClaimTemplate: 1210 description: >- 1211 PersistentVolumeClaim is a user's request for and claim 1212 to a persistent volume 1213 properties: 1214 apiVersion: 1215 description: >- 1216 APIVersion defines the versioned schema of this 1217 representation of an object. Servers should convert 1218 recognized schemas to the latest internal value, and 1219 may reject unrecognized values. More info: 1220 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 1221 type: string 1222 kind: 1223 description: >- 1224 Kind is a string value representing the REST 1225 resource this object represents. Servers may infer 1226 this from the endpoint the client submits requests 1227 to. Cannot be updated. In CamelCase. More info: 1228 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1229 type: string 1230 metadata: 1231 description: >- 1232 Standard object's metadata. More info: 1233 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 1234 type: object 1235 spec: 1236 description: >- 1237 Spec defines the desired characteristics of a volume 1238 requested by a pod author. More info: 1239 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims 1240 properties: 1241 accessModes: 1242 description: >- 1243 AccessModes contains the desired access modes 1244 the volume should have. More info: 1245 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 1246 items: 1247 type: string 1248 type: array 1249 dataSource: 1250 description: >- 1251 This field can be used to specify either: * An 1252 existing VolumeSnapshot object 1253 (snapshot.storage.k8s.io/VolumeSnapshot - Beta) 1254 * An existing PVC (PersistentVolumeClaim) * An 1255 existing custom resource/object that implements 1256 data population (Alpha) In order to use 1257 VolumeSnapshot object types, the appropriate 1258 feature gate must be enabled 1259 (VolumeSnapshotDataSource or 1260 AnyVolumeDataSource) If the provisioner or an 1261 external controller can support the specified 1262 data source, it will create a new volume based 1263 on the contents of the specified data source. If 1264 the specified data source is not supported, the 1265 volume will not be created and the failure will 1266 be reported as an event. In the future, we plan 1267 to support more data source types and the 1268 behavior of the provisioner may change. 1269 properties: 1270 apiGroup: 1271 description: >- 1272 APIGroup is the group for the resource being 1273 referenced. If APIGroup is not specified, 1274 the specified Kind must be in the core API 1275 group. For any other third-party types, 1276 APIGroup is required. 1277 type: string 1278 kind: 1279 description: >- 1280 Kind is the type of resource being 1281 referenced 1282 type: string 1283 name: 1284 description: >- 1285 Name is the name of resource being 1286 referenced 1287 type: string 1288 required: 1289 - kind 1290 - name 1291 type: object 1292 resources: 1293 description: >- 1294 Resources represents the minimum resources the 1295 volume should have. More info: 1296 https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources 1297 properties: 1298 limits: 1299 additionalProperties: 1300 anyOf: 1301 - type: integer 1302 - type: string 1303 pattern: >- 1304 ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1305 x-kubernetes-int-or-string: true 1306 description: >- 1307 Limits describes the maximum amount of 1308 compute resources allowed. More info: 1309 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 1310 type: object 1311 requests: 1312 additionalProperties: 1313 anyOf: 1314 - type: integer 1315 - type: string 1316 pattern: >- 1317 ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1318 x-kubernetes-int-or-string: true 1319 description: >- 1320 Requests describes the minimum amount of 1321 compute resources required. If Requests is 1322 omitted for a container, it defaults to 1323 Limits if that is explicitly specified, 1324 otherwise to an implementation-defined 1325 value. More info: 1326 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 1327 type: object 1328 type: object 1329 selector: 1330 description: >- 1331 A label query over volumes to consider for 1332 binding. 1333 properties: 1334 matchExpressions: 1335 description: >- 1336 matchExpressions is a list of label selector 1337 requirements. The requirements are ANDed. 1338 items: 1339 description: >- 1340 A label selector requirement is a selector 1341 that contains values, a key, and an 1342 operator that relates the key and values. 1343 properties: 1344 key: 1345 description: >- 1346 key is the label key that the selector 1347 applies to. 1348 type: string 1349 operator: 1350 description: >- 1351 operator represents a key's relationship 1352 to a set of values. Valid operators are 1353 In, NotIn, Exists and DoesNotExist. 1354 type: string 1355 values: 1356 description: >- 1357 values is an array of string values. If 1358 the operator is In or NotIn, the values 1359 array must be non-empty. If the operator 1360 is Exists or DoesNotExist, the values 1361 array must be empty. This array is 1362 replaced during a strategic merge patch. 1363 items: 1364 type: string 1365 type: array 1366 required: 1367 - key 1368 - operator 1369 type: object 1370 type: array 1371 matchLabels: 1372 additionalProperties: 1373 type: string 1374 description: >- 1375 matchLabels is a map of {key,value} pairs. A 1376 single {key,value} in the matchLabels map is 1377 equivalent to an element of 1378 matchExpressions, whose key field is "key", 1379 the operator is "In", and the values array 1380 contains only "value". The requirements are 1381 ANDed. 1382 type: object 1383 type: object 1384 storageClassName: 1385 description: >- 1386 Name of the StorageClass required by the claim. 1387 More info: 1388 https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 1389 type: string 1390 volumeMode: 1391 description: >- 1392 volumeMode defines what type of volume is 1393 required by the claim. Value of Filesystem is 1394 implied when not included in claim spec. 1395 type: string 1396 volumeName: 1397 description: >- 1398 VolumeName is the binding reference to the 1399 PersistentVolume backing this claim. 1400 type: string 1401 type: object 1402 status: 1403 description: >- 1404 Status represents the current information/status of 1405 a persistent volume claim. Read-only. More info: 1406 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims 1407 properties: 1408 accessModes: 1409 description: >- 1410 AccessModes contains the actual access modes the 1411 volume backing the PVC has. More info: 1412 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 1413 items: 1414 type: string 1415 type: array 1416 capacity: 1417 additionalProperties: 1418 anyOf: 1419 - type: integer 1420 - type: string 1421 pattern: >- 1422 ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 1423 x-kubernetes-int-or-string: true 1424 description: >- 1425 Represents the actual resources of the 1426 underlying volume. 1427 type: object 1428 conditions: 1429 description: >- 1430 Current Condition of persistent volume claim. If 1431 underlying persistent volume is being resized 1432 then the Condition will be set to 1433 'ResizeStarted'. 1434 items: 1435 description: >- 1436 PersistentVolumeClaimCondition contails 1437 details about state of pvc 1438 properties: 1439 lastProbeTime: 1440 description: Last time we probed the condition. 1441 format: date-time 1442 type: string 1443 lastTransitionTime: 1444 description: >- 1445 Last time the condition transitioned from 1446 one status to another. 1447 format: date-time 1448 type: string 1449 message: 1450 description: >- 1451 Human-readable message indicating details 1452 about last transition. 1453 type: string 1454 reason: 1455 description: >- 1456 Unique, this should be a short, machine 1457 understandable string that gives the 1458 reason for condition's last transition. If 1459 it reports "ResizeStarted" that means the 1460 underlying persistent volume is being 1461 resized. 1462 type: string 1463 status: 1464 type: string 1465 type: 1466 description: >- 1467 PersistentVolumeClaimConditionType is a 1468 valid value of 1469 PersistentVolumeClaimCondition.Type 1470 type: string 1471 required: 1472 - status 1473 - type 1474 type: object 1475 type: array 1476 phase: 1477 description: >- 1478 Phase represents the current phase of 1479 PersistentVolumeClaim. 1480 type: string 1481 type: object 1482 type: object 1483 type: object 1484 required: 1485 - global 1486 - mode 1487 - redisConfig 1488 - service 1489 type: object 1490 status: 1491 description: RedisStatus defines the observed state of Redis 1492 properties: 1493 cluster: 1494 description: RedisSpec defines the desired state of Redis 1495 properties: 1496 affinity: 1497 description: Affinity is a group of affinity scheduling rules. 1498 properties: 1499 nodeAffinity: 1500 description: >- 1501 Describes node affinity scheduling rules for the 1502 pod. 1503 properties: 1504 preferredDuringSchedulingIgnoredDuringExecution: 1505 description: >- 1506 The scheduler will prefer to schedule pods to 1507 nodes that satisfy the affinity expressions 1508 specified by this field, but it may choose a 1509 node that violates one or more of the 1510 expressions. The node that is most preferred is 1511 the one with the greatest sum of weights, i.e. 1512 for each node that meets all of the scheduling 1513 requirements (resource request, 1514 requiredDuringScheduling affinity expressions, 1515 etc.), compute a sum by iterating through the 1516 elements of this field and adding "weight" to 1517 the sum if the node matches the corresponding 1518 matchExpressions; the node(s) with the highest 1519 sum are the most preferred. 1520 items: 1521 description: >- 1522 An empty preferred scheduling term matches all 1523 objects with implicit weight 0 (i.e. it's a 1524 no-op). A null preferred scheduling term 1525 matches no objects (i.e. is also a no-op). 1526 properties: 1527 preference: 1528 description: >- 1529 A node selector term, associated with the 1530 corresponding weight. 1531 properties: 1532 matchExpressions: 1533 description: >- 1534 A list of node selector requirements by 1535 node's labels. 1536 items: 1537 description: >- 1538 A node selector requirement is a 1539 selector that contains values, a key, 1540 and an operator that relates the key and 1541 values. 1542 properties: 1543 key: 1544 description: >- 1545 The label key that the selector applies 1546 to. 1547 type: string 1548 operator: 1549 description: >- 1550 Represents a key's relationship to a set 1551 of values. Valid operators are In, 1552 NotIn, Exists, DoesNotExist. Gt, and Lt. 1553 type: string 1554 values: 1555 description: >- 1556 An array of string values. If the 1557 operator is In or NotIn, the values 1558 array must be non-empty. If the operator 1559 is Exists or DoesNotExist, the values 1560 array must be empty. If the operator is 1561 Gt or Lt, the values array must have a 1562 single element, which will be 1563 interpreted as an integer. This array is 1564 replaced during a strategic merge patch. 1565 items: 1566 type: string 1567 type: array 1568 required: 1569 - key 1570 - operator 1571 type: object 1572 type: array 1573 matchFields: 1574 description: >- 1575 A list of node selector requirements by 1576 node's fields. 1577 items: 1578 description: >- 1579 A node selector requirement is a 1580 selector that contains values, a key, 1581 and an operator that relates the key and 1582 values. 1583 properties: 1584 key: 1585 description: >- 1586 The label key that the selector applies 1587 to. 1588 type: string 1589 operator: 1590 description: >- 1591 Represents a key's relationship to a set 1592 of values. Valid operators are In, 1593 NotIn, Exists, DoesNotExist. Gt, and Lt. 1594 type: string 1595 values: 1596 description: >- 1597 An array of string values. If the 1598 operator is In or NotIn, the values 1599 array must be non-empty. If the operator 1600 is Exists or DoesNotExist, the values 1601 array must be empty. If the operator is 1602 Gt or Lt, the values array must have a 1603 single element, which will be 1604 interpreted as an integer. This array is 1605 replaced during a strategic merge patch. 1606 items: 1607 type: string 1608 type: array 1609 required: 1610 - key 1611 - operator 1612 type: object 1613 type: array 1614 type: object 1615 weight: 1616 description: >- 1617 Weight associated with matching the 1618 corresponding nodeSelectorTerm, in the 1619 range 1-100. 1620 format: int32 1621 type: integer 1622 required: 1623 - preference 1624 - weight 1625 type: object 1626 type: array 1627 requiredDuringSchedulingIgnoredDuringExecution: 1628 description: >- 1629 If the affinity requirements specified by this 1630 field are not met at scheduling time, the pod 1631 will not be scheduled onto the node. If the 1632 affinity requirements specified by this field 1633 cease to be met at some point during pod 1634 execution (e.g. due to an update), the system 1635 may or may not try to eventually evict the pod 1636 from its node. 1637 properties: 1638 nodeSelectorTerms: 1639 description: >- 1640 Required. A list of node selector terms. The 1641 terms are ORed. 1642 items: 1643 description: >- 1644 A null or empty node selector term matches 1645 no objects. The requirements of them are 1646 ANDed. The TopologySelectorTerm type 1647 implements a subset of the 1648 NodeSelectorTerm. 1649 properties: 1650 matchExpressions: 1651 description: >- 1652 A list of node selector requirements by 1653 node's labels. 1654 items: 1655 description: >- 1656 A node selector requirement is a 1657 selector that contains values, a key, 1658 and an operator that relates the key and 1659 values. 1660 properties: 1661 key: 1662 description: >- 1663 The label key that the selector applies 1664 to. 1665 type: string 1666 operator: 1667 description: >- 1668 Represents a key's relationship to a set 1669 of values. Valid operators are In, 1670 NotIn, Exists, DoesNotExist. Gt, and Lt. 1671 type: string 1672 values: 1673 description: >- 1674 An array of string values. If the 1675 operator is In or NotIn, the values 1676 array must be non-empty. If the operator 1677 is Exists or DoesNotExist, the values 1678 array must be empty. If the operator is 1679 Gt or Lt, the values array must have a 1680 single element, which will be 1681 interpreted as an integer. This array is 1682 replaced during a strategic merge patch. 1683 items: 1684 type: string 1685 type: array 1686 required: 1687 - key 1688 - operator 1689 type: object 1690 type: array 1691 matchFields: 1692 description: >- 1693 A list of node selector requirements by 1694 node's fields. 1695 items: 1696 description: >- 1697 A node selector requirement is a 1698 selector that contains values, a key, 1699 and an operator that relates the key and 1700 values. 1701 properties: 1702 key: 1703 description: >- 1704 The label key that the selector applies 1705 to. 1706 type: string 1707 operator: 1708 description: >- 1709 Represents a key's relationship to a set 1710 of values. Valid operators are In, 1711 NotIn, Exists, DoesNotExist. Gt, and Lt. 1712 type: string 1713 values: 1714 description: >- 1715 An array of string values. If the 1716 operator is In or NotIn, the values 1717 array must be non-empty. If the operator 1718 is Exists or DoesNotExist, the values 1719 array must be empty. If the operator is 1720 Gt or Lt, the values array must have a 1721 single element, which will be 1722 interpreted as an integer. This array is 1723 replaced during a strategic merge patch. 1724 items: 1725 type: string 1726 type: array 1727 required: 1728 - key 1729 - operator 1730 type: object 1731 type: array 1732 type: object 1733 type: array 1734 required: 1735 - nodeSelectorTerms 1736 type: object 1737 type: object 1738 podAffinity: 1739 description: >- 1740 Describes pod affinity scheduling rules (e.g. 1741 co-locate this pod in the same node, zone, etc. as 1742 some other pod(s)). 1743 properties: 1744 preferredDuringSchedulingIgnoredDuringExecution: 1745 description: >- 1746 The scheduler will prefer to schedule pods to 1747 nodes that satisfy the affinity expressions 1748 specified by this field, but it may choose a 1749 node that violates one or more of the 1750 expressions. The node that is most preferred is 1751 the one with the greatest sum of weights, i.e. 1752 for each node that meets all of the scheduling 1753 requirements (resource request, 1754 requiredDuringScheduling affinity expressions, 1755 etc.), compute a sum by iterating through the 1756 elements of this field and adding "weight" to 1757 the sum if the node has pods which matches the 1758 corresponding podAffinityTerm; the node(s) with 1759 the highest sum are the most preferred. 1760 items: 1761 description: >- 1762 The weights of all of the matched 1763 WeightedPodAffinityTerm fields are added 1764 per-node to find the most preferred node(s) 1765 properties: 1766 podAffinityTerm: 1767 description: >- 1768 Required. A pod affinity term, associated 1769 with the corresponding weight. 1770 properties: 1771 labelSelector: 1772 description: >- 1773 A label query over a set of resources, 1774 in this case pods. 1775 properties: 1776 matchExpressions: 1777 description: >- 1778 matchExpressions is a list of label 1779 selector requirements. The requirements 1780 are ANDed. 1781 items: 1782 description: >- 1783 A label selector requirement is a 1784 selector that contains values, a key, 1785 and an operator that relates the key and 1786 values. 1787 properties: 1788 key: 1789 description: >- 1790 key is the label key that the selector 1791 applies to. 1792 type: string 1793 operator: 1794 description: >- 1795 operator represents a key's relationship 1796 to a set of values. Valid operators are 1797 In, NotIn, Exists and DoesNotExist. 1798 type: string 1799 values: 1800 description: >- 1801 values is an array of string values. If 1802 the operator is In or NotIn, the values 1803 array must be non-empty. If the operator 1804 is Exists or DoesNotExist, the values 1805 array must be empty. This array is 1806 replaced during a strategic merge patch. 1807 items: 1808 type: string 1809 type: array 1810 required: 1811 - key 1812 - operator 1813 type: object 1814 type: array 1815 matchLabels: 1816 additionalProperties: 1817 type: string 1818 description: >- 1819 matchLabels is a map of {key,value} 1820 pairs. A single {key,value} in the 1821 matchLabels map is equivalent to an 1822 element of matchExpressions, whose key 1823 field is "key", the operator is "In", 1824 and the values array contains only 1825 "value". The requirements are ANDed. 1826 type: object 1827 type: object 1828 namespaces: 1829 description: >- 1830 namespaces specifies which namespaces 1831 the labelSelector applies to (matches 1832 against); null or empty list means "this 1833 pod's namespace" 1834 items: 1835 type: string 1836 type: array 1837 topologyKey: 1838 description: >- 1839 This pod should be co-located (affinity) 1840 or not co-located (anti-affinity) with 1841 the pods matching the labelSelector in 1842 the specified namespaces, where 1843 co-located is defined as running on a 1844 node whose value of the label with key 1845 topologyKey matches that of any node on 1846 which any of the selected pods is 1847 running. Empty topologyKey is not 1848 allowed. 1849 type: string 1850 required: 1851 - topologyKey 1852 type: object 1853 weight: 1854 description: >- 1855 weight associated with matching the 1856 corresponding podAffinityTerm, in the 1857 range 1-100. 1858 format: int32 1859 type: integer 1860 required: 1861 - podAffinityTerm 1862 - weight 1863 type: object 1864 type: array 1865 requiredDuringSchedulingIgnoredDuringExecution: 1866 description: >- 1867 If the affinity requirements specified by this 1868 field are not met at scheduling time, the pod 1869 will not be scheduled onto the node. If the 1870 affinity requirements specified by this field 1871 cease to be met at some point during pod 1872 execution (e.g. due to a pod label update), the 1873 system may or may not try to eventually evict 1874 the pod from its node. When there are multiple 1875 elements, the lists of nodes corresponding to 1876 each podAffinityTerm are intersected, i.e. all 1877 terms must be satisfied. 1878 items: 1879 description: >- 1880 Defines a set of pods (namely those matching 1881 the labelSelector relative to the given 1882 namespace(s)) that this pod should be 1883 co-located (affinity) or not co-located 1884 (anti-affinity) with, where co-located is 1885 defined as running on a node whose value of 1886 the label with key <topologyKey> matches that 1887 of any node on which a pod of the set of pods 1888 is running 1889 properties: 1890 labelSelector: 1891 description: >- 1892 A label query over a set of resources, in 1893 this case pods. 1894 properties: 1895 matchExpressions: 1896 description: >- 1897 matchExpressions is a list of label 1898 selector requirements. The requirements 1899 are ANDed. 1900 items: 1901 description: >- 1902 A label selector requirement is a 1903 selector that contains values, a key, 1904 and an operator that relates the key and 1905 values. 1906 properties: 1907 key: 1908 description: >- 1909 key is the label key that the selector 1910 applies to. 1911 type: string 1912 operator: 1913 description: >- 1914 operator represents a key's relationship 1915 to a set of values. Valid operators are 1916 In, NotIn, Exists and DoesNotExist. 1917 type: string 1918 values: 1919 description: >- 1920 values is an array of string values. If 1921 the operator is In or NotIn, the values 1922 array must be non-empty. If the operator 1923 is Exists or DoesNotExist, the values 1924 array must be empty. This array is 1925 replaced during a strategic merge patch. 1926 items: 1927 type: string 1928 type: array 1929 required: 1930 - key 1931 - operator 1932 type: object 1933 type: array 1934 matchLabels: 1935 additionalProperties: 1936 type: string 1937 description: >- 1938 matchLabels is a map of {key,value} 1939 pairs. A single {key,value} in the 1940 matchLabels map is equivalent to an 1941 element of matchExpressions, whose key 1942 field is "key", the operator is "In", 1943 and the values array contains only 1944 "value". The requirements are ANDed. 1945 type: object 1946 type: object 1947 namespaces: 1948 description: >- 1949 namespaces specifies which namespaces the 1950 labelSelector applies to (matches 1951 against); null or empty list means "this 1952 pod's namespace" 1953 items: 1954 type: string 1955 type: array 1956 topologyKey: 1957 description: >- 1958 This pod should be co-located (affinity) 1959 or not co-located (anti-affinity) with the 1960 pods matching the labelSelector in the 1961 specified namespaces, where co-located is 1962 defined as running on a node whose value 1963 of the label with key topologyKey matches 1964 that of any node on which any of the 1965 selected pods is running. Empty 1966 topologyKey is not allowed. 1967 type: string 1968 required: 1969 - topologyKey 1970 type: object 1971 type: array 1972 type: object 1973 podAntiAffinity: 1974 description: >- 1975 Describes pod anti-affinity scheduling rules (e.g. 1976 avoid putting this pod in the same node, zone, etc. 1977 as some other pod(s)). 1978 properties: 1979 preferredDuringSchedulingIgnoredDuringExecution: 1980 description: >- 1981 The scheduler will prefer to schedule pods to 1982 nodes that satisfy the anti-affinity expressions 1983 specified by this field, but it may choose a 1984 node that violates one or more of the 1985 expressions. The node that is most preferred is 1986 the one with the greatest sum of weights, i.e. 1987 for each node that meets all of the scheduling 1988 requirements (resource request, 1989 requiredDuringScheduling anti-affinity 1990 expressions, etc.), compute a sum by iterating 1991 through the elements of this field and adding 1992 "weight" to the sum if the node has pods which 1993 matches the corresponding podAffinityTerm; the 1994 node(s) with the highest sum are the most 1995 preferred. 1996 items: 1997 description: >- 1998 The weights of all of the matched 1999 WeightedPodAffinityTerm fields are added 2000 per-node to find the most preferred node(s) 2001 properties: 2002 podAffinityTerm: 2003 description: >- 2004 Required. A pod affinity term, associated 2005 with the corresponding weight. 2006 properties: 2007 labelSelector: 2008 description: >- 2009 A label query over a set of resources, 2010 in this case pods. 2011 properties: 2012 matchExpressions: 2013 description: >- 2014 matchExpressions is a list of label 2015 selector requirements. The requirements 2016 are ANDed. 2017 items: 2018 description: >- 2019 A label selector requirement is a 2020 selector that contains values, a key, 2021 and an operator that relates the key and 2022 values. 2023 properties: 2024 key: 2025 description: >- 2026 key is the label key that the selector 2027 applies to. 2028 type: string 2029 operator: 2030 description: >- 2031 operator represents a key's relationship 2032 to a set of values. Valid operators are 2033 In, NotIn, Exists and DoesNotExist. 2034 type: string 2035 values: 2036 description: >- 2037 values is an array of string values. If 2038 the operator is In or NotIn, the values 2039 array must be non-empty. If the operator 2040 is Exists or DoesNotExist, the values 2041 array must be empty. This array is 2042 replaced during a strategic merge patch. 2043 items: 2044 type: string 2045 type: array 2046 required: 2047 - key 2048 - operator 2049 type: object 2050 type: array 2051 matchLabels: 2052 additionalProperties: 2053 type: string 2054 description: >- 2055 matchLabels is a map of {key,value} 2056 pairs. A single {key,value} in the 2057 matchLabels map is equivalent to an 2058 element of matchExpressions, whose key 2059 field is "key", the operator is "In", 2060 and the values array contains only 2061 "value". The requirements are ANDed. 2062 type: object 2063 type: object 2064 namespaces: 2065 description: >- 2066 namespaces specifies which namespaces 2067 the labelSelector applies to (matches 2068 against); null or empty list means "this 2069 pod's namespace" 2070 items: 2071 type: string 2072 type: array 2073 topologyKey: 2074 description: >- 2075 This pod should be co-located (affinity) 2076 or not co-located (anti-affinity) with 2077 the pods matching the labelSelector in 2078 the specified namespaces, where 2079 co-located is defined as running on a 2080 node whose value of the label with key 2081 topologyKey matches that of any node on 2082 which any of the selected pods is 2083 running. Empty topologyKey is not 2084 allowed. 2085 type: string 2086 required: 2087 - topologyKey 2088 type: object 2089 weight: 2090 description: >- 2091 weight associated with matching the 2092 corresponding podAffinityTerm, in the 2093 range 1-100. 2094 format: int32 2095 type: integer 2096 required: 2097 - podAffinityTerm 2098 - weight 2099 type: object 2100 type: array 2101 requiredDuringSchedulingIgnoredDuringExecution: 2102 description: >- 2103 If the anti-affinity requirements specified by 2104 this field are not met at scheduling time, the 2105 pod will not be scheduled onto the node. If the 2106 anti-affinity requirements specified by this 2107 field cease to be met at some point during pod 2108 execution (e.g. due to a pod label update), the 2109 system may or may not try to eventually evict 2110 the pod from its node. When there are multiple 2111 elements, the lists of nodes corresponding to 2112 each podAffinityTerm are intersected, i.e. all 2113 terms must be satisfied. 2114 items: 2115 description: >- 2116 Defines a set of pods (namely those matching 2117 the labelSelector relative to the given 2118 namespace(s)) that this pod should be 2119 co-located (affinity) or not co-located 2120 (anti-affinity) with, where co-located is 2121 defined as running on a node whose value of 2122 the label with key <topologyKey> matches that 2123 of any node on which a pod of the set of pods 2124 is running 2125 properties: 2126 labelSelector: 2127 description: >- 2128 A label query over a set of resources, in 2129 this case pods. 2130 properties: 2131 matchExpressions: 2132 description: >- 2133 matchExpressions is a list of label 2134 selector requirements. The requirements 2135 are ANDed. 2136 items: 2137 description: >- 2138 A label selector requirement is a 2139 selector that contains values, a key, 2140 and an operator that relates the key and 2141 values. 2142 properties: 2143 key: 2144 description: >- 2145 key is the label key that the selector 2146 applies to. 2147 type: string 2148 operator: 2149 description: >- 2150 operator represents a key's relationship 2151 to a set of values. Valid operators are 2152 In, NotIn, Exists and DoesNotExist. 2153 type: string 2154 values: 2155 description: >- 2156 values is an array of string values. If 2157 the operator is In or NotIn, the values 2158 array must be non-empty. If the operator 2159 is Exists or DoesNotExist, the values 2160 array must be empty. This array is 2161 replaced during a strategic merge patch. 2162 items: 2163 type: string 2164 type: array 2165 required: 2166 - key 2167 - operator 2168 type: object 2169 type: array 2170 matchLabels: 2171 additionalProperties: 2172 type: string 2173 description: >- 2174 matchLabels is a map of {key,value} 2175 pairs. A single {key,value} in the 2176 matchLabels map is equivalent to an 2177 element of matchExpressions, whose key 2178 field is "key", the operator is "In", 2179 and the values array contains only 2180 "value". The requirements are ANDed. 2181 type: object 2182 type: object 2183 namespaces: 2184 description: >- 2185 namespaces specifies which namespaces the 2186 labelSelector applies to (matches 2187 against); null or empty list means "this 2188 pod's namespace" 2189 items: 2190 type: string 2191 type: array 2192 topologyKey: 2193 description: >- 2194 This pod should be co-located (affinity) 2195 or not co-located (anti-affinity) with the 2196 pods matching the labelSelector in the 2197 specified namespaces, where co-located is 2198 defined as running on a node whose value 2199 of the label with key topologyKey matches 2200 that of any node on which any of the 2201 selected pods is running. Empty 2202 topologyKey is not allowed. 2203 type: string 2204 required: 2205 - topologyKey 2206 type: object 2207 type: array 2208 type: object 2209 type: object 2210 global: 2211 description: >- 2212 GlobalConfig will be the JSON struct for Basic Redis 2213 Config 2214 properties: 2215 image: 2216 type: string 2217 imagePullPolicy: 2218 description: >- 2219 PullPolicy describes a policy for if/when to pull a 2220 container image 2221 type: string 2222 password: 2223 type: string 2224 resources: 2225 description: >- 2226 Resources describes requests and limits for the 2227 cluster resouces. 2228 properties: 2229 limits: 2230 description: >- 2231 ResourceDescription describes CPU and memory 2232 resources defined for a cluster. 2233 properties: 2234 cpu: 2235 type: string 2236 memory: 2237 type: string 2238 required: 2239 - cpu 2240 - memory 2241 type: object 2242 requests: 2243 description: >- 2244 ResourceDescription describes CPU and memory 2245 resources defined for a cluster. 2246 properties: 2247 cpu: 2248 type: string 2249 memory: 2250 type: string 2251 required: 2252 - cpu 2253 - memory 2254 type: object 2255 type: object 2256 required: 2257 - image 2258 type: object 2259 master: 2260 description: >- 2261 RedisMaster interface will have the redis master 2262 configuration 2263 properties: 2264 redisConfig: 2265 additionalProperties: 2266 type: string 2267 type: object 2268 resources: 2269 description: >- 2270 Resources describes requests and limits for the 2271 cluster resouces. 2272 properties: 2273 limits: 2274 description: >- 2275 ResourceDescription describes CPU and memory 2276 resources defined for a cluster. 2277 properties: 2278 cpu: 2279 type: string 2280 memory: 2281 type: string 2282 required: 2283 - cpu 2284 - memory 2285 type: object 2286 requests: 2287 description: >- 2288 ResourceDescription describes CPU and memory 2289 resources defined for a cluster. 2290 properties: 2291 cpu: 2292 type: string 2293 memory: 2294 type: string 2295 required: 2296 - cpu 2297 - memory 2298 type: object 2299 type: object 2300 service: 2301 description: Service is the struct for service definition 2302 properties: 2303 type: 2304 type: string 2305 required: 2306 - type 2307 type: object 2308 required: 2309 - redisConfig 2310 - service 2311 type: object 2312 mode: 2313 type: string 2314 nodeSelector: 2315 additionalProperties: 2316 type: string 2317 type: object 2318 priorityClassName: 2319 type: string 2320 redisConfig: 2321 additionalProperties: 2322 type: string 2323 type: object 2324 redisExporter: 2325 description: >- 2326 RedisExporter interface will have the information for 2327 redis exporter related stuff 2328 properties: 2329 enabled: 2330 type: boolean 2331 image: 2332 type: string 2333 imagePullPolicy: 2334 description: >- 2335 PullPolicy describes a policy for if/when to pull a 2336 container image 2337 type: string 2338 resources: 2339 description: >- 2340 Resources describes requests and limits for the 2341 cluster resouces. 2342 properties: 2343 limits: 2344 description: >- 2345 ResourceDescription describes CPU and memory 2346 resources defined for a cluster. 2347 properties: 2348 cpu: 2349 type: string 2350 memory: 2351 type: string 2352 required: 2353 - cpu 2354 - memory 2355 type: object 2356 requests: 2357 description: >- 2358 ResourceDescription describes CPU and memory 2359 resources defined for a cluster. 2360 properties: 2361 cpu: 2362 type: string 2363 memory: 2364 type: string 2365 required: 2366 - cpu 2367 - memory 2368 type: object 2369 type: object 2370 required: 2371 - image 2372 type: object 2373 resources: 2374 description: >- 2375 Resources describes requests and limits for the cluster 2376 resouces. 2377 properties: 2378 limits: 2379 description: >- 2380 ResourceDescription describes CPU and memory 2381 resources defined for a cluster. 2382 properties: 2383 cpu: 2384 type: string 2385 memory: 2386 type: string 2387 required: 2388 - cpu 2389 - memory 2390 type: object 2391 requests: 2392 description: >- 2393 ResourceDescription describes CPU and memory 2394 resources defined for a cluster. 2395 properties: 2396 cpu: 2397 type: string 2398 memory: 2399 type: string 2400 required: 2401 - cpu 2402 - memory 2403 type: object 2404 type: object 2405 securityContext: 2406 description: >- 2407 PodSecurityContext holds pod-level security attributes 2408 and common container settings. Some fields are also 2409 present in container.securityContext. Field values of 2410 container.securityContext take precedence over field 2411 values of PodSecurityContext. 2412 properties: 2413 fsGroup: 2414 description: >- 2415 A special supplemental group that applies to all 2416 containers in a pod. Some volume types allow the 2417 Kubelet to change the ownership of that volume to be 2418 owned by the pod: 2419 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- 2420 If unset, the Kubelet will not modify the ownership and permissions of any volume. 2421 format: int64 2422 type: integer 2423 fsGroupChangePolicy: 2424 description: >- 2425 fsGroupChangePolicy defines behavior of changing 2426 ownership and permission of the volume before being 2427 exposed inside Pod. This field will only apply to 2428 volume types which support fsGroup based 2429 ownership(and permissions). It will have no effect 2430 on ephemeral volume types such as: secret, 2431 configmaps and emptydir. Valid values are 2432 "OnRootMismatch" and "Always". If not specified 2433 defaults to "Always". 2434 type: string 2435 runAsGroup: 2436 description: >- 2437 The GID to run the entrypoint of the container 2438 process. Uses runtime default if unset. May also be 2439 set in SecurityContext. If set in both 2440 SecurityContext and PodSecurityContext, the value 2441 specified in SecurityContext takes precedence for 2442 that container. 2443 format: int64 2444 type: integer 2445 runAsNonRoot: 2446 description: >- 2447 Indicates that the container must run as a non-root 2448 user. If true, the Kubelet will validate the image 2449 at runtime to ensure that it does not run as UID 0 2450 (root) and fail to start the container if it does. 2451 If unset or false, no such validation will be 2452 performed. May also be set in SecurityContext. If 2453 set in both SecurityContext and PodSecurityContext, 2454 the value specified in SecurityContext takes 2455 precedence. 2456 type: boolean 2457 runAsUser: 2458 description: >- 2459 The UID to run the entrypoint of the container 2460 process. Defaults to user specified in image 2461 metadata if unspecified. May also be set in 2462 SecurityContext. If set in both SecurityContext and 2463 PodSecurityContext, the value specified in 2464 SecurityContext takes precedence for that container. 2465 format: int64 2466 type: integer 2467 seLinuxOptions: 2468 description: >- 2469 The SELinux context to be applied to all containers. 2470 If unspecified, the container runtime will allocate 2471 a random SELinux context for each container. May 2472 also be set in SecurityContext. If set in both 2473 SecurityContext and PodSecurityContext, the value 2474 specified in SecurityContext takes precedence for 2475 that container. 2476 properties: 2477 level: 2478 description: >- 2479 Level is SELinux level label that applies to the 2480 container. 2481 type: string 2482 role: 2483 description: >- 2484 Role is a SELinux role label that applies to the 2485 container. 2486 type: string 2487 type: 2488 description: >- 2489 Type is a SELinux type label that applies to the 2490 container. 2491 type: string 2492 user: 2493 description: >- 2494 User is a SELinux user label that applies to the 2495 container. 2496 type: string 2497 type: object 2498 seccompProfile: 2499 description: >- 2500 The seccomp options to use by the containers in this 2501 pod. 2502 properties: 2503 localhostProfile: 2504 description: >- 2505 localhostProfile indicates a profile defined in 2506 a file on the node should be used. The profile 2507 must be preconfigured on the node to work. Must 2508 be a descending path, relative to the kubelet's 2509 configured seccomp profile location. Must only 2510 be set if type is "Localhost". 2511 type: string 2512 type: 2513 description: >- 2514 type indicates which kind of seccomp profile 2515 will be applied. Valid options are: 2516 Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. 2517 type: string 2518 required: 2519 - type 2520 type: object 2521 supplementalGroups: 2522 description: >- 2523 A list of groups applied to the first process run in 2524 each container, in addition to the container's 2525 primary GID. If unspecified, no groups will be 2526 added to any container. 2527 items: 2528 format: int64 2529 type: integer 2530 type: array 2531 sysctls: 2532 description: >- 2533 Sysctls hold a list of namespaced sysctls used for 2534 the pod. Pods with unsupported sysctls (by the 2535 container runtime) might fail to launch. 2536 items: 2537 description: Sysctl defines a kernel parameter to be set 2538 properties: 2539 name: 2540 description: Name of a property to set 2541 type: string 2542 value: 2543 description: Value of a property to set 2544 type: string 2545 required: 2546 - name 2547 - value 2548 type: object 2549 type: array 2550 windowsOptions: 2551 description: >- 2552 The Windows specific settings applied to all 2553 containers. If unspecified, the options within a 2554 container's SecurityContext will be used. If set in 2555 both SecurityContext and PodSecurityContext, the 2556 value specified in SecurityContext takes precedence. 2557 properties: 2558 gmsaCredentialSpec: 2559 description: >- 2560 GMSACredentialSpec is where the GMSA admission 2561 webhook 2562 (https://github.com/kubernetes-sigs/windows-gmsa) 2563 inlines the contents of the GMSA credential spec 2564 named by the GMSACredentialSpecName field. 2565 type: string 2566 gmsaCredentialSpecName: 2567 description: >- 2568 GMSACredentialSpecName is the name of the GMSA 2569 credential spec to use. 2570 type: string 2571 runAsUserName: 2572 description: >- 2573 The UserName in Windows to run the entrypoint of 2574 the container process. Defaults to the user 2575 specified in image metadata if unspecified. May 2576 also be set in PodSecurityContext. If set in 2577 both SecurityContext and PodSecurityContext, the 2578 value specified in SecurityContext takes 2579 precedence. 2580 type: string 2581 type: object 2582 type: object 2583 service: 2584 description: Service is the struct for service definition 2585 properties: 2586 type: 2587 type: string 2588 required: 2589 - type 2590 type: object 2591 size: 2592 format: int32 2593 type: integer 2594 slave: 2595 description: >- 2596 RedisSlave interface will have the redis slave 2597 configuration 2598 properties: 2599 redisConfig: 2600 additionalProperties: 2601 type: string 2602 type: object 2603 resources: 2604 description: >- 2605 Resources describes requests and limits for the 2606 cluster resouces. 2607 properties: 2608 limits: 2609 description: >- 2610 ResourceDescription describes CPU and memory 2611 resources defined for a cluster. 2612 properties: 2613 cpu: 2614 type: string 2615 memory: 2616 type: string 2617 required: 2618 - cpu 2619 - memory 2620 type: object 2621 requests: 2622 description: >- 2623 ResourceDescription describes CPU and memory 2624 resources defined for a cluster. 2625 properties: 2626 cpu: 2627 type: string 2628 memory: 2629 type: string 2630 required: 2631 - cpu 2632 - memory 2633 type: object 2634 type: object 2635 service: 2636 description: Service is the struct for service definition 2637 properties: 2638 type: 2639 type: string 2640 required: 2641 - type 2642 type: object 2643 required: 2644 - redisConfig 2645 - service 2646 type: object 2647 storage: 2648 description: >- 2649 Storage is the inteface to add pvc and pv support in 2650 redis 2651 properties: 2652 volumeClaimTemplate: 2653 description: >- 2654 PersistentVolumeClaim is a user's request for and 2655 claim to a persistent volume 2656 properties: 2657 apiVersion: 2658 description: >- 2659 APIVersion defines the versioned schema of this 2660 representation of an object. Servers should 2661 convert recognized schemas to the latest 2662 internal value, and may reject unrecognized 2663 values. More info: 2664 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 2665 type: string 2666 kind: 2667 description: >- 2668 Kind is a string value representing the REST 2669 resource this object represents. Servers may 2670 infer this from the endpoint the client submits 2671 requests to. Cannot be updated. In CamelCase. 2672 More info: 2673 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 2674 type: string 2675 metadata: 2676 description: >- 2677 Standard object's metadata. More info: 2678 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 2679 type: object 2680 spec: 2681 description: >- 2682 Spec defines the desired characteristics of a 2683 volume requested by a pod author. More info: 2684 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims 2685 properties: 2686 accessModes: 2687 description: >- 2688 AccessModes contains the desired access 2689 modes the volume should have. More info: 2690 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 2691 items: 2692 type: string 2693 type: array 2694 dataSource: 2695 description: >- 2696 This field can be used to specify either: * 2697 An existing VolumeSnapshot object 2698 (snapshot.storage.k8s.io/VolumeSnapshot - 2699 Beta) * An existing PVC 2700 (PersistentVolumeClaim) * An existing custom 2701 resource/object that implements data 2702 population (Alpha) In order to use 2703 VolumeSnapshot object types, the appropriate 2704 feature gate must be enabled 2705 (VolumeSnapshotDataSource or 2706 AnyVolumeDataSource) If the provisioner or 2707 an external controller can support the 2708 specified data source, it will create a new 2709 volume based on the contents of the 2710 specified data source. If the specified data 2711 source is not supported, the volume will not 2712 be created and the failure will be reported 2713 as an event. In the future, we plan to 2714 support more data source types and the 2715 behavior of the provisioner may change. 2716 properties: 2717 apiGroup: 2718 description: >- 2719 APIGroup is the group for the resource 2720 being referenced. If APIGroup is not 2721 specified, the specified Kind must be in 2722 the core API group. For any other 2723 third-party types, APIGroup is required. 2724 type: string 2725 kind: 2726 description: >- 2727 Kind is the type of resource being 2728 referenced 2729 type: string 2730 name: 2731 description: >- 2732 Name is the name of resource being 2733 referenced 2734 type: string 2735 required: 2736 - kind 2737 - name 2738 type: object 2739 resources: 2740 description: >- 2741 Resources represents the minimum resources 2742 the volume should have. More info: 2743 https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources 2744 properties: 2745 limits: 2746 additionalProperties: 2747 anyOf: 2748 - type: integer 2749 - type: string 2750 pattern: >- 2751 ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2752 x-kubernetes-int-or-string: true 2753 description: >- 2754 Limits describes the maximum amount of 2755 compute resources allowed. More info: 2756 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 2757 type: object 2758 requests: 2759 additionalProperties: 2760 anyOf: 2761 - type: integer 2762 - type: string 2763 pattern: >- 2764 ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2765 x-kubernetes-int-or-string: true 2766 description: >- 2767 Requests describes the minimum amount of 2768 compute resources required. If Requests 2769 is omitted for a container, it defaults 2770 to Limits if that is explicitly 2771 specified, otherwise to an 2772 implementation-defined value. More info: 2773 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 2774 type: object 2775 type: object 2776 selector: 2777 description: >- 2778 A label query over volumes to consider for 2779 binding. 2780 properties: 2781 matchExpressions: 2782 description: >- 2783 matchExpressions is a list of label 2784 selector requirements. The requirements 2785 are ANDed. 2786 items: 2787 description: >- 2788 A label selector requirement is a 2789 selector that contains values, a key, 2790 and an operator that relates the key and 2791 values. 2792 properties: 2793 key: 2794 description: >- 2795 key is the label key that the selector 2796 applies to. 2797 type: string 2798 operator: 2799 description: >- 2800 operator represents a key's relationship 2801 to a set of values. Valid operators are 2802 In, NotIn, Exists and DoesNotExist. 2803 type: string 2804 values: 2805 description: >- 2806 values is an array of string values. If 2807 the operator is In or NotIn, the values 2808 array must be non-empty. If the operator 2809 is Exists or DoesNotExist, the values 2810 array must be empty. This array is 2811 replaced during a strategic merge patch. 2812 items: 2813 type: string 2814 type: array 2815 required: 2816 - key 2817 - operator 2818 type: object 2819 type: array 2820 matchLabels: 2821 additionalProperties: 2822 type: string 2823 description: >- 2824 matchLabels is a map of {key,value} 2825 pairs. A single {key,value} in the 2826 matchLabels map is equivalent to an 2827 element of matchExpressions, whose key 2828 field is "key", the operator is "In", 2829 and the values array contains only 2830 "value". The requirements are ANDed. 2831 type: object 2832 type: object 2833 storageClassName: 2834 description: >- 2835 Name of the StorageClass required by the 2836 claim. More info: 2837 https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 2838 type: string 2839 volumeMode: 2840 description: >- 2841 volumeMode defines what type of volume is 2842 required by the claim. Value of Filesystem 2843 is implied when not included in claim spec. 2844 type: string 2845 volumeName: 2846 description: >- 2847 VolumeName is the binding reference to the 2848 PersistentVolume backing this claim. 2849 type: string 2850 type: object 2851 status: 2852 description: >- 2853 Status represents the current information/status 2854 of a persistent volume claim. Read-only. More 2855 info: 2856 https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims 2857 properties: 2858 accessModes: 2859 description: >- 2860 AccessModes contains the actual access modes 2861 the volume backing the PVC has. More info: 2862 https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 2863 items: 2864 type: string 2865 type: array 2866 capacity: 2867 additionalProperties: 2868 anyOf: 2869 - type: integer 2870 - type: string 2871 pattern: >- 2872 ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 2873 x-kubernetes-int-or-string: true 2874 description: >- 2875 Represents the actual resources of the 2876 underlying volume. 2877 type: object 2878 conditions: 2879 description: >- 2880 Current Condition of persistent volume 2881 claim. If underlying persistent volume is 2882 being resized then the Condition will be set 2883 to 'ResizeStarted'. 2884 items: 2885 description: >- 2886 PersistentVolumeClaimCondition contails 2887 details about state of pvc 2888 properties: 2889 lastProbeTime: 2890 description: Last time we probed the condition. 2891 format: date-time 2892 type: string 2893 lastTransitionTime: 2894 description: >- 2895 Last time the condition transitioned 2896 from one status to another. 2897 format: date-time 2898 type: string 2899 message: 2900 description: >- 2901 Human-readable message indicating 2902 details about last transition. 2903 type: string 2904 reason: 2905 description: >- 2906 Unique, this should be a short, machine 2907 understandable string that gives the 2908 reason for condition's last transition. 2909 If it reports "ResizeStarted" that means 2910 the underlying persistent volume is 2911 being resized. 2912 type: string 2913 status: 2914 type: string 2915 type: 2916 description: >- 2917 PersistentVolumeClaimConditionType is a 2918 valid value of 2919 PersistentVolumeClaimCondition.Type 2920 type: string 2921 required: 2922 - status 2923 - type 2924 type: object 2925 type: array 2926 phase: 2927 description: >- 2928 Phase represents the current phase of 2929 PersistentVolumeClaim. 2930 type: string 2931 type: object 2932 type: object 2933 type: object 2934 required: 2935 - global 2936 - mode 2937 - redisConfig 2938 - service 2939 type: object 2940 type: object 2941 type: object 2942 additionalPrinterColumns: 2943 - jsonPath: .spec.size 2944 description: Current master node count 2945 name: Master 2946 type: integer 2947 - jsonPath: .spec.size 2948 description: Current slave node count 2949 name: Slave 2950 type: integer 2951 - jsonPath: .metadata.creationTimestamp 2952 description: Last Deployment Time 2953 name: Last Deployment Time 2954 type: date 2955 served: true 2956 storage: true 2957 subresources: 2958 status: {} 2959 status: 2960 acceptedNames: 2961 kind: '' 2962 plural: '' 2963 conditions: [] 2964 storedVersions: []