github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/prometheus-stack/prometheus/crd.yaml (about) 1 2 --- 3 apiVersion: apiextensions.k8s.io/v1 4 kind: CustomResourceDefinition 5 metadata: 6 annotations: 7 controller-gen.kubebuilder.io/version: v0.4.1 8 creationTimestamp: null 9 name: alertmanagerconfigs.monitoring.coreos.com 10 spec: 11 group: monitoring.coreos.com 12 names: 13 categories: 14 - prometheus-operator 15 kind: AlertmanagerConfig 16 listKind: AlertmanagerConfigList 17 plural: alertmanagerconfigs 18 singular: alertmanagerconfig 19 scope: Namespaced 20 versions: 21 - name: v1alpha1 22 schema: 23 openAPIV3Schema: 24 description: AlertmanagerConfig defines a namespaced AlertmanagerConfig to 25 be aggregated across multiple namespaces configuring one Alertmanager cluster. 26 properties: 27 apiVersion: 28 description: 'APIVersion defines the versioned schema of this representation 29 of an object. Servers should convert recognized schemas to the latest 30 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 31 type: string 32 kind: 33 description: 'Kind is a string value representing the REST resource this 34 object represents. Servers may infer this from the endpoint the client 35 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 36 type: string 37 metadata: 38 type: object 39 spec: 40 description: AlertmanagerConfigSpec is a specification of the desired 41 behavior of the Alertmanager configuration. By definition, the Alertmanager 42 configuration only applies to alerts for which the `namespace` label 43 is equal to the namespace of the AlertmanagerConfig resource. 44 properties: 45 inhibitRules: 46 description: List of inhibition rules. The rules will only apply to 47 alerts matching the resource’s namespace. 48 items: 49 description: InhibitRule defines an inhibition rule that allows 50 to mute alerts when other alerts are already firing. See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule 51 properties: 52 equal: 53 description: Labels that must have an equal value in the source 54 and target alert for the inhibition to take effect. 55 items: 56 type: string 57 type: array 58 sourceMatch: 59 description: Matchers for which one or more alerts have to exist 60 for the inhibition to take effect. The operator enforces that 61 the alert matches the resource’s namespace. 62 items: 63 description: Matcher defines how to match on alert's labels. 64 properties: 65 name: 66 description: Label to match. 67 minLength: 1 68 type: string 69 regex: 70 description: Whether to match on equality (false) or regular-expression 71 (true). 72 type: boolean 73 value: 74 description: Label value to match. 75 type: string 76 required: 77 - name 78 type: object 79 type: array 80 targetMatch: 81 description: Matchers that have to be fulfilled in the alerts 82 to be muted. The operator enforces that the alert matches 83 the resource’s namespace. 84 items: 85 description: Matcher defines how to match on alert's labels. 86 properties: 87 name: 88 description: Label to match. 89 minLength: 1 90 type: string 91 regex: 92 description: Whether to match on equality (false) or regular-expression 93 (true). 94 type: boolean 95 value: 96 description: Label value to match. 97 type: string 98 required: 99 - name 100 type: object 101 type: array 102 type: object 103 type: array 104 receivers: 105 description: List of receivers. 106 items: 107 description: Receiver defines one or more notification integrations. 108 properties: 109 emailConfigs: 110 description: List of Email configurations. 111 items: 112 description: EmailConfig configures notifications via Email. 113 properties: 114 authIdentity: 115 description: The identity to use for authentication. 116 type: string 117 authPassword: 118 description: The secret's key that contains the password 119 to use for authentication. The secret needs to be in 120 the same namespace as the AlertmanagerConfig object 121 and accessible by the Prometheus Operator. 122 properties: 123 key: 124 description: The key of the secret to select from. Must 125 be a valid secret key. 126 type: string 127 name: 128 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 129 TODO: Add other useful fields. apiVersion, kind, 130 uid?' 131 type: string 132 optional: 133 description: Specify whether the Secret or its key 134 must be defined 135 type: boolean 136 required: 137 - key 138 type: object 139 authSecret: 140 description: The secret's key that contains the CRAM-MD5 141 secret. The secret needs to be in the same namespace 142 as the AlertmanagerConfig object and accessible by the 143 Prometheus Operator. 144 properties: 145 key: 146 description: The key of the secret to select from. Must 147 be a valid secret key. 148 type: string 149 name: 150 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 151 TODO: Add other useful fields. apiVersion, kind, 152 uid?' 153 type: string 154 optional: 155 description: Specify whether the Secret or its key 156 must be defined 157 type: boolean 158 required: 159 - key 160 type: object 161 authUsername: 162 description: The username to use for authentication. 163 type: string 164 from: 165 description: The sender address. 166 type: string 167 headers: 168 description: Further headers email header key/value pairs. 169 Overrides any headers previously set by the notification 170 implementation. 171 items: 172 description: KeyValue defines a (key, value) tuple. 173 properties: 174 key: 175 description: Key of the tuple. 176 minLength: 1 177 type: string 178 value: 179 description: Value of the tuple. 180 type: string 181 required: 182 - key 183 - value 184 type: object 185 type: array 186 hello: 187 description: The hostname to identify to the SMTP server. 188 type: string 189 html: 190 description: The HTML body of the email notification. 191 type: string 192 requireTLS: 193 description: The SMTP TLS requirement. Note that Go does 194 not support unencrypted connections to remote SMTP endpoints. 195 type: boolean 196 sendResolved: 197 description: Whether or not to notify about resolved alerts. 198 type: boolean 199 smarthost: 200 description: The SMTP host through which emails are sent. 201 type: string 202 text: 203 description: The text body of the email notification. 204 type: string 205 tlsConfig: 206 description: TLS configuration 207 properties: 208 ca: 209 description: Struct containing the CA cert to use 210 for the targets. 211 properties: 212 configMap: 213 description: ConfigMap containing data to use 214 for the targets. 215 properties: 216 key: 217 description: The key to select. 218 type: string 219 name: 220 description: 'Name of the referent. More info: 221 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 222 TODO: Add other useful fields. apiVersion, 223 kind, uid?' 224 type: string 225 optional: 226 description: Specify whether the ConfigMap 227 or its key must be defined 228 type: boolean 229 required: 230 - key 231 type: object 232 secret: 233 description: Secret containing data to use for 234 the targets. 235 properties: 236 key: 237 description: The key of the secret to select 238 from. Must be a valid secret key. 239 type: string 240 name: 241 description: 'Name of the referent. More info: 242 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 243 TODO: Add other useful fields. apiVersion, 244 kind, uid?' 245 type: string 246 optional: 247 description: Specify whether the Secret or 248 its key must be defined 249 type: boolean 250 required: 251 - key 252 type: object 253 type: object 254 cert: 255 description: Struct containing the client cert file 256 for the targets. 257 properties: 258 configMap: 259 description: ConfigMap containing data to use 260 for the targets. 261 properties: 262 key: 263 description: The key to select. 264 type: string 265 name: 266 description: 'Name of the referent. More info: 267 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 268 TODO: Add other useful fields. apiVersion, 269 kind, uid?' 270 type: string 271 optional: 272 description: Specify whether the ConfigMap 273 or its key must be defined 274 type: boolean 275 required: 276 - key 277 type: object 278 secret: 279 description: Secret containing data to use for 280 the targets. 281 properties: 282 key: 283 description: The key of the secret to select 284 from. Must be a valid secret key. 285 type: string 286 name: 287 description: 'Name of the referent. More info: 288 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 289 TODO: Add other useful fields. apiVersion, 290 kind, uid?' 291 type: string 292 optional: 293 description: Specify whether the Secret or 294 its key must be defined 295 type: boolean 296 required: 297 - key 298 type: object 299 type: object 300 insecureSkipVerify: 301 description: Disable target certificate validation. 302 type: boolean 303 keySecret: 304 description: Secret containing the client key file 305 for the targets. 306 properties: 307 key: 308 description: The key of the secret to select from. Must 309 be a valid secret key. 310 type: string 311 name: 312 description: 'Name of the referent. More info: 313 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 314 TODO: Add other useful fields. apiVersion, kind, 315 uid?' 316 type: string 317 optional: 318 description: Specify whether the Secret or its 319 key must be defined 320 type: boolean 321 required: 322 - key 323 type: object 324 serverName: 325 description: Used to verify the hostname for the targets. 326 type: string 327 type: object 328 to: 329 description: The email address to send notifications to. 330 type: string 331 type: object 332 type: array 333 name: 334 description: Name of the receiver. Must be unique across all 335 items from the list. 336 minLength: 1 337 type: string 338 opsgenieConfigs: 339 description: List of OpsGenie configurations. 340 items: 341 description: OpsGenieConfig configures notifications via OpsGenie. 342 See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config 343 properties: 344 apiKey: 345 description: The secret's key that contains the OpsGenie 346 API key. The secret needs to be in the same namespace 347 as the AlertmanagerConfig object and accessible by the 348 Prometheus Operator. 349 properties: 350 key: 351 description: The key of the secret to select from. Must 352 be a valid secret key. 353 type: string 354 name: 355 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 356 TODO: Add other useful fields. apiVersion, kind, 357 uid?' 358 type: string 359 optional: 360 description: Specify whether the Secret or its key 361 must be defined 362 type: boolean 363 required: 364 - key 365 type: object 366 apiURL: 367 description: The URL to send OpsGenie API requests to. 368 type: string 369 description: 370 description: Description of the incident. 371 type: string 372 details: 373 description: A set of arbitrary key/value pairs that provide 374 further detail about the incident. 375 items: 376 description: KeyValue defines a (key, value) tuple. 377 properties: 378 key: 379 description: Key of the tuple. 380 minLength: 1 381 type: string 382 value: 383 description: Value of the tuple. 384 type: string 385 required: 386 - key 387 - value 388 type: object 389 type: array 390 httpConfig: 391 description: HTTP client configuration. 392 properties: 393 basicAuth: 394 description: BasicAuth for the client. 395 properties: 396 password: 397 description: The secret in the service monitor 398 namespace that contains the password for authentication. 399 properties: 400 key: 401 description: The key of the secret to select 402 from. Must be a valid secret key. 403 type: string 404 name: 405 description: 'Name of the referent. More info: 406 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 407 TODO: Add other useful fields. apiVersion, 408 kind, uid?' 409 type: string 410 optional: 411 description: Specify whether the Secret or 412 its key must be defined 413 type: boolean 414 required: 415 - key 416 type: object 417 username: 418 description: The secret in the service monitor 419 namespace that contains the username for authentication. 420 properties: 421 key: 422 description: The key of the secret to select 423 from. Must be a valid secret key. 424 type: string 425 name: 426 description: 'Name of the referent. More info: 427 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 428 TODO: Add other useful fields. apiVersion, 429 kind, uid?' 430 type: string 431 optional: 432 description: Specify whether the Secret or 433 its key must be defined 434 type: boolean 435 required: 436 - key 437 type: object 438 type: object 439 bearerTokenSecret: 440 description: The secret's key that contains the bearer 441 token to be used by the client for authentication. 442 The secret needs to be in the same namespace as 443 the AlertmanagerConfig object and accessible by 444 the Prometheus Operator. 445 properties: 446 key: 447 description: The key of the secret to select from. Must 448 be a valid secret key. 449 type: string 450 name: 451 description: 'Name of the referent. More info: 452 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 453 TODO: Add other useful fields. apiVersion, kind, 454 uid?' 455 type: string 456 optional: 457 description: Specify whether the Secret or its 458 key must be defined 459 type: boolean 460 required: 461 - key 462 type: object 463 proxyURL: 464 description: Optional proxy URL. 465 type: string 466 tlsConfig: 467 description: TLS configuration for the client. 468 properties: 469 ca: 470 description: Struct containing the CA cert to 471 use for the targets. 472 properties: 473 configMap: 474 description: ConfigMap containing data to 475 use for the targets. 476 properties: 477 key: 478 description: The key to select. 479 type: string 480 name: 481 description: 'Name of the referent. More 482 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 483 TODO: Add other useful fields. apiVersion, 484 kind, uid?' 485 type: string 486 optional: 487 description: Specify whether the ConfigMap 488 or its key must be defined 489 type: boolean 490 required: 491 - key 492 type: object 493 secret: 494 description: Secret containing data to use 495 for the targets. 496 properties: 497 key: 498 description: The key of the secret to 499 select from. Must be a valid secret 500 key. 501 type: string 502 name: 503 description: 'Name of the referent. More 504 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 505 TODO: Add other useful fields. apiVersion, 506 kind, uid?' 507 type: string 508 optional: 509 description: Specify whether the Secret 510 or its key must be defined 511 type: boolean 512 required: 513 - key 514 type: object 515 type: object 516 cert: 517 description: Struct containing the client cert 518 file for the targets. 519 properties: 520 configMap: 521 description: ConfigMap containing data to 522 use for the targets. 523 properties: 524 key: 525 description: The key to select. 526 type: string 527 name: 528 description: 'Name of the referent. More 529 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 530 TODO: Add other useful fields. apiVersion, 531 kind, uid?' 532 type: string 533 optional: 534 description: Specify whether the ConfigMap 535 or its key must be defined 536 type: boolean 537 required: 538 - key 539 type: object 540 secret: 541 description: Secret containing data to use 542 for the targets. 543 properties: 544 key: 545 description: The key of the secret to 546 select from. Must be a valid secret 547 key. 548 type: string 549 name: 550 description: 'Name of the referent. More 551 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 552 TODO: Add other useful fields. apiVersion, 553 kind, uid?' 554 type: string 555 optional: 556 description: Specify whether the Secret 557 or its key must be defined 558 type: boolean 559 required: 560 - key 561 type: object 562 type: object 563 insecureSkipVerify: 564 description: Disable target certificate validation. 565 type: boolean 566 keySecret: 567 description: Secret containing the client key 568 file for the targets. 569 properties: 570 key: 571 description: The key of the secret to select 572 from. Must be a valid secret key. 573 type: string 574 name: 575 description: 'Name of the referent. More info: 576 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 577 TODO: Add other useful fields. apiVersion, 578 kind, uid?' 579 type: string 580 optional: 581 description: Specify whether the Secret or 582 its key must be defined 583 type: boolean 584 required: 585 - key 586 type: object 587 serverName: 588 description: Used to verify the hostname for the 589 targets. 590 type: string 591 type: object 592 type: object 593 message: 594 description: Alert text limited to 130 characters. 595 type: string 596 note: 597 description: Additional alert note. 598 type: string 599 priority: 600 description: Priority level of alert. Possible values 601 are P1, P2, P3, P4, and P5. 602 type: string 603 responders: 604 description: List of responders responsible for notifications. 605 items: 606 description: OpsGenieConfigResponder defines a responder 607 to an incident. One of `id`, `name` or `username` 608 has to be defined. 609 properties: 610 id: 611 description: ID of the responder. 612 type: string 613 name: 614 description: Name of the responder. 615 type: string 616 type: 617 description: Type of responder. 618 minLength: 1 619 type: string 620 username: 621 description: Username of the responder. 622 type: string 623 required: 624 - type 625 type: object 626 type: array 627 sendResolved: 628 description: Whether or not to notify about resolved alerts. 629 type: boolean 630 source: 631 description: Backlink to the sender of the notification. 632 type: string 633 tags: 634 description: Comma separated list of tags attached to 635 the notifications. 636 type: string 637 type: object 638 type: array 639 pagerdutyConfigs: 640 description: List of PagerDuty configurations. 641 items: 642 description: PagerDutyConfig configures notifications via 643 PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config 644 properties: 645 class: 646 description: The class/type of the event. 647 type: string 648 client: 649 description: Client identification. 650 type: string 651 clientURL: 652 description: Backlink to the sender of notification. 653 type: string 654 component: 655 description: The part or component of the affected system 656 that is broken. 657 type: string 658 description: 659 description: Description of the incident. 660 type: string 661 details: 662 description: Arbitrary key/value pairs that provide further 663 detail about the incident. 664 items: 665 description: KeyValue defines a (key, value) tuple. 666 properties: 667 key: 668 description: Key of the tuple. 669 minLength: 1 670 type: string 671 value: 672 description: Value of the tuple. 673 type: string 674 required: 675 - key 676 - value 677 type: object 678 type: array 679 group: 680 description: A cluster or grouping of sources. 681 type: string 682 httpConfig: 683 description: HTTP client configuration. 684 properties: 685 basicAuth: 686 description: BasicAuth for the client. 687 properties: 688 password: 689 description: The secret in the service monitor 690 namespace that contains the password for authentication. 691 properties: 692 key: 693 description: The key of the secret to select 694 from. Must be a valid secret key. 695 type: string 696 name: 697 description: 'Name of the referent. More info: 698 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 699 TODO: Add other useful fields. apiVersion, 700 kind, uid?' 701 type: string 702 optional: 703 description: Specify whether the Secret or 704 its key must be defined 705 type: boolean 706 required: 707 - key 708 type: object 709 username: 710 description: The secret in the service monitor 711 namespace that contains the username for authentication. 712 properties: 713 key: 714 description: The key of the secret to select 715 from. Must be a valid secret key. 716 type: string 717 name: 718 description: 'Name of the referent. More info: 719 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 720 TODO: Add other useful fields. apiVersion, 721 kind, uid?' 722 type: string 723 optional: 724 description: Specify whether the Secret or 725 its key must be defined 726 type: boolean 727 required: 728 - key 729 type: object 730 type: object 731 bearerTokenSecret: 732 description: The secret's key that contains the bearer 733 token to be used by the client for authentication. 734 The secret needs to be in the same namespace as 735 the AlertmanagerConfig object and accessible by 736 the Prometheus Operator. 737 properties: 738 key: 739 description: The key of the secret to select from. Must 740 be a valid secret key. 741 type: string 742 name: 743 description: 'Name of the referent. More info: 744 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 745 TODO: Add other useful fields. apiVersion, kind, 746 uid?' 747 type: string 748 optional: 749 description: Specify whether the Secret or its 750 key must be defined 751 type: boolean 752 required: 753 - key 754 type: object 755 proxyURL: 756 description: Optional proxy URL. 757 type: string 758 tlsConfig: 759 description: TLS configuration for the client. 760 properties: 761 ca: 762 description: Struct containing the CA cert to 763 use for the targets. 764 properties: 765 configMap: 766 description: ConfigMap containing data to 767 use for the targets. 768 properties: 769 key: 770 description: The key to select. 771 type: string 772 name: 773 description: 'Name of the referent. More 774 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 775 TODO: Add other useful fields. apiVersion, 776 kind, uid?' 777 type: string 778 optional: 779 description: Specify whether the ConfigMap 780 or its key must be defined 781 type: boolean 782 required: 783 - key 784 type: object 785 secret: 786 description: Secret containing data to use 787 for the targets. 788 properties: 789 key: 790 description: The key of the secret to 791 select from. Must be a valid secret 792 key. 793 type: string 794 name: 795 description: 'Name of the referent. More 796 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 797 TODO: Add other useful fields. apiVersion, 798 kind, uid?' 799 type: string 800 optional: 801 description: Specify whether the Secret 802 or its key must be defined 803 type: boolean 804 required: 805 - key 806 type: object 807 type: object 808 cert: 809 description: Struct containing the client cert 810 file for the targets. 811 properties: 812 configMap: 813 description: ConfigMap containing data to 814 use for the targets. 815 properties: 816 key: 817 description: The key to select. 818 type: string 819 name: 820 description: 'Name of the referent. More 821 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 822 TODO: Add other useful fields. apiVersion, 823 kind, uid?' 824 type: string 825 optional: 826 description: Specify whether the ConfigMap 827 or its key must be defined 828 type: boolean 829 required: 830 - key 831 type: object 832 secret: 833 description: Secret containing data to use 834 for the targets. 835 properties: 836 key: 837 description: The key of the secret to 838 select from. Must be a valid secret 839 key. 840 type: string 841 name: 842 description: 'Name of the referent. More 843 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 844 TODO: Add other useful fields. apiVersion, 845 kind, uid?' 846 type: string 847 optional: 848 description: Specify whether the Secret 849 or its key must be defined 850 type: boolean 851 required: 852 - key 853 type: object 854 type: object 855 insecureSkipVerify: 856 description: Disable target certificate validation. 857 type: boolean 858 keySecret: 859 description: Secret containing the client key 860 file for the targets. 861 properties: 862 key: 863 description: The key of the secret to select 864 from. Must be a valid secret key. 865 type: string 866 name: 867 description: 'Name of the referent. More info: 868 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 869 TODO: Add other useful fields. apiVersion, 870 kind, uid?' 871 type: string 872 optional: 873 description: Specify whether the Secret or 874 its key must be defined 875 type: boolean 876 required: 877 - key 878 type: object 879 serverName: 880 description: Used to verify the hostname for the 881 targets. 882 type: string 883 type: object 884 type: object 885 routingKey: 886 description: The secret's key that contains the PagerDuty 887 integration key (when using Events API v2). Either this 888 field or `serviceKey` needs to be defined. The secret 889 needs to be in the same namespace as the AlertmanagerConfig 890 object and accessible by the Prometheus Operator. 891 properties: 892 key: 893 description: The key of the secret to select from. Must 894 be a valid secret key. 895 type: string 896 name: 897 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 898 TODO: Add other useful fields. apiVersion, kind, 899 uid?' 900 type: string 901 optional: 902 description: Specify whether the Secret or its key 903 must be defined 904 type: boolean 905 required: 906 - key 907 type: object 908 sendResolved: 909 description: Whether or not to notify about resolved alerts. 910 type: boolean 911 serviceKey: 912 description: The secret's key that contains the PagerDuty 913 service key (when using integration type "Prometheus"). 914 Either this field or `routingKey` needs to be defined. 915 The secret needs to be in the same namespace as the 916 AlertmanagerConfig object and accessible by the Prometheus 917 Operator. 918 properties: 919 key: 920 description: The key of the secret to select from. Must 921 be a valid secret key. 922 type: string 923 name: 924 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 925 TODO: Add other useful fields. apiVersion, kind, 926 uid?' 927 type: string 928 optional: 929 description: Specify whether the Secret or its key 930 must be defined 931 type: boolean 932 required: 933 - key 934 type: object 935 severity: 936 description: Severity of the incident. 937 type: string 938 url: 939 description: The URL to send requests to. 940 type: string 941 type: object 942 type: array 943 pushoverConfigs: 944 description: List of Pushover configurations. 945 items: 946 description: PushoverConfig configures notifications via Pushover. 947 See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config 948 properties: 949 expire: 950 description: How long your notification will continue 951 to be retried for, unless the user acknowledges the 952 notification. 953 type: string 954 html: 955 description: Whether notification message is HTML or plain 956 text. 957 type: boolean 958 httpConfig: 959 description: HTTP client configuration. 960 properties: 961 basicAuth: 962 description: BasicAuth for the client. 963 properties: 964 password: 965 description: The secret in the service monitor 966 namespace that contains the password for authentication. 967 properties: 968 key: 969 description: The key of the secret to select 970 from. Must be a valid secret key. 971 type: string 972 name: 973 description: 'Name of the referent. More info: 974 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 975 TODO: Add other useful fields. apiVersion, 976 kind, uid?' 977 type: string 978 optional: 979 description: Specify whether the Secret or 980 its key must be defined 981 type: boolean 982 required: 983 - key 984 type: object 985 username: 986 description: The secret in the service monitor 987 namespace that contains the username for authentication. 988 properties: 989 key: 990 description: The key of the secret to select 991 from. Must be a valid secret key. 992 type: string 993 name: 994 description: 'Name of the referent. More info: 995 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 996 TODO: Add other useful fields. apiVersion, 997 kind, uid?' 998 type: string 999 optional: 1000 description: Specify whether the Secret or 1001 its key must be defined 1002 type: boolean 1003 required: 1004 - key 1005 type: object 1006 type: object 1007 bearerTokenSecret: 1008 description: The secret's key that contains the bearer 1009 token to be used by the client for authentication. 1010 The secret needs to be in the same namespace as 1011 the AlertmanagerConfig object and accessible by 1012 the Prometheus Operator. 1013 properties: 1014 key: 1015 description: The key of the secret to select from. Must 1016 be a valid secret key. 1017 type: string 1018 name: 1019 description: 'Name of the referent. More info: 1020 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1021 TODO: Add other useful fields. apiVersion, kind, 1022 uid?' 1023 type: string 1024 optional: 1025 description: Specify whether the Secret or its 1026 key must be defined 1027 type: boolean 1028 required: 1029 - key 1030 type: object 1031 proxyURL: 1032 description: Optional proxy URL. 1033 type: string 1034 tlsConfig: 1035 description: TLS configuration for the client. 1036 properties: 1037 ca: 1038 description: Struct containing the CA cert to 1039 use for the targets. 1040 properties: 1041 configMap: 1042 description: ConfigMap containing data to 1043 use for the targets. 1044 properties: 1045 key: 1046 description: The key to select. 1047 type: string 1048 name: 1049 description: 'Name of the referent. More 1050 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1051 TODO: Add other useful fields. apiVersion, 1052 kind, uid?' 1053 type: string 1054 optional: 1055 description: Specify whether the ConfigMap 1056 or its key must be defined 1057 type: boolean 1058 required: 1059 - key 1060 type: object 1061 secret: 1062 description: Secret containing data to use 1063 for the targets. 1064 properties: 1065 key: 1066 description: The key of the secret to 1067 select from. Must be a valid secret 1068 key. 1069 type: string 1070 name: 1071 description: 'Name of the referent. More 1072 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1073 TODO: Add other useful fields. apiVersion, 1074 kind, uid?' 1075 type: string 1076 optional: 1077 description: Specify whether the Secret 1078 or its key must be defined 1079 type: boolean 1080 required: 1081 - key 1082 type: object 1083 type: object 1084 cert: 1085 description: Struct containing the client cert 1086 file for the targets. 1087 properties: 1088 configMap: 1089 description: ConfigMap containing data to 1090 use for the targets. 1091 properties: 1092 key: 1093 description: The key to select. 1094 type: string 1095 name: 1096 description: 'Name of the referent. More 1097 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1098 TODO: Add other useful fields. apiVersion, 1099 kind, uid?' 1100 type: string 1101 optional: 1102 description: Specify whether the ConfigMap 1103 or its key must be defined 1104 type: boolean 1105 required: 1106 - key 1107 type: object 1108 secret: 1109 description: Secret containing data to use 1110 for the targets. 1111 properties: 1112 key: 1113 description: The key of the secret to 1114 select from. Must be a valid secret 1115 key. 1116 type: string 1117 name: 1118 description: 'Name of the referent. More 1119 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1120 TODO: Add other useful fields. apiVersion, 1121 kind, uid?' 1122 type: string 1123 optional: 1124 description: Specify whether the Secret 1125 or its key must be defined 1126 type: boolean 1127 required: 1128 - key 1129 type: object 1130 type: object 1131 insecureSkipVerify: 1132 description: Disable target certificate validation. 1133 type: boolean 1134 keySecret: 1135 description: Secret containing the client key 1136 file for the targets. 1137 properties: 1138 key: 1139 description: The key of the secret to select 1140 from. Must be a valid secret key. 1141 type: string 1142 name: 1143 description: 'Name of the referent. More info: 1144 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1145 TODO: Add other useful fields. apiVersion, 1146 kind, uid?' 1147 type: string 1148 optional: 1149 description: Specify whether the Secret or 1150 its key must be defined 1151 type: boolean 1152 required: 1153 - key 1154 type: object 1155 serverName: 1156 description: Used to verify the hostname for the 1157 targets. 1158 type: string 1159 type: object 1160 type: object 1161 message: 1162 description: Notification message. 1163 type: string 1164 priority: 1165 description: Priority, see https://pushover.net/api#priority 1166 type: string 1167 retry: 1168 description: How often the Pushover servers will send 1169 the same notification to the user. Must be at least 1170 30 seconds. 1171 type: string 1172 sendResolved: 1173 description: Whether or not to notify about resolved alerts. 1174 type: boolean 1175 sound: 1176 description: The name of one of the sounds supported by 1177 device clients to override the user's default sound 1178 choice 1179 type: string 1180 title: 1181 description: Notification title. 1182 type: string 1183 token: 1184 description: The secret's key that contains the registered 1185 application’s API token, see https://pushover.net/apps. 1186 The secret needs to be in the same namespace as the 1187 AlertmanagerConfig object and accessible by the Prometheus 1188 Operator. 1189 properties: 1190 key: 1191 description: The key of the secret to select from. Must 1192 be a valid secret key. 1193 type: string 1194 name: 1195 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1196 TODO: Add other useful fields. apiVersion, kind, 1197 uid?' 1198 type: string 1199 optional: 1200 description: Specify whether the Secret or its key 1201 must be defined 1202 type: boolean 1203 required: 1204 - key 1205 type: object 1206 url: 1207 description: A supplementary URL shown alongside the message. 1208 type: string 1209 urlTitle: 1210 description: A title for supplementary URL, otherwise 1211 just the URL is shown 1212 type: string 1213 userKey: 1214 description: The secret's key that contains the recipient 1215 user’s user key. The secret needs to be in the same 1216 namespace as the AlertmanagerConfig object and accessible 1217 by the Prometheus Operator. 1218 properties: 1219 key: 1220 description: The key of the secret to select from. Must 1221 be a valid secret key. 1222 type: string 1223 name: 1224 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1225 TODO: Add other useful fields. apiVersion, kind, 1226 uid?' 1227 type: string 1228 optional: 1229 description: Specify whether the Secret or its key 1230 must be defined 1231 type: boolean 1232 required: 1233 - key 1234 type: object 1235 type: object 1236 type: array 1237 slackConfigs: 1238 description: List of Slack configurations. 1239 items: 1240 description: SlackConfig configures notifications via Slack. 1241 See https://prometheus.io/docs/alerting/latest/configuration/#slack_config 1242 properties: 1243 actions: 1244 description: A list of Slack actions that are sent with 1245 each notification. 1246 items: 1247 description: SlackAction configures a single Slack action 1248 that is sent with each notification. See https://api.slack.com/docs/message-attachments#action_fields 1249 and https://api.slack.com/docs/message-buttons for 1250 more information. 1251 properties: 1252 confirm: 1253 description: SlackConfirmationField protect users 1254 from destructive actions or particularly distinguished 1255 decisions by asking them to confirm their button 1256 click one more time. See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields 1257 for more information. 1258 properties: 1259 dismissText: 1260 type: string 1261 okText: 1262 type: string 1263 text: 1264 minLength: 1 1265 type: string 1266 title: 1267 type: string 1268 required: 1269 - text 1270 type: object 1271 name: 1272 type: string 1273 style: 1274 type: string 1275 text: 1276 minLength: 1 1277 type: string 1278 type: 1279 minLength: 1 1280 type: string 1281 url: 1282 type: string 1283 value: 1284 type: string 1285 required: 1286 - text 1287 - type 1288 type: object 1289 type: array 1290 apiURL: 1291 description: The secret's key that contains the Slack 1292 webhook URL. The secret needs to be in the same namespace 1293 as the AlertmanagerConfig object and accessible by the 1294 Prometheus Operator. 1295 properties: 1296 key: 1297 description: The key of the secret to select from. Must 1298 be a valid secret key. 1299 type: string 1300 name: 1301 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1302 TODO: Add other useful fields. apiVersion, kind, 1303 uid?' 1304 type: string 1305 optional: 1306 description: Specify whether the Secret or its key 1307 must be defined 1308 type: boolean 1309 required: 1310 - key 1311 type: object 1312 callbackId: 1313 type: string 1314 channel: 1315 description: The channel or user to send notifications 1316 to. 1317 type: string 1318 color: 1319 type: string 1320 fallback: 1321 type: string 1322 fields: 1323 description: A list of Slack fields that are sent with 1324 each notification. 1325 items: 1326 description: SlackField configures a single Slack field 1327 that is sent with each notification. Each field must 1328 contain a title, value, and optionally, a boolean 1329 value to indicate if the field is short enough to 1330 be displayed next to other fields designated as short. 1331 See https://api.slack.com/docs/message-attachments#fields 1332 for more information. 1333 properties: 1334 short: 1335 type: boolean 1336 title: 1337 minLength: 1 1338 type: string 1339 value: 1340 minLength: 1 1341 type: string 1342 required: 1343 - title 1344 - value 1345 type: object 1346 type: array 1347 footer: 1348 type: string 1349 httpConfig: 1350 description: HTTP client configuration. 1351 properties: 1352 basicAuth: 1353 description: BasicAuth for the client. 1354 properties: 1355 password: 1356 description: The secret in the service monitor 1357 namespace that contains the password for authentication. 1358 properties: 1359 key: 1360 description: The key of the secret to select 1361 from. Must be a valid secret key. 1362 type: string 1363 name: 1364 description: 'Name of the referent. More info: 1365 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1366 TODO: Add other useful fields. apiVersion, 1367 kind, uid?' 1368 type: string 1369 optional: 1370 description: Specify whether the Secret or 1371 its key must be defined 1372 type: boolean 1373 required: 1374 - key 1375 type: object 1376 username: 1377 description: The secret in the service monitor 1378 namespace that contains the username for authentication. 1379 properties: 1380 key: 1381 description: The key of the secret to select 1382 from. Must be a valid secret key. 1383 type: string 1384 name: 1385 description: 'Name of the referent. More info: 1386 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1387 TODO: Add other useful fields. apiVersion, 1388 kind, uid?' 1389 type: string 1390 optional: 1391 description: Specify whether the Secret or 1392 its key must be defined 1393 type: boolean 1394 required: 1395 - key 1396 type: object 1397 type: object 1398 bearerTokenSecret: 1399 description: The secret's key that contains the bearer 1400 token to be used by the client for authentication. 1401 The secret needs to be in the same namespace as 1402 the AlertmanagerConfig object and accessible by 1403 the Prometheus Operator. 1404 properties: 1405 key: 1406 description: The key of the secret to select from. Must 1407 be a valid secret key. 1408 type: string 1409 name: 1410 description: 'Name of the referent. More info: 1411 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1412 TODO: Add other useful fields. apiVersion, kind, 1413 uid?' 1414 type: string 1415 optional: 1416 description: Specify whether the Secret or its 1417 key must be defined 1418 type: boolean 1419 required: 1420 - key 1421 type: object 1422 proxyURL: 1423 description: Optional proxy URL. 1424 type: string 1425 tlsConfig: 1426 description: TLS configuration for the client. 1427 properties: 1428 ca: 1429 description: Struct containing the CA cert to 1430 use for the targets. 1431 properties: 1432 configMap: 1433 description: ConfigMap containing data to 1434 use for the targets. 1435 properties: 1436 key: 1437 description: The key to select. 1438 type: string 1439 name: 1440 description: 'Name of the referent. More 1441 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1442 TODO: Add other useful fields. apiVersion, 1443 kind, uid?' 1444 type: string 1445 optional: 1446 description: Specify whether the ConfigMap 1447 or its key must be defined 1448 type: boolean 1449 required: 1450 - key 1451 type: object 1452 secret: 1453 description: Secret containing data to use 1454 for the targets. 1455 properties: 1456 key: 1457 description: The key of the secret to 1458 select from. Must be a valid secret 1459 key. 1460 type: string 1461 name: 1462 description: 'Name of the referent. More 1463 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1464 TODO: Add other useful fields. apiVersion, 1465 kind, uid?' 1466 type: string 1467 optional: 1468 description: Specify whether the Secret 1469 or its key must be defined 1470 type: boolean 1471 required: 1472 - key 1473 type: object 1474 type: object 1475 cert: 1476 description: Struct containing the client cert 1477 file for the targets. 1478 properties: 1479 configMap: 1480 description: ConfigMap containing data to 1481 use for the targets. 1482 properties: 1483 key: 1484 description: The key to select. 1485 type: string 1486 name: 1487 description: 'Name of the referent. More 1488 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1489 TODO: Add other useful fields. apiVersion, 1490 kind, uid?' 1491 type: string 1492 optional: 1493 description: Specify whether the ConfigMap 1494 or its key must be defined 1495 type: boolean 1496 required: 1497 - key 1498 type: object 1499 secret: 1500 description: Secret containing data to use 1501 for the targets. 1502 properties: 1503 key: 1504 description: The key of the secret to 1505 select from. Must be a valid secret 1506 key. 1507 type: string 1508 name: 1509 description: 'Name of the referent. More 1510 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1511 TODO: Add other useful fields. apiVersion, 1512 kind, uid?' 1513 type: string 1514 optional: 1515 description: Specify whether the Secret 1516 or its key must be defined 1517 type: boolean 1518 required: 1519 - key 1520 type: object 1521 type: object 1522 insecureSkipVerify: 1523 description: Disable target certificate validation. 1524 type: boolean 1525 keySecret: 1526 description: Secret containing the client key 1527 file for the targets. 1528 properties: 1529 key: 1530 description: The key of the secret to select 1531 from. Must be a valid secret key. 1532 type: string 1533 name: 1534 description: 'Name of the referent. More info: 1535 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1536 TODO: Add other useful fields. apiVersion, 1537 kind, uid?' 1538 type: string 1539 optional: 1540 description: Specify whether the Secret or 1541 its key must be defined 1542 type: boolean 1543 required: 1544 - key 1545 type: object 1546 serverName: 1547 description: Used to verify the hostname for the 1548 targets. 1549 type: string 1550 type: object 1551 type: object 1552 iconEmoji: 1553 type: string 1554 iconURL: 1555 type: string 1556 imageURL: 1557 type: string 1558 linkNames: 1559 type: boolean 1560 mrkdwnIn: 1561 items: 1562 type: string 1563 type: array 1564 pretext: 1565 type: string 1566 sendResolved: 1567 description: Whether or not to notify about resolved alerts. 1568 type: boolean 1569 shortFields: 1570 type: boolean 1571 text: 1572 type: string 1573 thumbURL: 1574 type: string 1575 title: 1576 type: string 1577 titleLink: 1578 type: string 1579 username: 1580 type: string 1581 type: object 1582 type: array 1583 victoropsConfigs: 1584 description: List of VictorOps configurations. 1585 items: 1586 description: VictorOpsConfig configures notifications via 1587 VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config 1588 properties: 1589 apiKey: 1590 description: The secret's key that contains the API key 1591 to use when talking to the VictorOps API. The secret 1592 needs to be in the same namespace as the AlertmanagerConfig 1593 object and accessible by the Prometheus Operator. 1594 properties: 1595 key: 1596 description: The key of the secret to select from. Must 1597 be a valid secret key. 1598 type: string 1599 name: 1600 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1601 TODO: Add other useful fields. apiVersion, kind, 1602 uid?' 1603 type: string 1604 optional: 1605 description: Specify whether the Secret or its key 1606 must be defined 1607 type: boolean 1608 required: 1609 - key 1610 type: object 1611 apiUrl: 1612 description: The VictorOps API URL. 1613 type: string 1614 customFields: 1615 description: Additional custom fields for notification. 1616 items: 1617 description: KeyValue defines a (key, value) tuple. 1618 properties: 1619 key: 1620 description: Key of the tuple. 1621 minLength: 1 1622 type: string 1623 value: 1624 description: Value of the tuple. 1625 type: string 1626 required: 1627 - key 1628 - value 1629 type: object 1630 type: array 1631 entityDisplayName: 1632 description: Contains summary of the alerted problem. 1633 type: string 1634 httpConfig: 1635 description: The HTTP client's configuration. 1636 properties: 1637 basicAuth: 1638 description: BasicAuth for the client. 1639 properties: 1640 password: 1641 description: The secret in the service monitor 1642 namespace that contains the password for authentication. 1643 properties: 1644 key: 1645 description: The key of the secret to select 1646 from. Must be a valid secret key. 1647 type: string 1648 name: 1649 description: 'Name of the referent. More info: 1650 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1651 TODO: Add other useful fields. apiVersion, 1652 kind, uid?' 1653 type: string 1654 optional: 1655 description: Specify whether the Secret or 1656 its key must be defined 1657 type: boolean 1658 required: 1659 - key 1660 type: object 1661 username: 1662 description: The secret in the service monitor 1663 namespace that contains the username for authentication. 1664 properties: 1665 key: 1666 description: The key of the secret to select 1667 from. Must be a valid secret key. 1668 type: string 1669 name: 1670 description: 'Name of the referent. More info: 1671 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1672 TODO: Add other useful fields. apiVersion, 1673 kind, uid?' 1674 type: string 1675 optional: 1676 description: Specify whether the Secret or 1677 its key must be defined 1678 type: boolean 1679 required: 1680 - key 1681 type: object 1682 type: object 1683 bearerTokenSecret: 1684 description: The secret's key that contains the bearer 1685 token to be used by the client for authentication. 1686 The secret needs to be in the same namespace as 1687 the AlertmanagerConfig object and accessible by 1688 the Prometheus Operator. 1689 properties: 1690 key: 1691 description: The key of the secret to select from. Must 1692 be a valid secret key. 1693 type: string 1694 name: 1695 description: 'Name of the referent. More info: 1696 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1697 TODO: Add other useful fields. apiVersion, kind, 1698 uid?' 1699 type: string 1700 optional: 1701 description: Specify whether the Secret or its 1702 key must be defined 1703 type: boolean 1704 required: 1705 - key 1706 type: object 1707 proxyURL: 1708 description: Optional proxy URL. 1709 type: string 1710 tlsConfig: 1711 description: TLS configuration for the client. 1712 properties: 1713 ca: 1714 description: Struct containing the CA cert to 1715 use for the targets. 1716 properties: 1717 configMap: 1718 description: ConfigMap containing data to 1719 use for the targets. 1720 properties: 1721 key: 1722 description: The key to select. 1723 type: string 1724 name: 1725 description: 'Name of the referent. More 1726 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1727 TODO: Add other useful fields. apiVersion, 1728 kind, uid?' 1729 type: string 1730 optional: 1731 description: Specify whether the ConfigMap 1732 or its key must be defined 1733 type: boolean 1734 required: 1735 - key 1736 type: object 1737 secret: 1738 description: Secret containing data to use 1739 for the targets. 1740 properties: 1741 key: 1742 description: The key of the secret to 1743 select from. Must be a valid secret 1744 key. 1745 type: string 1746 name: 1747 description: 'Name of the referent. More 1748 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1749 TODO: Add other useful fields. apiVersion, 1750 kind, uid?' 1751 type: string 1752 optional: 1753 description: Specify whether the Secret 1754 or its key must be defined 1755 type: boolean 1756 required: 1757 - key 1758 type: object 1759 type: object 1760 cert: 1761 description: Struct containing the client cert 1762 file for the targets. 1763 properties: 1764 configMap: 1765 description: ConfigMap containing data to 1766 use for the targets. 1767 properties: 1768 key: 1769 description: The key to select. 1770 type: string 1771 name: 1772 description: 'Name of the referent. More 1773 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1774 TODO: Add other useful fields. apiVersion, 1775 kind, uid?' 1776 type: string 1777 optional: 1778 description: Specify whether the ConfigMap 1779 or its key must be defined 1780 type: boolean 1781 required: 1782 - key 1783 type: object 1784 secret: 1785 description: Secret containing data to use 1786 for the targets. 1787 properties: 1788 key: 1789 description: The key of the secret to 1790 select from. Must be a valid secret 1791 key. 1792 type: string 1793 name: 1794 description: 'Name of the referent. More 1795 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1796 TODO: Add other useful fields. apiVersion, 1797 kind, uid?' 1798 type: string 1799 optional: 1800 description: Specify whether the Secret 1801 or its key must be defined 1802 type: boolean 1803 required: 1804 - key 1805 type: object 1806 type: object 1807 insecureSkipVerify: 1808 description: Disable target certificate validation. 1809 type: boolean 1810 keySecret: 1811 description: Secret containing the client key 1812 file for the targets. 1813 properties: 1814 key: 1815 description: The key of the secret to select 1816 from. Must be a valid secret key. 1817 type: string 1818 name: 1819 description: 'Name of the referent. More info: 1820 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1821 TODO: Add other useful fields. apiVersion, 1822 kind, uid?' 1823 type: string 1824 optional: 1825 description: Specify whether the Secret or 1826 its key must be defined 1827 type: boolean 1828 required: 1829 - key 1830 type: object 1831 serverName: 1832 description: Used to verify the hostname for the 1833 targets. 1834 type: string 1835 type: object 1836 type: object 1837 messageType: 1838 description: Describes the behavior of the alert (CRITICAL, 1839 WARNING, INFO). 1840 type: string 1841 monitoringTool: 1842 description: The monitoring tool the state message is 1843 from. 1844 type: string 1845 routingKey: 1846 description: A key used to map the alert to a team. 1847 type: string 1848 sendResolved: 1849 description: Whether or not to notify about resolved alerts. 1850 type: boolean 1851 stateMessage: 1852 description: Contains long explanation of the alerted 1853 problem. 1854 type: string 1855 type: object 1856 type: array 1857 webhookConfigs: 1858 description: List of webhook configurations. 1859 items: 1860 description: WebhookConfig configures notifications via a 1861 generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config 1862 properties: 1863 httpConfig: 1864 description: HTTP client configuration. 1865 properties: 1866 basicAuth: 1867 description: BasicAuth for the client. 1868 properties: 1869 password: 1870 description: The secret in the service monitor 1871 namespace that contains the password for authentication. 1872 properties: 1873 key: 1874 description: The key of the secret to select 1875 from. Must be a valid secret key. 1876 type: string 1877 name: 1878 description: 'Name of the referent. More info: 1879 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1880 TODO: Add other useful fields. apiVersion, 1881 kind, uid?' 1882 type: string 1883 optional: 1884 description: Specify whether the Secret or 1885 its key must be defined 1886 type: boolean 1887 required: 1888 - key 1889 type: object 1890 username: 1891 description: The secret in the service monitor 1892 namespace that contains the username for authentication. 1893 properties: 1894 key: 1895 description: The key of the secret to select 1896 from. Must be a valid secret key. 1897 type: string 1898 name: 1899 description: 'Name of the referent. More info: 1900 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1901 TODO: Add other useful fields. apiVersion, 1902 kind, uid?' 1903 type: string 1904 optional: 1905 description: Specify whether the Secret or 1906 its key must be defined 1907 type: boolean 1908 required: 1909 - key 1910 type: object 1911 type: object 1912 bearerTokenSecret: 1913 description: The secret's key that contains the bearer 1914 token to be used by the client for authentication. 1915 The secret needs to be in the same namespace as 1916 the AlertmanagerConfig object and accessible by 1917 the Prometheus Operator. 1918 properties: 1919 key: 1920 description: The key of the secret to select from. Must 1921 be a valid secret key. 1922 type: string 1923 name: 1924 description: 'Name of the referent. More info: 1925 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1926 TODO: Add other useful fields. apiVersion, kind, 1927 uid?' 1928 type: string 1929 optional: 1930 description: Specify whether the Secret or its 1931 key must be defined 1932 type: boolean 1933 required: 1934 - key 1935 type: object 1936 proxyURL: 1937 description: Optional proxy URL. 1938 type: string 1939 tlsConfig: 1940 description: TLS configuration for the client. 1941 properties: 1942 ca: 1943 description: Struct containing the CA cert to 1944 use for the targets. 1945 properties: 1946 configMap: 1947 description: ConfigMap containing data to 1948 use for the targets. 1949 properties: 1950 key: 1951 description: The key to select. 1952 type: string 1953 name: 1954 description: 'Name of the referent. More 1955 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1956 TODO: Add other useful fields. apiVersion, 1957 kind, uid?' 1958 type: string 1959 optional: 1960 description: Specify whether the ConfigMap 1961 or its key must be defined 1962 type: boolean 1963 required: 1964 - key 1965 type: object 1966 secret: 1967 description: Secret containing data to use 1968 for the targets. 1969 properties: 1970 key: 1971 description: The key of the secret to 1972 select from. Must be a valid secret 1973 key. 1974 type: string 1975 name: 1976 description: 'Name of the referent. More 1977 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 1978 TODO: Add other useful fields. apiVersion, 1979 kind, uid?' 1980 type: string 1981 optional: 1982 description: Specify whether the Secret 1983 or its key must be defined 1984 type: boolean 1985 required: 1986 - key 1987 type: object 1988 type: object 1989 cert: 1990 description: Struct containing the client cert 1991 file for the targets. 1992 properties: 1993 configMap: 1994 description: ConfigMap containing data to 1995 use for the targets. 1996 properties: 1997 key: 1998 description: The key to select. 1999 type: string 2000 name: 2001 description: 'Name of the referent. More 2002 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2003 TODO: Add other useful fields. apiVersion, 2004 kind, uid?' 2005 type: string 2006 optional: 2007 description: Specify whether the ConfigMap 2008 or its key must be defined 2009 type: boolean 2010 required: 2011 - key 2012 type: object 2013 secret: 2014 description: Secret containing data to use 2015 for the targets. 2016 properties: 2017 key: 2018 description: The key of the secret to 2019 select from. Must be a valid secret 2020 key. 2021 type: string 2022 name: 2023 description: 'Name of the referent. More 2024 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2025 TODO: Add other useful fields. apiVersion, 2026 kind, uid?' 2027 type: string 2028 optional: 2029 description: Specify whether the Secret 2030 or its key must be defined 2031 type: boolean 2032 required: 2033 - key 2034 type: object 2035 type: object 2036 insecureSkipVerify: 2037 description: Disable target certificate validation. 2038 type: boolean 2039 keySecret: 2040 description: Secret containing the client key 2041 file for the targets. 2042 properties: 2043 key: 2044 description: The key of the secret to select 2045 from. Must be a valid secret key. 2046 type: string 2047 name: 2048 description: 'Name of the referent. More info: 2049 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2050 TODO: Add other useful fields. apiVersion, 2051 kind, uid?' 2052 type: string 2053 optional: 2054 description: Specify whether the Secret or 2055 its key must be defined 2056 type: boolean 2057 required: 2058 - key 2059 type: object 2060 serverName: 2061 description: Used to verify the hostname for the 2062 targets. 2063 type: string 2064 type: object 2065 type: object 2066 maxAlerts: 2067 description: Maximum number of alerts to be sent per webhook 2068 message. When 0, all alerts are included. 2069 format: int32 2070 minimum: 0 2071 type: integer 2072 sendResolved: 2073 description: Whether or not to notify about resolved alerts. 2074 type: boolean 2075 url: 2076 description: The URL to send HTTP POST requests to. `urlSecret` 2077 takes precedence over `url`. One of `urlSecret` and 2078 `url` should be defined. 2079 type: string 2080 urlSecret: 2081 description: The secret's key that contains the webhook 2082 URL to send HTTP requests to. `urlSecret` takes precedence 2083 over `url`. One of `urlSecret` and `url` should be defined. 2084 The secret needs to be in the same namespace as the 2085 AlertmanagerConfig object and accessible by the Prometheus 2086 Operator. 2087 properties: 2088 key: 2089 description: The key of the secret to select from. Must 2090 be a valid secret key. 2091 type: string 2092 name: 2093 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2094 TODO: Add other useful fields. apiVersion, kind, 2095 uid?' 2096 type: string 2097 optional: 2098 description: Specify whether the Secret or its key 2099 must be defined 2100 type: boolean 2101 required: 2102 - key 2103 type: object 2104 type: object 2105 type: array 2106 wechatConfigs: 2107 description: List of WeChat configurations. 2108 items: 2109 description: WeChatConfig configures notifications via WeChat. 2110 See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config 2111 properties: 2112 agentID: 2113 type: string 2114 apiSecret: 2115 description: The secret's key that contains the WeChat 2116 API key. The secret needs to be in the same namespace 2117 as the AlertmanagerConfig object and accessible by the 2118 Prometheus Operator. 2119 properties: 2120 key: 2121 description: The key of the secret to select from. Must 2122 be a valid secret key. 2123 type: string 2124 name: 2125 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2126 TODO: Add other useful fields. apiVersion, kind, 2127 uid?' 2128 type: string 2129 optional: 2130 description: Specify whether the Secret or its key 2131 must be defined 2132 type: boolean 2133 required: 2134 - key 2135 type: object 2136 apiURL: 2137 description: The WeChat API URL. 2138 type: string 2139 corpID: 2140 description: The corp id for authentication. 2141 type: string 2142 httpConfig: 2143 description: HTTP client configuration. 2144 properties: 2145 basicAuth: 2146 description: BasicAuth for the client. 2147 properties: 2148 password: 2149 description: The secret in the service monitor 2150 namespace that contains the password for authentication. 2151 properties: 2152 key: 2153 description: The key of the secret to select 2154 from. Must be a valid secret key. 2155 type: string 2156 name: 2157 description: 'Name of the referent. More info: 2158 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2159 TODO: Add other useful fields. apiVersion, 2160 kind, uid?' 2161 type: string 2162 optional: 2163 description: Specify whether the Secret or 2164 its key must be defined 2165 type: boolean 2166 required: 2167 - key 2168 type: object 2169 username: 2170 description: The secret in the service monitor 2171 namespace that contains the username for authentication. 2172 properties: 2173 key: 2174 description: The key of the secret to select 2175 from. Must be a valid secret key. 2176 type: string 2177 name: 2178 description: 'Name of the referent. More info: 2179 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2180 TODO: Add other useful fields. apiVersion, 2181 kind, uid?' 2182 type: string 2183 optional: 2184 description: Specify whether the Secret or 2185 its key must be defined 2186 type: boolean 2187 required: 2188 - key 2189 type: object 2190 type: object 2191 bearerTokenSecret: 2192 description: The secret's key that contains the bearer 2193 token to be used by the client for authentication. 2194 The secret needs to be in the same namespace as 2195 the AlertmanagerConfig object and accessible by 2196 the Prometheus Operator. 2197 properties: 2198 key: 2199 description: The key of the secret to select from. Must 2200 be a valid secret key. 2201 type: string 2202 name: 2203 description: 'Name of the referent. More info: 2204 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2205 TODO: Add other useful fields. apiVersion, kind, 2206 uid?' 2207 type: string 2208 optional: 2209 description: Specify whether the Secret or its 2210 key must be defined 2211 type: boolean 2212 required: 2213 - key 2214 type: object 2215 proxyURL: 2216 description: Optional proxy URL. 2217 type: string 2218 tlsConfig: 2219 description: TLS configuration for the client. 2220 properties: 2221 ca: 2222 description: Struct containing the CA cert to 2223 use for the targets. 2224 properties: 2225 configMap: 2226 description: ConfigMap containing data to 2227 use for the targets. 2228 properties: 2229 key: 2230 description: The key to select. 2231 type: string 2232 name: 2233 description: 'Name of the referent. More 2234 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2235 TODO: Add other useful fields. apiVersion, 2236 kind, uid?' 2237 type: string 2238 optional: 2239 description: Specify whether the ConfigMap 2240 or its key must be defined 2241 type: boolean 2242 required: 2243 - key 2244 type: object 2245 secret: 2246 description: Secret containing data to use 2247 for the targets. 2248 properties: 2249 key: 2250 description: The key of the secret to 2251 select from. Must be a valid secret 2252 key. 2253 type: string 2254 name: 2255 description: 'Name of the referent. More 2256 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2257 TODO: Add other useful fields. apiVersion, 2258 kind, uid?' 2259 type: string 2260 optional: 2261 description: Specify whether the Secret 2262 or its key must be defined 2263 type: boolean 2264 required: 2265 - key 2266 type: object 2267 type: object 2268 cert: 2269 description: Struct containing the client cert 2270 file for the targets. 2271 properties: 2272 configMap: 2273 description: ConfigMap containing data to 2274 use for the targets. 2275 properties: 2276 key: 2277 description: The key to select. 2278 type: string 2279 name: 2280 description: 'Name of the referent. More 2281 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2282 TODO: Add other useful fields. apiVersion, 2283 kind, uid?' 2284 type: string 2285 optional: 2286 description: Specify whether the ConfigMap 2287 or its key must be defined 2288 type: boolean 2289 required: 2290 - key 2291 type: object 2292 secret: 2293 description: Secret containing data to use 2294 for the targets. 2295 properties: 2296 key: 2297 description: The key of the secret to 2298 select from. Must be a valid secret 2299 key. 2300 type: string 2301 name: 2302 description: 'Name of the referent. More 2303 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2304 TODO: Add other useful fields. apiVersion, 2305 kind, uid?' 2306 type: string 2307 optional: 2308 description: Specify whether the Secret 2309 or its key must be defined 2310 type: boolean 2311 required: 2312 - key 2313 type: object 2314 type: object 2315 insecureSkipVerify: 2316 description: Disable target certificate validation. 2317 type: boolean 2318 keySecret: 2319 description: Secret containing the client key 2320 file for the targets. 2321 properties: 2322 key: 2323 description: The key of the secret to select 2324 from. Must be a valid secret key. 2325 type: string 2326 name: 2327 description: 'Name of the referent. More info: 2328 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 2329 TODO: Add other useful fields. apiVersion, 2330 kind, uid?' 2331 type: string 2332 optional: 2333 description: Specify whether the Secret or 2334 its key must be defined 2335 type: boolean 2336 required: 2337 - key 2338 type: object 2339 serverName: 2340 description: Used to verify the hostname for the 2341 targets. 2342 type: string 2343 type: object 2344 type: object 2345 message: 2346 description: API request data as defined by the WeChat 2347 API. 2348 type: string 2349 messageType: 2350 type: string 2351 sendResolved: 2352 description: Whether or not to notify about resolved alerts. 2353 type: boolean 2354 toParty: 2355 type: string 2356 toTag: 2357 type: string 2358 toUser: 2359 type: string 2360 type: object 2361 type: array 2362 required: 2363 - name 2364 type: object 2365 type: array 2366 route: 2367 description: The Alertmanager route definition for alerts matching 2368 the resource’s namespace. If present, it will be added to the generated 2369 Alertmanager configuration as a first-level route. 2370 properties: 2371 continue: 2372 description: Boolean indicating whether an alert should continue 2373 matching subsequent sibling nodes. It will always be overridden 2374 to true for the first-level route by the Prometheus operator. 2375 type: boolean 2376 groupBy: 2377 description: List of labels to group by. 2378 items: 2379 type: string 2380 type: array 2381 groupInterval: 2382 description: How long to wait before sending an updated notification. 2383 Must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds 2384 seconds minutes hours). 2385 type: string 2386 groupWait: 2387 description: How long to wait before sending the initial notification. 2388 Must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds 2389 seconds minutes hours). 2390 type: string 2391 matchers: 2392 description: 'List of matchers that the alert’s labels should 2393 match. For the first level route, the operator removes any existing 2394 equality and regexp matcher on the `namespace` label and adds 2395 a `namespace: <object namespace>` matcher.' 2396 items: 2397 description: Matcher defines how to match on alert's labels. 2398 properties: 2399 name: 2400 description: Label to match. 2401 minLength: 1 2402 type: string 2403 regex: 2404 description: Whether to match on equality (false) or regular-expression 2405 (true). 2406 type: boolean 2407 value: 2408 description: Label value to match. 2409 type: string 2410 required: 2411 - name 2412 type: object 2413 type: array 2414 receiver: 2415 description: Name of the receiver for this route. If not empty, 2416 it should be listed in the `receivers` field. 2417 type: string 2418 repeatInterval: 2419 description: How long to wait before repeating the last notification. 2420 Must match the regular expression `[0-9]+(ms|s|m|h)` (milliseconds 2421 seconds minutes hours). 2422 type: string 2423 routes: 2424 description: Child routes. 2425 items: 2426 x-kubernetes-preserve-unknown-fields: true 2427 type: array 2428 type: object 2429 type: object 2430 required: 2431 - spec 2432 type: object 2433 served: true 2434 storage: true 2435 status: 2436 acceptedNames: 2437 kind: "" 2438 plural: "" 2439 conditions: [] 2440 storedVersions: [] 2441 2442 --- 2443 apiVersion: apiextensions.k8s.io/v1 2444 kind: CustomResourceDefinition 2445 metadata: 2446 annotations: 2447 controller-gen.kubebuilder.io/version: v0.4.1 2448 creationTimestamp: null 2449 name: alertmanagers.monitoring.coreos.com 2450 spec: 2451 group: monitoring.coreos.com 2452 names: 2453 categories: 2454 - prometheus-operator 2455 kind: Alertmanager 2456 listKind: AlertmanagerList 2457 plural: alertmanagers 2458 singular: alertmanager 2459 scope: Namespaced 2460 versions: 2461 - additionalPrinterColumns: 2462 - description: The version of Alertmanager 2463 jsonPath: .spec.version 2464 name: Version 2465 type: string 2466 - description: The desired replicas number of Alertmanagers 2467 jsonPath: .spec.replicas 2468 name: Replicas 2469 type: integer 2470 - jsonPath: .metadata.creationTimestamp 2471 name: Age 2472 type: date 2473 name: v1 2474 schema: 2475 openAPIV3Schema: 2476 description: Alertmanager describes an Alertmanager cluster. 2477 properties: 2478 apiVersion: 2479 description: 'APIVersion defines the versioned schema of this representation 2480 of an object. Servers should convert recognized schemas to the latest 2481 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 2482 type: string 2483 kind: 2484 description: 'Kind is a string value representing the REST resource this 2485 object represents. Servers may infer this from the endpoint the client 2486 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 2487 type: string 2488 metadata: 2489 type: object 2490 spec: 2491 description: 'Specification of the desired behavior of the Alertmanager 2492 cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 2493 properties: 2494 additionalPeers: 2495 description: AdditionalPeers allows injecting a set of additional 2496 Alertmanagers to peer with to form a highly available cluster. 2497 items: 2498 type: string 2499 type: array 2500 affinity: 2501 description: If specified, the pod's scheduling constraints. 2502 properties: 2503 nodeAffinity: 2504 description: Describes node affinity scheduling rules for the 2505 pod. 2506 properties: 2507 preferredDuringSchedulingIgnoredDuringExecution: 2508 description: The scheduler will prefer to schedule pods to 2509 nodes that satisfy the affinity expressions specified by 2510 this field, but it may choose a node that violates one or 2511 more of the expressions. The node that is most preferred 2512 is the one with the greatest sum of weights, i.e. for each 2513 node that meets all of the scheduling requirements (resource 2514 request, requiredDuringScheduling affinity expressions, 2515 etc.), compute a sum by iterating through the elements of 2516 this field and adding "weight" to the sum if the node matches 2517 the corresponding matchExpressions; the node(s) with the 2518 highest sum are the most preferred. 2519 items: 2520 description: An empty preferred scheduling term matches 2521 all objects with implicit weight 0 (i.e. it's a no-op). 2522 A null preferred scheduling term matches no objects (i.e. 2523 is also a no-op). 2524 properties: 2525 preference: 2526 description: A node selector term, associated with the 2527 corresponding weight. 2528 properties: 2529 matchExpressions: 2530 description: A list of node selector requirements 2531 by node's labels. 2532 items: 2533 description: A node selector requirement is a 2534 selector that contains values, a key, and an 2535 operator that relates the key and values. 2536 properties: 2537 key: 2538 description: The label key that the selector 2539 applies to. 2540 type: string 2541 operator: 2542 description: Represents a key's relationship 2543 to a set of values. Valid operators are 2544 In, NotIn, Exists, DoesNotExist. Gt, and 2545 Lt. 2546 type: string 2547 values: 2548 description: An array of string values. If 2549 the operator is In or NotIn, the values 2550 array must be non-empty. If the operator 2551 is Exists or DoesNotExist, the values array 2552 must be empty. If the operator is Gt or 2553 Lt, the values array must have a single 2554 element, which will be interpreted as an 2555 integer. This array is replaced during a 2556 strategic merge patch. 2557 items: 2558 type: string 2559 type: array 2560 required: 2561 - key 2562 - operator 2563 type: object 2564 type: array 2565 matchFields: 2566 description: A list of node selector requirements 2567 by node's fields. 2568 items: 2569 description: A node selector requirement is a 2570 selector that contains values, a key, and an 2571 operator that relates the key and values. 2572 properties: 2573 key: 2574 description: The label key that the selector 2575 applies to. 2576 type: string 2577 operator: 2578 description: Represents a key's relationship 2579 to a set of values. Valid operators are 2580 In, NotIn, Exists, DoesNotExist. Gt, and 2581 Lt. 2582 type: string 2583 values: 2584 description: An array of string values. If 2585 the operator is In or NotIn, the values 2586 array must be non-empty. If the operator 2587 is Exists or DoesNotExist, the values array 2588 must be empty. If the operator is Gt or 2589 Lt, the values array must have a single 2590 element, which will be interpreted as an 2591 integer. This array is replaced during a 2592 strategic merge patch. 2593 items: 2594 type: string 2595 type: array 2596 required: 2597 - key 2598 - operator 2599 type: object 2600 type: array 2601 type: object 2602 weight: 2603 description: Weight associated with matching the corresponding 2604 nodeSelectorTerm, in the range 1-100. 2605 format: int32 2606 type: integer 2607 required: 2608 - preference 2609 - weight 2610 type: object 2611 type: array 2612 requiredDuringSchedulingIgnoredDuringExecution: 2613 description: If the affinity requirements specified by this 2614 field are not met at scheduling time, the pod will not be 2615 scheduled onto the node. If the affinity requirements specified 2616 by this field cease to be met at some point during pod execution 2617 (e.g. due to an update), the system may or may not try to 2618 eventually evict the pod from its node. 2619 properties: 2620 nodeSelectorTerms: 2621 description: Required. A list of node selector terms. 2622 The terms are ORed. 2623 items: 2624 description: A null or empty node selector term matches 2625 no objects. The requirements of them are ANDed. The 2626 TopologySelectorTerm type implements a subset of the 2627 NodeSelectorTerm. 2628 properties: 2629 matchExpressions: 2630 description: A list of node selector requirements 2631 by node's labels. 2632 items: 2633 description: A node selector requirement is a 2634 selector that contains values, a key, and an 2635 operator that relates the key and values. 2636 properties: 2637 key: 2638 description: The label key that the selector 2639 applies to. 2640 type: string 2641 operator: 2642 description: Represents a key's relationship 2643 to a set of values. Valid operators are 2644 In, NotIn, Exists, DoesNotExist. Gt, and 2645 Lt. 2646 type: string 2647 values: 2648 description: An array of string values. If 2649 the operator is In or NotIn, the values 2650 array must be non-empty. If the operator 2651 is Exists or DoesNotExist, the values array 2652 must be empty. If the operator is Gt or 2653 Lt, the values array must have a single 2654 element, which will be interpreted as an 2655 integer. This array is replaced during a 2656 strategic merge patch. 2657 items: 2658 type: string 2659 type: array 2660 required: 2661 - key 2662 - operator 2663 type: object 2664 type: array 2665 matchFields: 2666 description: A list of node selector requirements 2667 by node's fields. 2668 items: 2669 description: A node selector requirement is a 2670 selector that contains values, a key, and an 2671 operator that relates the key and values. 2672 properties: 2673 key: 2674 description: The label key that the selector 2675 applies to. 2676 type: string 2677 operator: 2678 description: Represents a key's relationship 2679 to a set of values. Valid operators are 2680 In, NotIn, Exists, DoesNotExist. Gt, and 2681 Lt. 2682 type: string 2683 values: 2684 description: An array of string values. If 2685 the operator is In or NotIn, the values 2686 array must be non-empty. If the operator 2687 is Exists or DoesNotExist, the values array 2688 must be empty. If the operator is Gt or 2689 Lt, the values array must have a single 2690 element, which will be interpreted as an 2691 integer. This array is replaced during a 2692 strategic merge patch. 2693 items: 2694 type: string 2695 type: array 2696 required: 2697 - key 2698 - operator 2699 type: object 2700 type: array 2701 type: object 2702 type: array 2703 required: 2704 - nodeSelectorTerms 2705 type: object 2706 type: object 2707 podAffinity: 2708 description: Describes pod affinity scheduling rules (e.g. co-locate 2709 this pod in the same node, zone, etc. as some other pod(s)). 2710 properties: 2711 preferredDuringSchedulingIgnoredDuringExecution: 2712 description: The scheduler will prefer to schedule pods to 2713 nodes that satisfy the affinity expressions specified by 2714 this field, but it may choose a node that violates one or 2715 more of the expressions. The node that is most preferred 2716 is the one with the greatest sum of weights, i.e. for each 2717 node that meets all of the scheduling requirements (resource 2718 request, requiredDuringScheduling affinity expressions, 2719 etc.), compute a sum by iterating through the elements of 2720 this field and adding "weight" to the sum if the node has 2721 pods which matches the corresponding podAffinityTerm; the 2722 node(s) with the highest sum are the most preferred. 2723 items: 2724 description: The weights of all of the matched WeightedPodAffinityTerm 2725 fields are added per-node to find the most preferred node(s) 2726 properties: 2727 podAffinityTerm: 2728 description: Required. A pod affinity term, associated 2729 with the corresponding weight. 2730 properties: 2731 labelSelector: 2732 description: A label query over a set of resources, 2733 in this case pods. 2734 properties: 2735 matchExpressions: 2736 description: matchExpressions is a list of label 2737 selector requirements. The requirements are 2738 ANDed. 2739 items: 2740 description: A label selector requirement 2741 is a selector that contains values, a key, 2742 and an operator that relates the key and 2743 values. 2744 properties: 2745 key: 2746 description: key is the label key that 2747 the selector applies to. 2748 type: string 2749 operator: 2750 description: operator represents a key's 2751 relationship to a set of values. Valid 2752 operators are In, NotIn, Exists and 2753 DoesNotExist. 2754 type: string 2755 values: 2756 description: values is an array of string 2757 values. If the operator is In or NotIn, 2758 the values array must be non-empty. 2759 If the operator is Exists or DoesNotExist, 2760 the values array must be empty. This 2761 array is replaced during a strategic 2762 merge patch. 2763 items: 2764 type: string 2765 type: array 2766 required: 2767 - key 2768 - operator 2769 type: object 2770 type: array 2771 matchLabels: 2772 additionalProperties: 2773 type: string 2774 description: matchLabels is a map of {key,value} 2775 pairs. A single {key,value} in the matchLabels 2776 map is equivalent to an element of matchExpressions, 2777 whose key field is "key", the operator is 2778 "In", and the values array contains only "value". 2779 The requirements are ANDed. 2780 type: object 2781 type: object 2782 namespaces: 2783 description: namespaces specifies which namespaces 2784 the labelSelector applies to (matches against); 2785 null or empty list means "this pod's namespace" 2786 items: 2787 type: string 2788 type: array 2789 topologyKey: 2790 description: This pod should be co-located (affinity) 2791 or not co-located (anti-affinity) with the pods 2792 matching the labelSelector in the specified namespaces, 2793 where co-located is defined as running on a node 2794 whose value of the label with key topologyKey 2795 matches that of any node on which any of the selected 2796 pods is running. Empty topologyKey is not allowed. 2797 type: string 2798 required: 2799 - topologyKey 2800 type: object 2801 weight: 2802 description: weight associated with matching the corresponding 2803 podAffinityTerm, in the range 1-100. 2804 format: int32 2805 type: integer 2806 required: 2807 - podAffinityTerm 2808 - weight 2809 type: object 2810 type: array 2811 requiredDuringSchedulingIgnoredDuringExecution: 2812 description: If the affinity requirements specified by this 2813 field are not met at scheduling time, the pod will not be 2814 scheduled onto the node. If the affinity requirements specified 2815 by this field cease to be met at some point during pod execution 2816 (e.g. due to a pod label update), the system may or may 2817 not try to eventually evict the pod from its node. When 2818 there are multiple elements, the lists of nodes corresponding 2819 to each podAffinityTerm are intersected, i.e. all terms 2820 must be satisfied. 2821 items: 2822 description: Defines a set of pods (namely those matching 2823 the labelSelector relative to the given namespace(s)) 2824 that this pod should be co-located (affinity) or not co-located 2825 (anti-affinity) with, where co-located is defined as running 2826 on a node whose value of the label with key <topologyKey> 2827 matches that of any node on which a pod of the set of 2828 pods is running 2829 properties: 2830 labelSelector: 2831 description: A label query over a set of resources, 2832 in this case pods. 2833 properties: 2834 matchExpressions: 2835 description: matchExpressions is a list of label 2836 selector requirements. The requirements are ANDed. 2837 items: 2838 description: A label selector requirement is a 2839 selector that contains values, a key, and an 2840 operator that relates the key and values. 2841 properties: 2842 key: 2843 description: key is the label key that the 2844 selector applies to. 2845 type: string 2846 operator: 2847 description: operator represents a key's relationship 2848 to a set of values. Valid operators are 2849 In, NotIn, Exists and DoesNotExist. 2850 type: string 2851 values: 2852 description: values is an array of string 2853 values. If the operator is In or NotIn, 2854 the values array must be non-empty. If the 2855 operator is Exists or DoesNotExist, the 2856 values array must be empty. This array is 2857 replaced during a strategic merge patch. 2858 items: 2859 type: string 2860 type: array 2861 required: 2862 - key 2863 - operator 2864 type: object 2865 type: array 2866 matchLabels: 2867 additionalProperties: 2868 type: string 2869 description: matchLabels is a map of {key,value} 2870 pairs. A single {key,value} in the matchLabels 2871 map is equivalent to an element of matchExpressions, 2872 whose key field is "key", the operator is "In", 2873 and the values array contains only "value". The 2874 requirements are ANDed. 2875 type: object 2876 type: object 2877 namespaces: 2878 description: namespaces specifies which namespaces the 2879 labelSelector applies to (matches against); null or 2880 empty list means "this pod's namespace" 2881 items: 2882 type: string 2883 type: array 2884 topologyKey: 2885 description: This pod should be co-located (affinity) 2886 or not co-located (anti-affinity) with the pods matching 2887 the labelSelector in the specified namespaces, where 2888 co-located is defined as running on a node whose value 2889 of the label with key topologyKey matches that of 2890 any node on which any of the selected pods is running. 2891 Empty topologyKey is not allowed. 2892 type: string 2893 required: 2894 - topologyKey 2895 type: object 2896 type: array 2897 type: object 2898 podAntiAffinity: 2899 description: Describes pod anti-affinity scheduling rules (e.g. 2900 avoid putting this pod in the same node, zone, etc. as some 2901 other pod(s)). 2902 properties: 2903 preferredDuringSchedulingIgnoredDuringExecution: 2904 description: The scheduler will prefer to schedule pods to 2905 nodes that satisfy the anti-affinity expressions specified 2906 by this field, but it may choose a node that violates one 2907 or more of the expressions. The node that is most preferred 2908 is the one with the greatest sum of weights, i.e. for each 2909 node that meets all of the scheduling requirements (resource 2910 request, requiredDuringScheduling anti-affinity expressions, 2911 etc.), compute a sum by iterating through the elements of 2912 this field and adding "weight" to the sum if the node has 2913 pods which matches the corresponding podAffinityTerm; the 2914 node(s) with the highest sum are the most preferred. 2915 items: 2916 description: The weights of all of the matched WeightedPodAffinityTerm 2917 fields are added per-node to find the most preferred node(s) 2918 properties: 2919 podAffinityTerm: 2920 description: Required. A pod affinity term, associated 2921 with the corresponding weight. 2922 properties: 2923 labelSelector: 2924 description: A label query over a set of resources, 2925 in this case pods. 2926 properties: 2927 matchExpressions: 2928 description: matchExpressions is a list of label 2929 selector requirements. The requirements are 2930 ANDed. 2931 items: 2932 description: A label selector requirement 2933 is a selector that contains values, a key, 2934 and an operator that relates the key and 2935 values. 2936 properties: 2937 key: 2938 description: key is the label key that 2939 the selector applies to. 2940 type: string 2941 operator: 2942 description: operator represents a key's 2943 relationship to a set of values. Valid 2944 operators are In, NotIn, Exists and 2945 DoesNotExist. 2946 type: string 2947 values: 2948 description: values is an array of string 2949 values. If the operator is In or NotIn, 2950 the values array must be non-empty. 2951 If the operator is Exists or DoesNotExist, 2952 the values array must be empty. This 2953 array is replaced during a strategic 2954 merge patch. 2955 items: 2956 type: string 2957 type: array 2958 required: 2959 - key 2960 - operator 2961 type: object 2962 type: array 2963 matchLabels: 2964 additionalProperties: 2965 type: string 2966 description: matchLabels is a map of {key,value} 2967 pairs. A single {key,value} in the matchLabels 2968 map is equivalent to an element of matchExpressions, 2969 whose key field is "key", the operator is 2970 "In", and the values array contains only "value". 2971 The requirements are ANDed. 2972 type: object 2973 type: object 2974 namespaces: 2975 description: namespaces specifies which namespaces 2976 the labelSelector applies to (matches against); 2977 null or empty list means "this pod's namespace" 2978 items: 2979 type: string 2980 type: array 2981 topologyKey: 2982 description: This pod should be co-located (affinity) 2983 or not co-located (anti-affinity) with the pods 2984 matching the labelSelector in the specified namespaces, 2985 where co-located is defined as running on a node 2986 whose value of the label with key topologyKey 2987 matches that of any node on which any of the selected 2988 pods is running. Empty topologyKey is not allowed. 2989 type: string 2990 required: 2991 - topologyKey 2992 type: object 2993 weight: 2994 description: weight associated with matching the corresponding 2995 podAffinityTerm, in the range 1-100. 2996 format: int32 2997 type: integer 2998 required: 2999 - podAffinityTerm 3000 - weight 3001 type: object 3002 type: array 3003 requiredDuringSchedulingIgnoredDuringExecution: 3004 description: If the anti-affinity requirements specified by 3005 this field are not met at scheduling time, the pod will 3006 not be scheduled onto the node. If the anti-affinity requirements 3007 specified by this field cease to be met at some point during 3008 pod execution (e.g. due to a pod label update), the system 3009 may or may not try to eventually evict the pod from its 3010 node. When there are multiple elements, the lists of nodes 3011 corresponding to each podAffinityTerm are intersected, i.e. 3012 all terms must be satisfied. 3013 items: 3014 description: Defines a set of pods (namely those matching 3015 the labelSelector relative to the given namespace(s)) 3016 that this pod should be co-located (affinity) or not co-located 3017 (anti-affinity) with, where co-located is defined as running 3018 on a node whose value of the label with key <topologyKey> 3019 matches that of any node on which a pod of the set of 3020 pods is running 3021 properties: 3022 labelSelector: 3023 description: A label query over a set of resources, 3024 in this case pods. 3025 properties: 3026 matchExpressions: 3027 description: matchExpressions is a list of label 3028 selector requirements. The requirements are ANDed. 3029 items: 3030 description: A label selector requirement is a 3031 selector that contains values, a key, and an 3032 operator that relates the key and values. 3033 properties: 3034 key: 3035 description: key is the label key that the 3036 selector applies to. 3037 type: string 3038 operator: 3039 description: operator represents a key's relationship 3040 to a set of values. Valid operators are 3041 In, NotIn, Exists and DoesNotExist. 3042 type: string 3043 values: 3044 description: values is an array of string 3045 values. If the operator is In or NotIn, 3046 the values array must be non-empty. If the 3047 operator is Exists or DoesNotExist, the 3048 values array must be empty. This array is 3049 replaced during a strategic merge patch. 3050 items: 3051 type: string 3052 type: array 3053 required: 3054 - key 3055 - operator 3056 type: object 3057 type: array 3058 matchLabels: 3059 additionalProperties: 3060 type: string 3061 description: matchLabels is a map of {key,value} 3062 pairs. A single {key,value} in the matchLabels 3063 map is equivalent to an element of matchExpressions, 3064 whose key field is "key", the operator is "In", 3065 and the values array contains only "value". The 3066 requirements are ANDed. 3067 type: object 3068 type: object 3069 namespaces: 3070 description: namespaces specifies which namespaces the 3071 labelSelector applies to (matches against); null or 3072 empty list means "this pod's namespace" 3073 items: 3074 type: string 3075 type: array 3076 topologyKey: 3077 description: This pod should be co-located (affinity) 3078 or not co-located (anti-affinity) with the pods matching 3079 the labelSelector in the specified namespaces, where 3080 co-located is defined as running on a node whose value 3081 of the label with key topologyKey matches that of 3082 any node on which any of the selected pods is running. 3083 Empty topologyKey is not allowed. 3084 type: string 3085 required: 3086 - topologyKey 3087 type: object 3088 type: array 3089 type: object 3090 type: object 3091 alertmanagerConfigNamespaceSelector: 3092 description: Namespaces to be selected for AlertmanagerConfig discovery. 3093 If nil, only check own namespace. 3094 properties: 3095 matchExpressions: 3096 description: matchExpressions is a list of label selector requirements. 3097 The requirements are ANDed. 3098 items: 3099 description: A label selector requirement is a selector that 3100 contains values, a key, and an operator that relates the key 3101 and values. 3102 properties: 3103 key: 3104 description: key is the label key that the selector applies 3105 to. 3106 type: string 3107 operator: 3108 description: operator represents a key's relationship to 3109 a set of values. Valid operators are In, NotIn, Exists 3110 and DoesNotExist. 3111 type: string 3112 values: 3113 description: values is an array of string values. If the 3114 operator is In or NotIn, the values array must be non-empty. 3115 If the operator is Exists or DoesNotExist, the values 3116 array must be empty. This array is replaced during a strategic 3117 merge patch. 3118 items: 3119 type: string 3120 type: array 3121 required: 3122 - key 3123 - operator 3124 type: object 3125 type: array 3126 matchLabels: 3127 additionalProperties: 3128 type: string 3129 description: matchLabels is a map of {key,value} pairs. A single 3130 {key,value} in the matchLabels map is equivalent to an element 3131 of matchExpressions, whose key field is "key", the operator 3132 is "In", and the values array contains only "value". The requirements 3133 are ANDed. 3134 type: object 3135 type: object 3136 alertmanagerConfigSelector: 3137 description: AlertmanagerConfigs to be selected for to merge and configure 3138 Alertmanager with. 3139 properties: 3140 matchExpressions: 3141 description: matchExpressions is a list of label selector requirements. 3142 The requirements are ANDed. 3143 items: 3144 description: A label selector requirement is a selector that 3145 contains values, a key, and an operator that relates the key 3146 and values. 3147 properties: 3148 key: 3149 description: key is the label key that the selector applies 3150 to. 3151 type: string 3152 operator: 3153 description: operator represents a key's relationship to 3154 a set of values. Valid operators are In, NotIn, Exists 3155 and DoesNotExist. 3156 type: string 3157 values: 3158 description: values is an array of string values. If the 3159 operator is In or NotIn, the values array must be non-empty. 3160 If the operator is Exists or DoesNotExist, the values 3161 array must be empty. This array is replaced during a strategic 3162 merge patch. 3163 items: 3164 type: string 3165 type: array 3166 required: 3167 - key 3168 - operator 3169 type: object 3170 type: array 3171 matchLabels: 3172 additionalProperties: 3173 type: string 3174 description: matchLabels is a map of {key,value} pairs. A single 3175 {key,value} in the matchLabels map is equivalent to an element 3176 of matchExpressions, whose key field is "key", the operator 3177 is "In", and the values array contains only "value". The requirements 3178 are ANDed. 3179 type: object 3180 type: object 3181 baseImage: 3182 description: 'Base image that is used to deploy pods, without tag. 3183 Deprecated: use ''image'' instead' 3184 type: string 3185 clusterAdvertiseAddress: 3186 description: 'ClusterAdvertiseAddress is the explicit address to advertise 3187 in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. 3188 [1] RFC1918: https://tools.ietf.org/html/rfc1918' 3189 type: string 3190 clusterGossipInterval: 3191 description: Interval between gossip attempts. 3192 type: string 3193 clusterPeerTimeout: 3194 description: Timeout for cluster peering. 3195 type: string 3196 clusterPushpullInterval: 3197 description: Interval between pushpull attempts. 3198 type: string 3199 configMaps: 3200 description: ConfigMaps is a list of ConfigMaps in the same namespace 3201 as the Alertmanager object, which shall be mounted into the Alertmanager 3202 Pods. The ConfigMaps are mounted into /etc/alertmanager/configmaps/<configmap-name>. 3203 items: 3204 type: string 3205 type: array 3206 configSecret: 3207 description: ConfigSecret is the name of a Kubernetes Secret in the 3208 same namespace as the Alertmanager object, which contains configuration 3209 for this Alertmanager instance. Defaults to 'alertmanager-<alertmanager-name>' 3210 The secret is mounted into /etc/alertmanager/config. 3211 type: string 3212 containers: 3213 description: 'Containers allows injecting additional containers. This 3214 is meant to allow adding an authentication proxy to an Alertmanager 3215 pod. Containers described here modify an operator generated container 3216 if they share the same name and modifications are done via a strategic 3217 merge patch. The current container names are: `alertmanager` and 3218 `config-reloader`. Overriding containers is entirely outside the 3219 scope of what the maintainers will support and by doing so, you 3220 accept that this behaviour may break at any time without notice.' 3221 items: 3222 description: A single application container that you want to run 3223 within a pod. 3224 properties: 3225 args: 3226 description: 'Arguments to the entrypoint. The docker image''s 3227 CMD is used if this is not provided. Variable references $(VAR_NAME) 3228 are expanded using the container''s environment. If a variable 3229 cannot be resolved, the reference in the input string will 3230 be unchanged. The $(VAR_NAME) syntax can be escaped with a 3231 double $$, ie: $$(VAR_NAME). Escaped references will never 3232 be expanded, regardless of whether the variable exists or 3233 not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 3234 items: 3235 type: string 3236 type: array 3237 command: 3238 description: 'Entrypoint array. Not executed within a shell. 3239 The docker image''s ENTRYPOINT is used if this is not provided. 3240 Variable references $(VAR_NAME) are expanded using the container''s 3241 environment. If a variable cannot be resolved, the reference 3242 in the input string will be unchanged. The $(VAR_NAME) syntax 3243 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 3244 references will never be expanded, regardless of whether the 3245 variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 3246 items: 3247 type: string 3248 type: array 3249 env: 3250 description: List of environment variables to set in the container. 3251 Cannot be updated. 3252 items: 3253 description: EnvVar represents an environment variable present 3254 in a Container. 3255 properties: 3256 name: 3257 description: Name of the environment variable. Must be 3258 a C_IDENTIFIER. 3259 type: string 3260 value: 3261 description: 'Variable references $(VAR_NAME) are expanded 3262 using the previous defined environment variables in 3263 the container and any service environment variables. 3264 If a variable cannot be resolved, the reference in the 3265 input string will be unchanged. The $(VAR_NAME) syntax 3266 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 3267 references will never be expanded, regardless of whether 3268 the variable exists or not. Defaults to "".' 3269 type: string 3270 valueFrom: 3271 description: Source for the environment variable's value. 3272 Cannot be used if value is not empty. 3273 properties: 3274 configMapKeyRef: 3275 description: Selects a key of a ConfigMap. 3276 properties: 3277 key: 3278 description: The key to select. 3279 type: string 3280 name: 3281 description: 'Name of the referent. More info: 3282 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 3283 TODO: Add other useful fields. apiVersion, kind, 3284 uid?' 3285 type: string 3286 optional: 3287 description: Specify whether the ConfigMap or 3288 its key must be defined 3289 type: boolean 3290 required: 3291 - key 3292 type: object 3293 fieldRef: 3294 description: 'Selects a field of the pod: supports 3295 metadata.name, metadata.namespace, metadata.labels, 3296 metadata.annotations, spec.nodeName, spec.serviceAccountName, 3297 status.hostIP, status.podIP, status.podIPs.' 3298 properties: 3299 apiVersion: 3300 description: Version of the schema the FieldPath 3301 is written in terms of, defaults to "v1". 3302 type: string 3303 fieldPath: 3304 description: Path of the field to select in the 3305 specified API version. 3306 type: string 3307 required: 3308 - fieldPath 3309 type: object 3310 resourceFieldRef: 3311 description: 'Selects a resource of the container: 3312 only resources limits and requests (limits.cpu, 3313 limits.memory, limits.ephemeral-storage, requests.cpu, 3314 requests.memory and requests.ephemeral-storage) 3315 are currently supported.' 3316 properties: 3317 containerName: 3318 description: 'Container name: required for volumes, 3319 optional for env vars' 3320 type: string 3321 divisor: 3322 anyOf: 3323 - type: integer 3324 - type: string 3325 description: Specifies the output format of the 3326 exposed resources, defaults to "1" 3327 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3328 x-kubernetes-int-or-string: true 3329 resource: 3330 description: 'Required: resource to select' 3331 type: string 3332 required: 3333 - resource 3334 type: object 3335 secretKeyRef: 3336 description: Selects a key of a secret in the pod's 3337 namespace 3338 properties: 3339 key: 3340 description: The key of the secret to select from. Must 3341 be a valid secret key. 3342 type: string 3343 name: 3344 description: 'Name of the referent. More info: 3345 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 3346 TODO: Add other useful fields. apiVersion, kind, 3347 uid?' 3348 type: string 3349 optional: 3350 description: Specify whether the Secret or its 3351 key must be defined 3352 type: boolean 3353 required: 3354 - key 3355 type: object 3356 type: object 3357 required: 3358 - name 3359 type: object 3360 type: array 3361 envFrom: 3362 description: List of sources to populate environment variables 3363 in the container. The keys defined within a source must be 3364 a C_IDENTIFIER. All invalid keys will be reported as an event 3365 when the container is starting. When a key exists in multiple 3366 sources, the value associated with the last source will take 3367 precedence. Values defined by an Env with a duplicate key 3368 will take precedence. Cannot be updated. 3369 items: 3370 description: EnvFromSource represents the source of a set 3371 of ConfigMaps 3372 properties: 3373 configMapRef: 3374 description: The ConfigMap to select from 3375 properties: 3376 name: 3377 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 3378 TODO: Add other useful fields. apiVersion, kind, 3379 uid?' 3380 type: string 3381 optional: 3382 description: Specify whether the ConfigMap must be 3383 defined 3384 type: boolean 3385 type: object 3386 prefix: 3387 description: An optional identifier to prepend to each 3388 key in the ConfigMap. Must be a C_IDENTIFIER. 3389 type: string 3390 secretRef: 3391 description: The Secret to select from 3392 properties: 3393 name: 3394 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 3395 TODO: Add other useful fields. apiVersion, kind, 3396 uid?' 3397 type: string 3398 optional: 3399 description: Specify whether the Secret must be defined 3400 type: boolean 3401 type: object 3402 type: object 3403 type: array 3404 image: 3405 description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images 3406 This field is optional to allow higher level config management 3407 to default or override container images in workload controllers 3408 like Deployments and StatefulSets.' 3409 type: string 3410 imagePullPolicy: 3411 description: 'Image pull policy. One of Always, Never, IfNotPresent. 3412 Defaults to Always if :latest tag is specified, or IfNotPresent 3413 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 3414 type: string 3415 lifecycle: 3416 description: Actions that the management system should take 3417 in response to container lifecycle events. Cannot be updated. 3418 properties: 3419 postStart: 3420 description: 'PostStart is called immediately after a container 3421 is created. If the handler fails, the container is terminated 3422 and restarted according to its restart policy. Other management 3423 of the container blocks until the hook completes. More 3424 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 3425 properties: 3426 exec: 3427 description: One and only one of the following should 3428 be specified. Exec specifies the action to take. 3429 properties: 3430 command: 3431 description: Command is the command line to execute 3432 inside the container, the working directory for 3433 the command is root ('/') in the container's 3434 filesystem. The command is simply exec'd, it is 3435 not run inside a shell, so traditional shell instructions 3436 ('|', etc) won't work. To use a shell, you need 3437 to explicitly call out to that shell. Exit status 3438 of 0 is treated as live/healthy and non-zero is 3439 unhealthy. 3440 items: 3441 type: string 3442 type: array 3443 type: object 3444 httpGet: 3445 description: HTTPGet specifies the http request to perform. 3446 properties: 3447 host: 3448 description: Host name to connect to, defaults to 3449 the pod IP. You probably want to set "Host" in 3450 httpHeaders instead. 3451 type: string 3452 httpHeaders: 3453 description: Custom headers to set in the request. 3454 HTTP allows repeated headers. 3455 items: 3456 description: HTTPHeader describes a custom header 3457 to be used in HTTP probes 3458 properties: 3459 name: 3460 description: The header field name 3461 type: string 3462 value: 3463 description: The header field value 3464 type: string 3465 required: 3466 - name 3467 - value 3468 type: object 3469 type: array 3470 path: 3471 description: Path to access on the HTTP server. 3472 type: string 3473 port: 3474 anyOf: 3475 - type: integer 3476 - type: string 3477 description: Name or number of the port to access 3478 on the container. Number must be in the range 3479 1 to 65535. Name must be an IANA_SVC_NAME. 3480 x-kubernetes-int-or-string: true 3481 scheme: 3482 description: Scheme to use for connecting to the 3483 host. Defaults to HTTP. 3484 type: string 3485 required: 3486 - port 3487 type: object 3488 tcpSocket: 3489 description: 'TCPSocket specifies an action involving 3490 a TCP port. TCP hooks not yet supported TODO: implement 3491 a realistic TCP lifecycle hook' 3492 properties: 3493 host: 3494 description: 'Optional: Host name to connect to, 3495 defaults to the pod IP.' 3496 type: string 3497 port: 3498 anyOf: 3499 - type: integer 3500 - type: string 3501 description: Number or name of the port to access 3502 on the container. Number must be in the range 3503 1 to 65535. Name must be an IANA_SVC_NAME. 3504 x-kubernetes-int-or-string: true 3505 required: 3506 - port 3507 type: object 3508 type: object 3509 preStop: 3510 description: 'PreStop is called immediately before a container 3511 is terminated due to an API request or management event 3512 such as liveness/startup probe failure, preemption, resource 3513 contention, etc. The handler is not called if the container 3514 crashes or exits. The reason for termination is passed 3515 to the handler. The Pod''s termination grace period countdown 3516 begins before the PreStop hooked is executed. Regardless 3517 of the outcome of the handler, the container will eventually 3518 terminate within the Pod''s termination grace period. 3519 Other management of the container blocks until the hook 3520 completes or until the termination grace period is reached. 3521 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 3522 properties: 3523 exec: 3524 description: One and only one of the following should 3525 be specified. Exec specifies the action to take. 3526 properties: 3527 command: 3528 description: Command is the command line to execute 3529 inside the container, the working directory for 3530 the command is root ('/') in the container's 3531 filesystem. The command is simply exec'd, it is 3532 not run inside a shell, so traditional shell instructions 3533 ('|', etc) won't work. To use a shell, you need 3534 to explicitly call out to that shell. Exit status 3535 of 0 is treated as live/healthy and non-zero is 3536 unhealthy. 3537 items: 3538 type: string 3539 type: array 3540 type: object 3541 httpGet: 3542 description: HTTPGet specifies the http request to perform. 3543 properties: 3544 host: 3545 description: Host name to connect to, defaults to 3546 the pod IP. You probably want to set "Host" in 3547 httpHeaders instead. 3548 type: string 3549 httpHeaders: 3550 description: Custom headers to set in the request. 3551 HTTP allows repeated headers. 3552 items: 3553 description: HTTPHeader describes a custom header 3554 to be used in HTTP probes 3555 properties: 3556 name: 3557 description: The header field name 3558 type: string 3559 value: 3560 description: The header field value 3561 type: string 3562 required: 3563 - name 3564 - value 3565 type: object 3566 type: array 3567 path: 3568 description: Path to access on the HTTP server. 3569 type: string 3570 port: 3571 anyOf: 3572 - type: integer 3573 - type: string 3574 description: Name or number of the port to access 3575 on the container. Number must be in the range 3576 1 to 65535. Name must be an IANA_SVC_NAME. 3577 x-kubernetes-int-or-string: true 3578 scheme: 3579 description: Scheme to use for connecting to the 3580 host. Defaults to HTTP. 3581 type: string 3582 required: 3583 - port 3584 type: object 3585 tcpSocket: 3586 description: 'TCPSocket specifies an action involving 3587 a TCP port. TCP hooks not yet supported TODO: implement 3588 a realistic TCP lifecycle hook' 3589 properties: 3590 host: 3591 description: 'Optional: Host name to connect to, 3592 defaults to the pod IP.' 3593 type: string 3594 port: 3595 anyOf: 3596 - type: integer 3597 - type: string 3598 description: Number or name of the port to access 3599 on the container. Number must be in the range 3600 1 to 65535. Name must be an IANA_SVC_NAME. 3601 x-kubernetes-int-or-string: true 3602 required: 3603 - port 3604 type: object 3605 type: object 3606 type: object 3607 livenessProbe: 3608 description: 'Periodic probe of container liveness. Container 3609 will be restarted if the probe fails. Cannot be updated. More 3610 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3611 properties: 3612 exec: 3613 description: One and only one of the following should be 3614 specified. Exec specifies the action to take. 3615 properties: 3616 command: 3617 description: Command is the command line to execute 3618 inside the container, the working directory for the 3619 command is root ('/') in the container's filesystem. 3620 The command is simply exec'd, it is not run inside 3621 a shell, so traditional shell instructions ('|', etc) 3622 won't work. To use a shell, you need to explicitly 3623 call out to that shell. Exit status of 0 is treated 3624 as live/healthy and non-zero is unhealthy. 3625 items: 3626 type: string 3627 type: array 3628 type: object 3629 failureThreshold: 3630 description: Minimum consecutive failures for the probe 3631 to be considered failed after having succeeded. Defaults 3632 to 3. Minimum value is 1. 3633 format: int32 3634 type: integer 3635 httpGet: 3636 description: HTTPGet specifies the http request to perform. 3637 properties: 3638 host: 3639 description: Host name to connect to, defaults to the 3640 pod IP. You probably want to set "Host" in httpHeaders 3641 instead. 3642 type: string 3643 httpHeaders: 3644 description: Custom headers to set in the request. HTTP 3645 allows repeated headers. 3646 items: 3647 description: HTTPHeader describes a custom header 3648 to be used in HTTP probes 3649 properties: 3650 name: 3651 description: The header field name 3652 type: string 3653 value: 3654 description: The header field value 3655 type: string 3656 required: 3657 - name 3658 - value 3659 type: object 3660 type: array 3661 path: 3662 description: Path to access on the HTTP server. 3663 type: string 3664 port: 3665 anyOf: 3666 - type: integer 3667 - type: string 3668 description: Name or number of the port to access on 3669 the container. Number must be in the range 1 to 65535. 3670 Name must be an IANA_SVC_NAME. 3671 x-kubernetes-int-or-string: true 3672 scheme: 3673 description: Scheme to use for connecting to the host. 3674 Defaults to HTTP. 3675 type: string 3676 required: 3677 - port 3678 type: object 3679 initialDelaySeconds: 3680 description: 'Number of seconds after the container has 3681 started before liveness probes are initiated. More info: 3682 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3683 format: int32 3684 type: integer 3685 periodSeconds: 3686 description: How often (in seconds) to perform the probe. 3687 Default to 10 seconds. Minimum value is 1. 3688 format: int32 3689 type: integer 3690 successThreshold: 3691 description: Minimum consecutive successes for the probe 3692 to be considered successful after having failed. Defaults 3693 to 1. Must be 1 for liveness and startup. Minimum value 3694 is 1. 3695 format: int32 3696 type: integer 3697 tcpSocket: 3698 description: 'TCPSocket specifies an action involving a 3699 TCP port. TCP hooks not yet supported TODO: implement 3700 a realistic TCP lifecycle hook' 3701 properties: 3702 host: 3703 description: 'Optional: Host name to connect to, defaults 3704 to the pod IP.' 3705 type: string 3706 port: 3707 anyOf: 3708 - type: integer 3709 - type: string 3710 description: Number or name of the port to access on 3711 the container. Number must be in the range 1 to 65535. 3712 Name must be an IANA_SVC_NAME. 3713 x-kubernetes-int-or-string: true 3714 required: 3715 - port 3716 type: object 3717 timeoutSeconds: 3718 description: 'Number of seconds after which the probe times 3719 out. Defaults to 1 second. Minimum value is 1. More info: 3720 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3721 format: int32 3722 type: integer 3723 type: object 3724 name: 3725 description: Name of the container specified as a DNS_LABEL. 3726 Each container in a pod must have a unique name (DNS_LABEL). 3727 Cannot be updated. 3728 type: string 3729 ports: 3730 description: List of ports to expose from the container. Exposing 3731 a port here gives the system additional information about 3732 the network connections a container uses, but is primarily 3733 informational. Not specifying a port here DOES NOT prevent 3734 that port from being exposed. Any port which is listening 3735 on the default "0.0.0.0" address inside a container will be 3736 accessible from the network. Cannot be updated. 3737 items: 3738 description: ContainerPort represents a network port in a 3739 single container. 3740 properties: 3741 containerPort: 3742 description: Number of port to expose on the pod's IP 3743 address. This must be a valid port number, 0 < x < 65536. 3744 format: int32 3745 type: integer 3746 hostIP: 3747 description: What host IP to bind the external port to. 3748 type: string 3749 hostPort: 3750 description: Number of port to expose on the host. If 3751 specified, this must be a valid port number, 0 < x < 3752 65536. If HostNetwork is specified, this must match 3753 ContainerPort. Most containers do not need this. 3754 format: int32 3755 type: integer 3756 name: 3757 description: If specified, this must be an IANA_SVC_NAME 3758 and unique within the pod. Each named port in a pod 3759 must have a unique name. Name for the port that can 3760 be referred to by services. 3761 type: string 3762 protocol: 3763 default: TCP 3764 description: Protocol for port. Must be UDP, TCP, or SCTP. 3765 Defaults to "TCP". 3766 type: string 3767 required: 3768 - containerPort 3769 type: object 3770 type: array 3771 x-kubernetes-list-map-keys: 3772 - containerPort 3773 - protocol 3774 x-kubernetes-list-type: map 3775 readinessProbe: 3776 description: 'Periodic probe of container service readiness. 3777 Container will be removed from service endpoints if the probe 3778 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3779 properties: 3780 exec: 3781 description: One and only one of the following should be 3782 specified. Exec specifies the action to take. 3783 properties: 3784 command: 3785 description: Command is the command line to execute 3786 inside the container, the working directory for the 3787 command is root ('/') in the container's filesystem. 3788 The command is simply exec'd, it is not run inside 3789 a shell, so traditional shell instructions ('|', etc) 3790 won't work. To use a shell, you need to explicitly 3791 call out to that shell. Exit status of 0 is treated 3792 as live/healthy and non-zero is unhealthy. 3793 items: 3794 type: string 3795 type: array 3796 type: object 3797 failureThreshold: 3798 description: Minimum consecutive failures for the probe 3799 to be considered failed after having succeeded. Defaults 3800 to 3. Minimum value is 1. 3801 format: int32 3802 type: integer 3803 httpGet: 3804 description: HTTPGet specifies the http request to perform. 3805 properties: 3806 host: 3807 description: Host name to connect to, defaults to the 3808 pod IP. You probably want to set "Host" in httpHeaders 3809 instead. 3810 type: string 3811 httpHeaders: 3812 description: Custom headers to set in the request. HTTP 3813 allows repeated headers. 3814 items: 3815 description: HTTPHeader describes a custom header 3816 to be used in HTTP probes 3817 properties: 3818 name: 3819 description: The header field name 3820 type: string 3821 value: 3822 description: The header field value 3823 type: string 3824 required: 3825 - name 3826 - value 3827 type: object 3828 type: array 3829 path: 3830 description: Path to access on the HTTP server. 3831 type: string 3832 port: 3833 anyOf: 3834 - type: integer 3835 - type: string 3836 description: Name or number of the port to access on 3837 the container. Number must be in the range 1 to 65535. 3838 Name must be an IANA_SVC_NAME. 3839 x-kubernetes-int-or-string: true 3840 scheme: 3841 description: Scheme to use for connecting to the host. 3842 Defaults to HTTP. 3843 type: string 3844 required: 3845 - port 3846 type: object 3847 initialDelaySeconds: 3848 description: 'Number of seconds after the container has 3849 started before liveness probes are initiated. More info: 3850 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3851 format: int32 3852 type: integer 3853 periodSeconds: 3854 description: How often (in seconds) to perform the probe. 3855 Default to 10 seconds. Minimum value is 1. 3856 format: int32 3857 type: integer 3858 successThreshold: 3859 description: Minimum consecutive successes for the probe 3860 to be considered successful after having failed. Defaults 3861 to 1. Must be 1 for liveness and startup. Minimum value 3862 is 1. 3863 format: int32 3864 type: integer 3865 tcpSocket: 3866 description: 'TCPSocket specifies an action involving a 3867 TCP port. TCP hooks not yet supported TODO: implement 3868 a realistic TCP lifecycle hook' 3869 properties: 3870 host: 3871 description: 'Optional: Host name to connect to, defaults 3872 to the pod IP.' 3873 type: string 3874 port: 3875 anyOf: 3876 - type: integer 3877 - type: string 3878 description: Number or name of the port to access on 3879 the container. Number must be in the range 1 to 65535. 3880 Name must be an IANA_SVC_NAME. 3881 x-kubernetes-int-or-string: true 3882 required: 3883 - port 3884 type: object 3885 timeoutSeconds: 3886 description: 'Number of seconds after which the probe times 3887 out. Defaults to 1 second. Minimum value is 1. More info: 3888 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 3889 format: int32 3890 type: integer 3891 type: object 3892 resources: 3893 description: 'Compute Resources required by this container. 3894 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 3895 properties: 3896 limits: 3897 additionalProperties: 3898 anyOf: 3899 - type: integer 3900 - type: string 3901 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3902 x-kubernetes-int-or-string: true 3903 description: 'Limits describes the maximum amount of compute 3904 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 3905 type: object 3906 requests: 3907 additionalProperties: 3908 anyOf: 3909 - type: integer 3910 - type: string 3911 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 3912 x-kubernetes-int-or-string: true 3913 description: 'Requests describes the minimum amount of compute 3914 resources required. If Requests is omitted for a container, 3915 it defaults to Limits if that is explicitly specified, 3916 otherwise to an implementation-defined value. More info: 3917 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 3918 type: object 3919 type: object 3920 securityContext: 3921 description: 'Security options the pod should run with. More 3922 info: https://kubernetes.io/docs/concepts/policy/security-context/ 3923 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 3924 properties: 3925 allowPrivilegeEscalation: 3926 description: 'AllowPrivilegeEscalation controls whether 3927 a process can gain more privileges than its parent process. 3928 This bool directly controls if the no_new_privs flag will 3929 be set on the container process. AllowPrivilegeEscalation 3930 is true always when the container is: 1) run as Privileged 3931 2) has CAP_SYS_ADMIN' 3932 type: boolean 3933 capabilities: 3934 description: The capabilities to add/drop when running containers. 3935 Defaults to the default set of capabilities granted by 3936 the container runtime. 3937 properties: 3938 add: 3939 description: Added capabilities 3940 items: 3941 description: Capability represent POSIX capabilities 3942 type 3943 type: string 3944 type: array 3945 drop: 3946 description: Removed capabilities 3947 items: 3948 description: Capability represent POSIX capabilities 3949 type 3950 type: string 3951 type: array 3952 type: object 3953 privileged: 3954 description: Run container in privileged mode. Processes 3955 in privileged containers are essentially equivalent to 3956 root on the host. Defaults to false. 3957 type: boolean 3958 procMount: 3959 description: procMount denotes the type of proc mount to 3960 use for the containers. The default is DefaultProcMount 3961 which uses the container runtime defaults for readonly 3962 paths and masked paths. This requires the ProcMountType 3963 feature flag to be enabled. 3964 type: string 3965 readOnlyRootFilesystem: 3966 description: Whether this container has a read-only root 3967 filesystem. Default is false. 3968 type: boolean 3969 runAsGroup: 3970 description: The GID to run the entrypoint of the container 3971 process. Uses runtime default if unset. May also be set 3972 in PodSecurityContext. If set in both SecurityContext 3973 and PodSecurityContext, the value specified in SecurityContext 3974 takes precedence. 3975 format: int64 3976 type: integer 3977 runAsNonRoot: 3978 description: Indicates that the container must run as a 3979 non-root user. If true, the Kubelet will validate the 3980 image at runtime to ensure that it does not run as UID 3981 0 (root) and fail to start the container if it does. If 3982 unset or false, no such validation will be performed. 3983 May also be set in PodSecurityContext. If set in both 3984 SecurityContext and PodSecurityContext, the value specified 3985 in SecurityContext takes precedence. 3986 type: boolean 3987 runAsUser: 3988 description: The UID to run the entrypoint of the container 3989 process. Defaults to user specified in image metadata 3990 if unspecified. May also be set in PodSecurityContext. If 3991 set in both SecurityContext and PodSecurityContext, the 3992 value specified in SecurityContext takes precedence. 3993 format: int64 3994 type: integer 3995 seLinuxOptions: 3996 description: The SELinux context to be applied to the container. 3997 If unspecified, the container runtime will allocate a 3998 random SELinux context for each container. May also be 3999 set in PodSecurityContext. If set in both SecurityContext 4000 and PodSecurityContext, the value specified in SecurityContext 4001 takes precedence. 4002 properties: 4003 level: 4004 description: Level is SELinux level label that applies 4005 to the container. 4006 type: string 4007 role: 4008 description: Role is a SELinux role label that applies 4009 to the container. 4010 type: string 4011 type: 4012 description: Type is a SELinux type label that applies 4013 to the container. 4014 type: string 4015 user: 4016 description: User is a SELinux user label that applies 4017 to the container. 4018 type: string 4019 type: object 4020 windowsOptions: 4021 description: The Windows specific settings applied to all 4022 containers. If unspecified, the options from the PodSecurityContext 4023 will be used. If set in both SecurityContext and PodSecurityContext, 4024 the value specified in SecurityContext takes precedence. 4025 properties: 4026 gmsaCredentialSpec: 4027 description: GMSACredentialSpec is where the GMSA admission 4028 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 4029 inlines the contents of the GMSA credential spec named 4030 by the GMSACredentialSpecName field. 4031 type: string 4032 gmsaCredentialSpecName: 4033 description: GMSACredentialSpecName is the name of the 4034 GMSA credential spec to use. 4035 type: string 4036 runAsUserName: 4037 description: The UserName in Windows to run the entrypoint 4038 of the container process. Defaults to the user specified 4039 in image metadata if unspecified. May also be set 4040 in PodSecurityContext. If set in both SecurityContext 4041 and PodSecurityContext, the value specified in SecurityContext 4042 takes precedence. 4043 type: string 4044 type: object 4045 type: object 4046 startupProbe: 4047 description: 'StartupProbe indicates that the Pod has successfully 4048 initialized. If specified, no other probes are executed until 4049 this completes successfully. If this probe fails, the Pod 4050 will be restarted, just as if the livenessProbe failed. This 4051 can be used to provide different probe parameters at the beginning 4052 of a Pod''s lifecycle, when it might take a long time to load 4053 data or warm a cache, than during steady-state operation. 4054 This cannot be updated. This is a beta feature enabled by 4055 the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4056 properties: 4057 exec: 4058 description: One and only one of the following should be 4059 specified. Exec specifies the action to take. 4060 properties: 4061 command: 4062 description: Command is the command line to execute 4063 inside the container, the working directory for the 4064 command is root ('/') in the container's filesystem. 4065 The command is simply exec'd, it is not run inside 4066 a shell, so traditional shell instructions ('|', etc) 4067 won't work. To use a shell, you need to explicitly 4068 call out to that shell. Exit status of 0 is treated 4069 as live/healthy and non-zero is unhealthy. 4070 items: 4071 type: string 4072 type: array 4073 type: object 4074 failureThreshold: 4075 description: Minimum consecutive failures for the probe 4076 to be considered failed after having succeeded. Defaults 4077 to 3. Minimum value is 1. 4078 format: int32 4079 type: integer 4080 httpGet: 4081 description: HTTPGet specifies the http request to perform. 4082 properties: 4083 host: 4084 description: Host name to connect to, defaults to the 4085 pod IP. You probably want to set "Host" in httpHeaders 4086 instead. 4087 type: string 4088 httpHeaders: 4089 description: Custom headers to set in the request. HTTP 4090 allows repeated headers. 4091 items: 4092 description: HTTPHeader describes a custom header 4093 to be used in HTTP probes 4094 properties: 4095 name: 4096 description: The header field name 4097 type: string 4098 value: 4099 description: The header field value 4100 type: string 4101 required: 4102 - name 4103 - value 4104 type: object 4105 type: array 4106 path: 4107 description: Path to access on the HTTP server. 4108 type: string 4109 port: 4110 anyOf: 4111 - type: integer 4112 - type: string 4113 description: Name or number of the port to access on 4114 the container. Number must be in the range 1 to 65535. 4115 Name must be an IANA_SVC_NAME. 4116 x-kubernetes-int-or-string: true 4117 scheme: 4118 description: Scheme to use for connecting to the host. 4119 Defaults to HTTP. 4120 type: string 4121 required: 4122 - port 4123 type: object 4124 initialDelaySeconds: 4125 description: 'Number of seconds after the container has 4126 started before liveness probes are initiated. More info: 4127 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4128 format: int32 4129 type: integer 4130 periodSeconds: 4131 description: How often (in seconds) to perform the probe. 4132 Default to 10 seconds. Minimum value is 1. 4133 format: int32 4134 type: integer 4135 successThreshold: 4136 description: Minimum consecutive successes for the probe 4137 to be considered successful after having failed. Defaults 4138 to 1. Must be 1 for liveness and startup. Minimum value 4139 is 1. 4140 format: int32 4141 type: integer 4142 tcpSocket: 4143 description: 'TCPSocket specifies an action involving a 4144 TCP port. TCP hooks not yet supported TODO: implement 4145 a realistic TCP lifecycle hook' 4146 properties: 4147 host: 4148 description: 'Optional: Host name to connect to, defaults 4149 to the pod IP.' 4150 type: string 4151 port: 4152 anyOf: 4153 - type: integer 4154 - type: string 4155 description: Number or name of the port to access on 4156 the container. Number must be in the range 1 to 65535. 4157 Name must be an IANA_SVC_NAME. 4158 x-kubernetes-int-or-string: true 4159 required: 4160 - port 4161 type: object 4162 timeoutSeconds: 4163 description: 'Number of seconds after which the probe times 4164 out. Defaults to 1 second. Minimum value is 1. More info: 4165 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4166 format: int32 4167 type: integer 4168 type: object 4169 stdin: 4170 description: Whether this container should allocate a buffer 4171 for stdin in the container runtime. If this is not set, reads 4172 from stdin in the container will always result in EOF. Default 4173 is false. 4174 type: boolean 4175 stdinOnce: 4176 description: Whether the container runtime should close the 4177 stdin channel after it has been opened by a single attach. 4178 When stdin is true the stdin stream will remain open across 4179 multiple attach sessions. If stdinOnce is set to true, stdin 4180 is opened on container start, is empty until the first client 4181 attaches to stdin, and then remains open and accepts data 4182 until the client disconnects, at which time stdin is closed 4183 and remains closed until the container is restarted. If this 4184 flag is false, a container processes that reads from stdin 4185 will never receive an EOF. Default is false 4186 type: boolean 4187 terminationMessagePath: 4188 description: 'Optional: Path at which the file to which the 4189 container''s termination message will be written is mounted 4190 into the container''s filesystem. Message written is intended 4191 to be brief final status, such as an assertion failure message. 4192 Will be truncated by the node if greater than 4096 bytes. 4193 The total message length across all containers will be limited 4194 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 4195 type: string 4196 terminationMessagePolicy: 4197 description: Indicate how the termination message should be 4198 populated. File will use the contents of terminationMessagePath 4199 to populate the container status message on both success and 4200 failure. FallbackToLogsOnError will use the last chunk of 4201 container log output if the termination message file is empty 4202 and the container exited with an error. The log output is 4203 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 4204 to File. Cannot be updated. 4205 type: string 4206 tty: 4207 description: Whether this container should allocate a TTY for 4208 itself, also requires 'stdin' to be true. Default is false. 4209 type: boolean 4210 volumeDevices: 4211 description: volumeDevices is the list of block devices to be 4212 used by the container. 4213 items: 4214 description: volumeDevice describes a mapping of a raw block 4215 device within a container. 4216 properties: 4217 devicePath: 4218 description: devicePath is the path inside of the container 4219 that the device will be mapped to. 4220 type: string 4221 name: 4222 description: name must match the name of a persistentVolumeClaim 4223 in the pod 4224 type: string 4225 required: 4226 - devicePath 4227 - name 4228 type: object 4229 type: array 4230 volumeMounts: 4231 description: Pod volumes to mount into the container's filesystem. 4232 Cannot be updated. 4233 items: 4234 description: VolumeMount describes a mounting of a Volume 4235 within a container. 4236 properties: 4237 mountPath: 4238 description: Path within the container at which the volume 4239 should be mounted. Must not contain ':'. 4240 type: string 4241 mountPropagation: 4242 description: mountPropagation determines how mounts are 4243 propagated from the host to container and the other 4244 way around. When not set, MountPropagationNone is used. 4245 This field is beta in 1.10. 4246 type: string 4247 name: 4248 description: This must match the Name of a Volume. 4249 type: string 4250 readOnly: 4251 description: Mounted read-only if true, read-write otherwise 4252 (false or unspecified). Defaults to false. 4253 type: boolean 4254 subPath: 4255 description: Path within the volume from which the container's 4256 volume should be mounted. Defaults to "" (volume's root). 4257 type: string 4258 subPathExpr: 4259 description: Expanded path within the volume from which 4260 the container's volume should be mounted. Behaves similarly 4261 to SubPath but environment variable references $(VAR_NAME) 4262 are expanded using the container's environment. Defaults 4263 to "" (volume's root). SubPathExpr and SubPath are mutually 4264 exclusive. 4265 type: string 4266 required: 4267 - mountPath 4268 - name 4269 type: object 4270 type: array 4271 workingDir: 4272 description: Container's working directory. If not specified, 4273 the container runtime's default will be used, which might 4274 be configured in the container image. Cannot be updated. 4275 type: string 4276 required: 4277 - name 4278 type: object 4279 type: array 4280 externalUrl: 4281 description: The external URL the Alertmanager instances will be available 4282 under. This is necessary to generate correct URLs. This is necessary 4283 if Alertmanager is not served from root of a DNS name. 4284 type: string 4285 forceEnableClusterMode: 4286 description: ForceEnableClusterMode ensures Alertmanager does not 4287 deactivate the cluster mode when running with a single replica. 4288 Use case is e.g. spanning an Alertmanager cluster across Kubernetes 4289 clusters with a single replica in each. 4290 type: boolean 4291 image: 4292 description: Image if specified has precedence over baseImage, tag 4293 and sha combinations. Specifying the version is still necessary 4294 to ensure the Prometheus Operator knows what version of Alertmanager 4295 is being configured. 4296 type: string 4297 imagePullSecrets: 4298 description: An optional list of references to secrets in the same 4299 namespace to use for pulling prometheus and alertmanager images 4300 from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod 4301 items: 4302 description: LocalObjectReference contains enough information to 4303 let you locate the referenced object inside the same namespace. 4304 properties: 4305 name: 4306 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4307 TODO: Add other useful fields. apiVersion, kind, uid?' 4308 type: string 4309 type: object 4310 type: array 4311 initContainers: 4312 description: 'InitContainers allows adding initContainers to the pod 4313 definition. Those can be used to e.g. fetch secrets for injection 4314 into the Alertmanager configuration from external sources. Any errors 4315 during the execution of an initContainer will lead to a restart 4316 of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ 4317 Using initContainers for any use case other then secret fetching 4318 is entirely outside the scope of what the maintainers will support 4319 and by doing so, you accept that this behaviour may break at any 4320 time without notice.' 4321 items: 4322 description: A single application container that you want to run 4323 within a pod. 4324 properties: 4325 args: 4326 description: 'Arguments to the entrypoint. The docker image''s 4327 CMD is used if this is not provided. Variable references $(VAR_NAME) 4328 are expanded using the container''s environment. If a variable 4329 cannot be resolved, the reference in the input string will 4330 be unchanged. The $(VAR_NAME) syntax can be escaped with a 4331 double $$, ie: $$(VAR_NAME). Escaped references will never 4332 be expanded, regardless of whether the variable exists or 4333 not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 4334 items: 4335 type: string 4336 type: array 4337 command: 4338 description: 'Entrypoint array. Not executed within a shell. 4339 The docker image''s ENTRYPOINT is used if this is not provided. 4340 Variable references $(VAR_NAME) are expanded using the container''s 4341 environment. If a variable cannot be resolved, the reference 4342 in the input string will be unchanged. The $(VAR_NAME) syntax 4343 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 4344 references will never be expanded, regardless of whether the 4345 variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 4346 items: 4347 type: string 4348 type: array 4349 env: 4350 description: List of environment variables to set in the container. 4351 Cannot be updated. 4352 items: 4353 description: EnvVar represents an environment variable present 4354 in a Container. 4355 properties: 4356 name: 4357 description: Name of the environment variable. Must be 4358 a C_IDENTIFIER. 4359 type: string 4360 value: 4361 description: 'Variable references $(VAR_NAME) are expanded 4362 using the previous defined environment variables in 4363 the container and any service environment variables. 4364 If a variable cannot be resolved, the reference in the 4365 input string will be unchanged. The $(VAR_NAME) syntax 4366 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 4367 references will never be expanded, regardless of whether 4368 the variable exists or not. Defaults to "".' 4369 type: string 4370 valueFrom: 4371 description: Source for the environment variable's value. 4372 Cannot be used if value is not empty. 4373 properties: 4374 configMapKeyRef: 4375 description: Selects a key of a ConfigMap. 4376 properties: 4377 key: 4378 description: The key to select. 4379 type: string 4380 name: 4381 description: 'Name of the referent. More info: 4382 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4383 TODO: Add other useful fields. apiVersion, kind, 4384 uid?' 4385 type: string 4386 optional: 4387 description: Specify whether the ConfigMap or 4388 its key must be defined 4389 type: boolean 4390 required: 4391 - key 4392 type: object 4393 fieldRef: 4394 description: 'Selects a field of the pod: supports 4395 metadata.name, metadata.namespace, metadata.labels, 4396 metadata.annotations, spec.nodeName, spec.serviceAccountName, 4397 status.hostIP, status.podIP, status.podIPs.' 4398 properties: 4399 apiVersion: 4400 description: Version of the schema the FieldPath 4401 is written in terms of, defaults to "v1". 4402 type: string 4403 fieldPath: 4404 description: Path of the field to select in the 4405 specified API version. 4406 type: string 4407 required: 4408 - fieldPath 4409 type: object 4410 resourceFieldRef: 4411 description: 'Selects a resource of the container: 4412 only resources limits and requests (limits.cpu, 4413 limits.memory, limits.ephemeral-storage, requests.cpu, 4414 requests.memory and requests.ephemeral-storage) 4415 are currently supported.' 4416 properties: 4417 containerName: 4418 description: 'Container name: required for volumes, 4419 optional for env vars' 4420 type: string 4421 divisor: 4422 anyOf: 4423 - type: integer 4424 - type: string 4425 description: Specifies the output format of the 4426 exposed resources, defaults to "1" 4427 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 4428 x-kubernetes-int-or-string: true 4429 resource: 4430 description: 'Required: resource to select' 4431 type: string 4432 required: 4433 - resource 4434 type: object 4435 secretKeyRef: 4436 description: Selects a key of a secret in the pod's 4437 namespace 4438 properties: 4439 key: 4440 description: The key of the secret to select from. Must 4441 be a valid secret key. 4442 type: string 4443 name: 4444 description: 'Name of the referent. More info: 4445 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4446 TODO: Add other useful fields. apiVersion, kind, 4447 uid?' 4448 type: string 4449 optional: 4450 description: Specify whether the Secret or its 4451 key must be defined 4452 type: boolean 4453 required: 4454 - key 4455 type: object 4456 type: object 4457 required: 4458 - name 4459 type: object 4460 type: array 4461 envFrom: 4462 description: List of sources to populate environment variables 4463 in the container. The keys defined within a source must be 4464 a C_IDENTIFIER. All invalid keys will be reported as an event 4465 when the container is starting. When a key exists in multiple 4466 sources, the value associated with the last source will take 4467 precedence. Values defined by an Env with a duplicate key 4468 will take precedence. Cannot be updated. 4469 items: 4470 description: EnvFromSource represents the source of a set 4471 of ConfigMaps 4472 properties: 4473 configMapRef: 4474 description: The ConfigMap to select from 4475 properties: 4476 name: 4477 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4478 TODO: Add other useful fields. apiVersion, kind, 4479 uid?' 4480 type: string 4481 optional: 4482 description: Specify whether the ConfigMap must be 4483 defined 4484 type: boolean 4485 type: object 4486 prefix: 4487 description: An optional identifier to prepend to each 4488 key in the ConfigMap. Must be a C_IDENTIFIER. 4489 type: string 4490 secretRef: 4491 description: The Secret to select from 4492 properties: 4493 name: 4494 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 4495 TODO: Add other useful fields. apiVersion, kind, 4496 uid?' 4497 type: string 4498 optional: 4499 description: Specify whether the Secret must be defined 4500 type: boolean 4501 type: object 4502 type: object 4503 type: array 4504 image: 4505 description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images 4506 This field is optional to allow higher level config management 4507 to default or override container images in workload controllers 4508 like Deployments and StatefulSets.' 4509 type: string 4510 imagePullPolicy: 4511 description: 'Image pull policy. One of Always, Never, IfNotPresent. 4512 Defaults to Always if :latest tag is specified, or IfNotPresent 4513 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 4514 type: string 4515 lifecycle: 4516 description: Actions that the management system should take 4517 in response to container lifecycle events. Cannot be updated. 4518 properties: 4519 postStart: 4520 description: 'PostStart is called immediately after a container 4521 is created. If the handler fails, the container is terminated 4522 and restarted according to its restart policy. Other management 4523 of the container blocks until the hook completes. More 4524 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 4525 properties: 4526 exec: 4527 description: One and only one of the following should 4528 be specified. Exec specifies the action to take. 4529 properties: 4530 command: 4531 description: Command is the command line to execute 4532 inside the container, the working directory for 4533 the command is root ('/') in the container's 4534 filesystem. The command is simply exec'd, it is 4535 not run inside a shell, so traditional shell instructions 4536 ('|', etc) won't work. To use a shell, you need 4537 to explicitly call out to that shell. Exit status 4538 of 0 is treated as live/healthy and non-zero is 4539 unhealthy. 4540 items: 4541 type: string 4542 type: array 4543 type: object 4544 httpGet: 4545 description: HTTPGet specifies the http request to perform. 4546 properties: 4547 host: 4548 description: Host name to connect to, defaults to 4549 the pod IP. You probably want to set "Host" in 4550 httpHeaders instead. 4551 type: string 4552 httpHeaders: 4553 description: Custom headers to set in the request. 4554 HTTP allows repeated headers. 4555 items: 4556 description: HTTPHeader describes a custom header 4557 to be used in HTTP probes 4558 properties: 4559 name: 4560 description: The header field name 4561 type: string 4562 value: 4563 description: The header field value 4564 type: string 4565 required: 4566 - name 4567 - value 4568 type: object 4569 type: array 4570 path: 4571 description: Path to access on the HTTP server. 4572 type: string 4573 port: 4574 anyOf: 4575 - type: integer 4576 - type: string 4577 description: Name or number of the port to access 4578 on the container. Number must be in the range 4579 1 to 65535. Name must be an IANA_SVC_NAME. 4580 x-kubernetes-int-or-string: true 4581 scheme: 4582 description: Scheme to use for connecting to the 4583 host. Defaults to HTTP. 4584 type: string 4585 required: 4586 - port 4587 type: object 4588 tcpSocket: 4589 description: 'TCPSocket specifies an action involving 4590 a TCP port. TCP hooks not yet supported TODO: implement 4591 a realistic TCP lifecycle hook' 4592 properties: 4593 host: 4594 description: 'Optional: Host name to connect to, 4595 defaults to the pod IP.' 4596 type: string 4597 port: 4598 anyOf: 4599 - type: integer 4600 - type: string 4601 description: Number or name of the port to access 4602 on the container. Number must be in the range 4603 1 to 65535. Name must be an IANA_SVC_NAME. 4604 x-kubernetes-int-or-string: true 4605 required: 4606 - port 4607 type: object 4608 type: object 4609 preStop: 4610 description: 'PreStop is called immediately before a container 4611 is terminated due to an API request or management event 4612 such as liveness/startup probe failure, preemption, resource 4613 contention, etc. The handler is not called if the container 4614 crashes or exits. The reason for termination is passed 4615 to the handler. The Pod''s termination grace period countdown 4616 begins before the PreStop hooked is executed. Regardless 4617 of the outcome of the handler, the container will eventually 4618 terminate within the Pod''s termination grace period. 4619 Other management of the container blocks until the hook 4620 completes or until the termination grace period is reached. 4621 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 4622 properties: 4623 exec: 4624 description: One and only one of the following should 4625 be specified. Exec specifies the action to take. 4626 properties: 4627 command: 4628 description: Command is the command line to execute 4629 inside the container, the working directory for 4630 the command is root ('/') in the container's 4631 filesystem. The command is simply exec'd, it is 4632 not run inside a shell, so traditional shell instructions 4633 ('|', etc) won't work. To use a shell, you need 4634 to explicitly call out to that shell. Exit status 4635 of 0 is treated as live/healthy and non-zero is 4636 unhealthy. 4637 items: 4638 type: string 4639 type: array 4640 type: object 4641 httpGet: 4642 description: HTTPGet specifies the http request to perform. 4643 properties: 4644 host: 4645 description: Host name to connect to, defaults to 4646 the pod IP. You probably want to set "Host" in 4647 httpHeaders instead. 4648 type: string 4649 httpHeaders: 4650 description: Custom headers to set in the request. 4651 HTTP allows repeated headers. 4652 items: 4653 description: HTTPHeader describes a custom header 4654 to be used in HTTP probes 4655 properties: 4656 name: 4657 description: The header field name 4658 type: string 4659 value: 4660 description: The header field value 4661 type: string 4662 required: 4663 - name 4664 - value 4665 type: object 4666 type: array 4667 path: 4668 description: Path to access on the HTTP server. 4669 type: string 4670 port: 4671 anyOf: 4672 - type: integer 4673 - type: string 4674 description: Name or number of the port to access 4675 on the container. Number must be in the range 4676 1 to 65535. Name must be an IANA_SVC_NAME. 4677 x-kubernetes-int-or-string: true 4678 scheme: 4679 description: Scheme to use for connecting to the 4680 host. Defaults to HTTP. 4681 type: string 4682 required: 4683 - port 4684 type: object 4685 tcpSocket: 4686 description: 'TCPSocket specifies an action involving 4687 a TCP port. TCP hooks not yet supported TODO: implement 4688 a realistic TCP lifecycle hook' 4689 properties: 4690 host: 4691 description: 'Optional: Host name to connect to, 4692 defaults to the pod IP.' 4693 type: string 4694 port: 4695 anyOf: 4696 - type: integer 4697 - type: string 4698 description: Number or name of the port to access 4699 on the container. Number must be in the range 4700 1 to 65535. Name must be an IANA_SVC_NAME. 4701 x-kubernetes-int-or-string: true 4702 required: 4703 - port 4704 type: object 4705 type: object 4706 type: object 4707 livenessProbe: 4708 description: 'Periodic probe of container liveness. Container 4709 will be restarted if the probe fails. Cannot be updated. More 4710 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4711 properties: 4712 exec: 4713 description: One and only one of the following should be 4714 specified. Exec specifies the action to take. 4715 properties: 4716 command: 4717 description: Command is the command line to execute 4718 inside the container, the working directory for the 4719 command is root ('/') in the container's filesystem. 4720 The command is simply exec'd, it is not run inside 4721 a shell, so traditional shell instructions ('|', etc) 4722 won't work. To use a shell, you need to explicitly 4723 call out to that shell. Exit status of 0 is treated 4724 as live/healthy and non-zero is unhealthy. 4725 items: 4726 type: string 4727 type: array 4728 type: object 4729 failureThreshold: 4730 description: Minimum consecutive failures for the probe 4731 to be considered failed after having succeeded. Defaults 4732 to 3. Minimum value is 1. 4733 format: int32 4734 type: integer 4735 httpGet: 4736 description: HTTPGet specifies the http request to perform. 4737 properties: 4738 host: 4739 description: Host name to connect to, defaults to the 4740 pod IP. You probably want to set "Host" in httpHeaders 4741 instead. 4742 type: string 4743 httpHeaders: 4744 description: Custom headers to set in the request. HTTP 4745 allows repeated headers. 4746 items: 4747 description: HTTPHeader describes a custom header 4748 to be used in HTTP probes 4749 properties: 4750 name: 4751 description: The header field name 4752 type: string 4753 value: 4754 description: The header field value 4755 type: string 4756 required: 4757 - name 4758 - value 4759 type: object 4760 type: array 4761 path: 4762 description: Path to access on the HTTP server. 4763 type: string 4764 port: 4765 anyOf: 4766 - type: integer 4767 - type: string 4768 description: Name or number of the port to access on 4769 the container. Number must be in the range 1 to 65535. 4770 Name must be an IANA_SVC_NAME. 4771 x-kubernetes-int-or-string: true 4772 scheme: 4773 description: Scheme to use for connecting to the host. 4774 Defaults to HTTP. 4775 type: string 4776 required: 4777 - port 4778 type: object 4779 initialDelaySeconds: 4780 description: 'Number of seconds after the container has 4781 started before liveness probes are initiated. More info: 4782 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4783 format: int32 4784 type: integer 4785 periodSeconds: 4786 description: How often (in seconds) to perform the probe. 4787 Default to 10 seconds. Minimum value is 1. 4788 format: int32 4789 type: integer 4790 successThreshold: 4791 description: Minimum consecutive successes for the probe 4792 to be considered successful after having failed. Defaults 4793 to 1. Must be 1 for liveness and startup. Minimum value 4794 is 1. 4795 format: int32 4796 type: integer 4797 tcpSocket: 4798 description: 'TCPSocket specifies an action involving a 4799 TCP port. TCP hooks not yet supported TODO: implement 4800 a realistic TCP lifecycle hook' 4801 properties: 4802 host: 4803 description: 'Optional: Host name to connect to, defaults 4804 to the pod IP.' 4805 type: string 4806 port: 4807 anyOf: 4808 - type: integer 4809 - type: string 4810 description: Number or name of the port to access on 4811 the container. Number must be in the range 1 to 65535. 4812 Name must be an IANA_SVC_NAME. 4813 x-kubernetes-int-or-string: true 4814 required: 4815 - port 4816 type: object 4817 timeoutSeconds: 4818 description: 'Number of seconds after which the probe times 4819 out. Defaults to 1 second. Minimum value is 1. More info: 4820 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4821 format: int32 4822 type: integer 4823 type: object 4824 name: 4825 description: Name of the container specified as a DNS_LABEL. 4826 Each container in a pod must have a unique name (DNS_LABEL). 4827 Cannot be updated. 4828 type: string 4829 ports: 4830 description: List of ports to expose from the container. Exposing 4831 a port here gives the system additional information about 4832 the network connections a container uses, but is primarily 4833 informational. Not specifying a port here DOES NOT prevent 4834 that port from being exposed. Any port which is listening 4835 on the default "0.0.0.0" address inside a container will be 4836 accessible from the network. Cannot be updated. 4837 items: 4838 description: ContainerPort represents a network port in a 4839 single container. 4840 properties: 4841 containerPort: 4842 description: Number of port to expose on the pod's IP 4843 address. This must be a valid port number, 0 < x < 65536. 4844 format: int32 4845 type: integer 4846 hostIP: 4847 description: What host IP to bind the external port to. 4848 type: string 4849 hostPort: 4850 description: Number of port to expose on the host. If 4851 specified, this must be a valid port number, 0 < x < 4852 65536. If HostNetwork is specified, this must match 4853 ContainerPort. Most containers do not need this. 4854 format: int32 4855 type: integer 4856 name: 4857 description: If specified, this must be an IANA_SVC_NAME 4858 and unique within the pod. Each named port in a pod 4859 must have a unique name. Name for the port that can 4860 be referred to by services. 4861 type: string 4862 protocol: 4863 default: TCP 4864 description: Protocol for port. Must be UDP, TCP, or SCTP. 4865 Defaults to "TCP". 4866 type: string 4867 required: 4868 - containerPort 4869 type: object 4870 type: array 4871 x-kubernetes-list-map-keys: 4872 - containerPort 4873 - protocol 4874 x-kubernetes-list-type: map 4875 readinessProbe: 4876 description: 'Periodic probe of container service readiness. 4877 Container will be removed from service endpoints if the probe 4878 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4879 properties: 4880 exec: 4881 description: One and only one of the following should be 4882 specified. Exec specifies the action to take. 4883 properties: 4884 command: 4885 description: Command is the command line to execute 4886 inside the container, the working directory for the 4887 command is root ('/') in the container's filesystem. 4888 The command is simply exec'd, it is not run inside 4889 a shell, so traditional shell instructions ('|', etc) 4890 won't work. To use a shell, you need to explicitly 4891 call out to that shell. Exit status of 0 is treated 4892 as live/healthy and non-zero is unhealthy. 4893 items: 4894 type: string 4895 type: array 4896 type: object 4897 failureThreshold: 4898 description: Minimum consecutive failures for the probe 4899 to be considered failed after having succeeded. Defaults 4900 to 3. Minimum value is 1. 4901 format: int32 4902 type: integer 4903 httpGet: 4904 description: HTTPGet specifies the http request to perform. 4905 properties: 4906 host: 4907 description: Host name to connect to, defaults to the 4908 pod IP. You probably want to set "Host" in httpHeaders 4909 instead. 4910 type: string 4911 httpHeaders: 4912 description: Custom headers to set in the request. HTTP 4913 allows repeated headers. 4914 items: 4915 description: HTTPHeader describes a custom header 4916 to be used in HTTP probes 4917 properties: 4918 name: 4919 description: The header field name 4920 type: string 4921 value: 4922 description: The header field value 4923 type: string 4924 required: 4925 - name 4926 - value 4927 type: object 4928 type: array 4929 path: 4930 description: Path to access on the HTTP server. 4931 type: string 4932 port: 4933 anyOf: 4934 - type: integer 4935 - type: string 4936 description: Name or number of the port to access on 4937 the container. Number must be in the range 1 to 65535. 4938 Name must be an IANA_SVC_NAME. 4939 x-kubernetes-int-or-string: true 4940 scheme: 4941 description: Scheme to use for connecting to the host. 4942 Defaults to HTTP. 4943 type: string 4944 required: 4945 - port 4946 type: object 4947 initialDelaySeconds: 4948 description: 'Number of seconds after the container has 4949 started before liveness probes are initiated. More info: 4950 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4951 format: int32 4952 type: integer 4953 periodSeconds: 4954 description: How often (in seconds) to perform the probe. 4955 Default to 10 seconds. Minimum value is 1. 4956 format: int32 4957 type: integer 4958 successThreshold: 4959 description: Minimum consecutive successes for the probe 4960 to be considered successful after having failed. Defaults 4961 to 1. Must be 1 for liveness and startup. Minimum value 4962 is 1. 4963 format: int32 4964 type: integer 4965 tcpSocket: 4966 description: 'TCPSocket specifies an action involving a 4967 TCP port. TCP hooks not yet supported TODO: implement 4968 a realistic TCP lifecycle hook' 4969 properties: 4970 host: 4971 description: 'Optional: Host name to connect to, defaults 4972 to the pod IP.' 4973 type: string 4974 port: 4975 anyOf: 4976 - type: integer 4977 - type: string 4978 description: Number or name of the port to access on 4979 the container. Number must be in the range 1 to 65535. 4980 Name must be an IANA_SVC_NAME. 4981 x-kubernetes-int-or-string: true 4982 required: 4983 - port 4984 type: object 4985 timeoutSeconds: 4986 description: 'Number of seconds after which the probe times 4987 out. Defaults to 1 second. Minimum value is 1. More info: 4988 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 4989 format: int32 4990 type: integer 4991 type: object 4992 resources: 4993 description: 'Compute Resources required by this container. 4994 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 4995 properties: 4996 limits: 4997 additionalProperties: 4998 anyOf: 4999 - type: integer 5000 - type: string 5001 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5002 x-kubernetes-int-or-string: true 5003 description: 'Limits describes the maximum amount of compute 5004 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 5005 type: object 5006 requests: 5007 additionalProperties: 5008 anyOf: 5009 - type: integer 5010 - type: string 5011 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5012 x-kubernetes-int-or-string: true 5013 description: 'Requests describes the minimum amount of compute 5014 resources required. If Requests is omitted for a container, 5015 it defaults to Limits if that is explicitly specified, 5016 otherwise to an implementation-defined value. More info: 5017 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 5018 type: object 5019 type: object 5020 securityContext: 5021 description: 'Security options the pod should run with. More 5022 info: https://kubernetes.io/docs/concepts/policy/security-context/ 5023 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 5024 properties: 5025 allowPrivilegeEscalation: 5026 description: 'AllowPrivilegeEscalation controls whether 5027 a process can gain more privileges than its parent process. 5028 This bool directly controls if the no_new_privs flag will 5029 be set on the container process. AllowPrivilegeEscalation 5030 is true always when the container is: 1) run as Privileged 5031 2) has CAP_SYS_ADMIN' 5032 type: boolean 5033 capabilities: 5034 description: The capabilities to add/drop when running containers. 5035 Defaults to the default set of capabilities granted by 5036 the container runtime. 5037 properties: 5038 add: 5039 description: Added capabilities 5040 items: 5041 description: Capability represent POSIX capabilities 5042 type 5043 type: string 5044 type: array 5045 drop: 5046 description: Removed capabilities 5047 items: 5048 description: Capability represent POSIX capabilities 5049 type 5050 type: string 5051 type: array 5052 type: object 5053 privileged: 5054 description: Run container in privileged mode. Processes 5055 in privileged containers are essentially equivalent to 5056 root on the host. Defaults to false. 5057 type: boolean 5058 procMount: 5059 description: procMount denotes the type of proc mount to 5060 use for the containers. The default is DefaultProcMount 5061 which uses the container runtime defaults for readonly 5062 paths and masked paths. This requires the ProcMountType 5063 feature flag to be enabled. 5064 type: string 5065 readOnlyRootFilesystem: 5066 description: Whether this container has a read-only root 5067 filesystem. Default is false. 5068 type: boolean 5069 runAsGroup: 5070 description: The GID to run the entrypoint of the container 5071 process. Uses runtime default if unset. May also be set 5072 in PodSecurityContext. If set in both SecurityContext 5073 and PodSecurityContext, the value specified in SecurityContext 5074 takes precedence. 5075 format: int64 5076 type: integer 5077 runAsNonRoot: 5078 description: Indicates that the container must run as a 5079 non-root user. If true, the Kubelet will validate the 5080 image at runtime to ensure that it does not run as UID 5081 0 (root) and fail to start the container if it does. If 5082 unset or false, no such validation will be performed. 5083 May also be set in PodSecurityContext. If set in both 5084 SecurityContext and PodSecurityContext, the value specified 5085 in SecurityContext takes precedence. 5086 type: boolean 5087 runAsUser: 5088 description: The UID to run the entrypoint of the container 5089 process. Defaults to user specified in image metadata 5090 if unspecified. May also be set in PodSecurityContext. If 5091 set in both SecurityContext and PodSecurityContext, the 5092 value specified in SecurityContext takes precedence. 5093 format: int64 5094 type: integer 5095 seLinuxOptions: 5096 description: The SELinux context to be applied to the container. 5097 If unspecified, the container runtime will allocate a 5098 random SELinux context for each container. May also be 5099 set in PodSecurityContext. If set in both SecurityContext 5100 and PodSecurityContext, the value specified in SecurityContext 5101 takes precedence. 5102 properties: 5103 level: 5104 description: Level is SELinux level label that applies 5105 to the container. 5106 type: string 5107 role: 5108 description: Role is a SELinux role label that applies 5109 to the container. 5110 type: string 5111 type: 5112 description: Type is a SELinux type label that applies 5113 to the container. 5114 type: string 5115 user: 5116 description: User is a SELinux user label that applies 5117 to the container. 5118 type: string 5119 type: object 5120 windowsOptions: 5121 description: The Windows specific settings applied to all 5122 containers. If unspecified, the options from the PodSecurityContext 5123 will be used. If set in both SecurityContext and PodSecurityContext, 5124 the value specified in SecurityContext takes precedence. 5125 properties: 5126 gmsaCredentialSpec: 5127 description: GMSACredentialSpec is where the GMSA admission 5128 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 5129 inlines the contents of the GMSA credential spec named 5130 by the GMSACredentialSpecName field. 5131 type: string 5132 gmsaCredentialSpecName: 5133 description: GMSACredentialSpecName is the name of the 5134 GMSA credential spec to use. 5135 type: string 5136 runAsUserName: 5137 description: The UserName in Windows to run the entrypoint 5138 of the container process. Defaults to the user specified 5139 in image metadata if unspecified. May also be set 5140 in PodSecurityContext. If set in both SecurityContext 5141 and PodSecurityContext, the value specified in SecurityContext 5142 takes precedence. 5143 type: string 5144 type: object 5145 type: object 5146 startupProbe: 5147 description: 'StartupProbe indicates that the Pod has successfully 5148 initialized. If specified, no other probes are executed until 5149 this completes successfully. If this probe fails, the Pod 5150 will be restarted, just as if the livenessProbe failed. This 5151 can be used to provide different probe parameters at the beginning 5152 of a Pod''s lifecycle, when it might take a long time to load 5153 data or warm a cache, than during steady-state operation. 5154 This cannot be updated. This is a beta feature enabled by 5155 the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5156 properties: 5157 exec: 5158 description: One and only one of the following should be 5159 specified. Exec specifies the action to take. 5160 properties: 5161 command: 5162 description: Command is the command line to execute 5163 inside the container, the working directory for the 5164 command is root ('/') in the container's filesystem. 5165 The command is simply exec'd, it is not run inside 5166 a shell, so traditional shell instructions ('|', etc) 5167 won't work. To use a shell, you need to explicitly 5168 call out to that shell. Exit status of 0 is treated 5169 as live/healthy and non-zero is unhealthy. 5170 items: 5171 type: string 5172 type: array 5173 type: object 5174 failureThreshold: 5175 description: Minimum consecutive failures for the probe 5176 to be considered failed after having succeeded. Defaults 5177 to 3. Minimum value is 1. 5178 format: int32 5179 type: integer 5180 httpGet: 5181 description: HTTPGet specifies the http request to perform. 5182 properties: 5183 host: 5184 description: Host name to connect to, defaults to the 5185 pod IP. You probably want to set "Host" in httpHeaders 5186 instead. 5187 type: string 5188 httpHeaders: 5189 description: Custom headers to set in the request. HTTP 5190 allows repeated headers. 5191 items: 5192 description: HTTPHeader describes a custom header 5193 to be used in HTTP probes 5194 properties: 5195 name: 5196 description: The header field name 5197 type: string 5198 value: 5199 description: The header field value 5200 type: string 5201 required: 5202 - name 5203 - value 5204 type: object 5205 type: array 5206 path: 5207 description: Path to access on the HTTP server. 5208 type: string 5209 port: 5210 anyOf: 5211 - type: integer 5212 - type: string 5213 description: Name or number of the port to access on 5214 the container. Number must be in the range 1 to 65535. 5215 Name must be an IANA_SVC_NAME. 5216 x-kubernetes-int-or-string: true 5217 scheme: 5218 description: Scheme to use for connecting to the host. 5219 Defaults to HTTP. 5220 type: string 5221 required: 5222 - port 5223 type: object 5224 initialDelaySeconds: 5225 description: 'Number of seconds after the container has 5226 started before liveness probes are initiated. More info: 5227 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5228 format: int32 5229 type: integer 5230 periodSeconds: 5231 description: How often (in seconds) to perform the probe. 5232 Default to 10 seconds. Minimum value is 1. 5233 format: int32 5234 type: integer 5235 successThreshold: 5236 description: Minimum consecutive successes for the probe 5237 to be considered successful after having failed. Defaults 5238 to 1. Must be 1 for liveness and startup. Minimum value 5239 is 1. 5240 format: int32 5241 type: integer 5242 tcpSocket: 5243 description: 'TCPSocket specifies an action involving a 5244 TCP port. TCP hooks not yet supported TODO: implement 5245 a realistic TCP lifecycle hook' 5246 properties: 5247 host: 5248 description: 'Optional: Host name to connect to, defaults 5249 to the pod IP.' 5250 type: string 5251 port: 5252 anyOf: 5253 - type: integer 5254 - type: string 5255 description: Number or name of the port to access on 5256 the container. Number must be in the range 1 to 65535. 5257 Name must be an IANA_SVC_NAME. 5258 x-kubernetes-int-or-string: true 5259 required: 5260 - port 5261 type: object 5262 timeoutSeconds: 5263 description: 'Number of seconds after which the probe times 5264 out. Defaults to 1 second. Minimum value is 1. More info: 5265 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 5266 format: int32 5267 type: integer 5268 type: object 5269 stdin: 5270 description: Whether this container should allocate a buffer 5271 for stdin in the container runtime. If this is not set, reads 5272 from stdin in the container will always result in EOF. Default 5273 is false. 5274 type: boolean 5275 stdinOnce: 5276 description: Whether the container runtime should close the 5277 stdin channel after it has been opened by a single attach. 5278 When stdin is true the stdin stream will remain open across 5279 multiple attach sessions. If stdinOnce is set to true, stdin 5280 is opened on container start, is empty until the first client 5281 attaches to stdin, and then remains open and accepts data 5282 until the client disconnects, at which time stdin is closed 5283 and remains closed until the container is restarted. If this 5284 flag is false, a container processes that reads from stdin 5285 will never receive an EOF. Default is false 5286 type: boolean 5287 terminationMessagePath: 5288 description: 'Optional: Path at which the file to which the 5289 container''s termination message will be written is mounted 5290 into the container''s filesystem. Message written is intended 5291 to be brief final status, such as an assertion failure message. 5292 Will be truncated by the node if greater than 4096 bytes. 5293 The total message length across all containers will be limited 5294 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 5295 type: string 5296 terminationMessagePolicy: 5297 description: Indicate how the termination message should be 5298 populated. File will use the contents of terminationMessagePath 5299 to populate the container status message on both success and 5300 failure. FallbackToLogsOnError will use the last chunk of 5301 container log output if the termination message file is empty 5302 and the container exited with an error. The log output is 5303 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 5304 to File. Cannot be updated. 5305 type: string 5306 tty: 5307 description: Whether this container should allocate a TTY for 5308 itself, also requires 'stdin' to be true. Default is false. 5309 type: boolean 5310 volumeDevices: 5311 description: volumeDevices is the list of block devices to be 5312 used by the container. 5313 items: 5314 description: volumeDevice describes a mapping of a raw block 5315 device within a container. 5316 properties: 5317 devicePath: 5318 description: devicePath is the path inside of the container 5319 that the device will be mapped to. 5320 type: string 5321 name: 5322 description: name must match the name of a persistentVolumeClaim 5323 in the pod 5324 type: string 5325 required: 5326 - devicePath 5327 - name 5328 type: object 5329 type: array 5330 volumeMounts: 5331 description: Pod volumes to mount into the container's filesystem. 5332 Cannot be updated. 5333 items: 5334 description: VolumeMount describes a mounting of a Volume 5335 within a container. 5336 properties: 5337 mountPath: 5338 description: Path within the container at which the volume 5339 should be mounted. Must not contain ':'. 5340 type: string 5341 mountPropagation: 5342 description: mountPropagation determines how mounts are 5343 propagated from the host to container and the other 5344 way around. When not set, MountPropagationNone is used. 5345 This field is beta in 1.10. 5346 type: string 5347 name: 5348 description: This must match the Name of a Volume. 5349 type: string 5350 readOnly: 5351 description: Mounted read-only if true, read-write otherwise 5352 (false or unspecified). Defaults to false. 5353 type: boolean 5354 subPath: 5355 description: Path within the volume from which the container's 5356 volume should be mounted. Defaults to "" (volume's root). 5357 type: string 5358 subPathExpr: 5359 description: Expanded path within the volume from which 5360 the container's volume should be mounted. Behaves similarly 5361 to SubPath but environment variable references $(VAR_NAME) 5362 are expanded using the container's environment. Defaults 5363 to "" (volume's root). SubPathExpr and SubPath are mutually 5364 exclusive. 5365 type: string 5366 required: 5367 - mountPath 5368 - name 5369 type: object 5370 type: array 5371 workingDir: 5372 description: Container's working directory. If not specified, 5373 the container runtime's default will be used, which might 5374 be configured in the container image. Cannot be updated. 5375 type: string 5376 required: 5377 - name 5378 type: object 5379 type: array 5380 listenLocal: 5381 description: ListenLocal makes the Alertmanager server listen on loopback, 5382 so that it does not bind against the Pod IP. Note this is only for 5383 the Alertmanager UI, not the gossip communication. 5384 type: boolean 5385 logFormat: 5386 description: Log format for Alertmanager to be configured with. 5387 type: string 5388 logLevel: 5389 description: Log level for Alertmanager to be configured with. 5390 type: string 5391 nodeSelector: 5392 additionalProperties: 5393 type: string 5394 description: Define which Nodes the Pods are scheduled on. 5395 type: object 5396 paused: 5397 description: If set to true all actions on the underlying managed 5398 objects are not goint to be performed, except for delete actions. 5399 type: boolean 5400 podMetadata: 5401 description: PodMetadata configures Labels and Annotations which are 5402 propagated to the alertmanager pods. 5403 properties: 5404 annotations: 5405 additionalProperties: 5406 type: string 5407 description: 'Annotations is an unstructured key value map stored 5408 with a resource that may be set by external tools to store and 5409 retrieve arbitrary metadata. They are not queryable and should 5410 be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 5411 type: object 5412 labels: 5413 additionalProperties: 5414 type: string 5415 description: 'Map of string keys and values that can be used to 5416 organize and categorize (scope and select) objects. May match 5417 selectors of replication controllers and services. More info: 5418 http://kubernetes.io/docs/user-guide/labels' 5419 type: object 5420 name: 5421 description: 'Name must be unique within a namespace. Is required 5422 when creating resources, although some resources may allow a 5423 client to request the generation of an appropriate name automatically. 5424 Name is primarily intended for creation idempotence and configuration 5425 definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 5426 type: string 5427 type: object 5428 portName: 5429 description: Port name used for the pods and governing service. This 5430 defaults to web 5431 type: string 5432 priorityClassName: 5433 description: Priority class assigned to the Pods 5434 type: string 5435 replicas: 5436 description: Size is the expected size of the alertmanager cluster. 5437 The controller will eventually make the size of the running cluster 5438 equal to the expected size. 5439 format: int32 5440 type: integer 5441 resources: 5442 description: Define resources requests and limits for single Pods. 5443 properties: 5444 limits: 5445 additionalProperties: 5446 anyOf: 5447 - type: integer 5448 - type: string 5449 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5450 x-kubernetes-int-or-string: true 5451 description: 'Limits describes the maximum amount of compute resources 5452 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 5453 type: object 5454 requests: 5455 additionalProperties: 5456 anyOf: 5457 - type: integer 5458 - type: string 5459 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5460 x-kubernetes-int-or-string: true 5461 description: 'Requests describes the minimum amount of compute 5462 resources required. If Requests is omitted for a container, 5463 it defaults to Limits if that is explicitly specified, otherwise 5464 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 5465 type: object 5466 type: object 5467 retention: 5468 description: Time duration Alertmanager shall retain data for. Default 5469 is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)` 5470 (milliseconds seconds minutes hours). 5471 type: string 5472 routePrefix: 5473 description: The route prefix Alertmanager registers HTTP handlers 5474 for. This is useful, if using ExternalURL and a proxy is rewriting 5475 HTTP routes of a request, and the actual ExternalURL is still true, 5476 but the server serves requests under a different route prefix. For 5477 example for use with `kubectl proxy`. 5478 type: string 5479 secrets: 5480 description: Secrets is a list of Secrets in the same namespace as 5481 the Alertmanager object, which shall be mounted into the Alertmanager 5482 Pods. The Secrets are mounted into /etc/alertmanager/secrets/<secret-name>. 5483 items: 5484 type: string 5485 type: array 5486 securityContext: 5487 description: SecurityContext holds pod-level security attributes and 5488 common container settings. This defaults to the default PodSecurityContext. 5489 properties: 5490 fsGroup: 5491 description: "A special supplemental group that applies to all 5492 containers in a pod. Some volume types allow the Kubelet to 5493 change the ownership of that volume to be owned by the pod: 5494 \n 1. The owning GID will be the FSGroup 2. The setgid bit is 5495 set (new files created in the volume will be owned by FSGroup) 5496 3. The permission bits are OR'd with rw-rw---- \n If unset, 5497 the Kubelet will not modify the ownership and permissions of 5498 any volume." 5499 format: int64 5500 type: integer 5501 fsGroupChangePolicy: 5502 description: 'fsGroupChangePolicy defines behavior of changing 5503 ownership and permission of the volume before being exposed 5504 inside Pod. This field will only apply to volume types which 5505 support fsGroup based ownership(and permissions). It will have 5506 no effect on ephemeral volume types such as: secret, configmaps 5507 and emptydir. Valid values are "OnRootMismatch" and "Always". 5508 If not specified defaults to "Always".' 5509 type: string 5510 runAsGroup: 5511 description: The GID to run the entrypoint of the container process. 5512 Uses runtime default if unset. May also be set in SecurityContext. If 5513 set in both SecurityContext and PodSecurityContext, the value 5514 specified in SecurityContext takes precedence for that container. 5515 format: int64 5516 type: integer 5517 runAsNonRoot: 5518 description: Indicates that the container must run as a non-root 5519 user. If true, the Kubelet will validate the image at runtime 5520 to ensure that it does not run as UID 0 (root) and fail to start 5521 the container if it does. If unset or false, no such validation 5522 will be performed. May also be set in SecurityContext. If set 5523 in both SecurityContext and PodSecurityContext, the value specified 5524 in SecurityContext takes precedence. 5525 type: boolean 5526 runAsUser: 5527 description: The UID to run the entrypoint of the container process. 5528 Defaults to user specified in image metadata if unspecified. 5529 May also be set in SecurityContext. If set in both SecurityContext 5530 and PodSecurityContext, the value specified in SecurityContext 5531 takes precedence for that container. 5532 format: int64 5533 type: integer 5534 seLinuxOptions: 5535 description: The SELinux context to be applied to all containers. 5536 If unspecified, the container runtime will allocate a random 5537 SELinux context for each container. May also be set in SecurityContext. If 5538 set in both SecurityContext and PodSecurityContext, the value 5539 specified in SecurityContext takes precedence for that container. 5540 properties: 5541 level: 5542 description: Level is SELinux level label that applies to 5543 the container. 5544 type: string 5545 role: 5546 description: Role is a SELinux role label that applies to 5547 the container. 5548 type: string 5549 type: 5550 description: Type is a SELinux type label that applies to 5551 the container. 5552 type: string 5553 user: 5554 description: User is a SELinux user label that applies to 5555 the container. 5556 type: string 5557 type: object 5558 supplementalGroups: 5559 description: A list of groups applied to the first process run 5560 in each container, in addition to the container's primary GID. If 5561 unspecified, no groups will be added to any container. 5562 items: 5563 format: int64 5564 type: integer 5565 type: array 5566 sysctls: 5567 description: Sysctls hold a list of namespaced sysctls used for 5568 the pod. Pods with unsupported sysctls (by the container runtime) 5569 might fail to launch. 5570 items: 5571 description: Sysctl defines a kernel parameter to be set 5572 properties: 5573 name: 5574 description: Name of a property to set 5575 type: string 5576 value: 5577 description: Value of a property to set 5578 type: string 5579 required: 5580 - name 5581 - value 5582 type: object 5583 type: array 5584 windowsOptions: 5585 description: The Windows specific settings applied to all containers. 5586 If unspecified, the options within a container's SecurityContext 5587 will be used. If set in both SecurityContext and PodSecurityContext, 5588 the value specified in SecurityContext takes precedence. 5589 properties: 5590 gmsaCredentialSpec: 5591 description: GMSACredentialSpec is where the GMSA admission 5592 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 5593 inlines the contents of the GMSA credential spec named by 5594 the GMSACredentialSpecName field. 5595 type: string 5596 gmsaCredentialSpecName: 5597 description: GMSACredentialSpecName is the name of the GMSA 5598 credential spec to use. 5599 type: string 5600 runAsUserName: 5601 description: The UserName in Windows to run the entrypoint 5602 of the container process. Defaults to the user specified 5603 in image metadata if unspecified. May also be set in PodSecurityContext. 5604 If set in both SecurityContext and PodSecurityContext, the 5605 value specified in SecurityContext takes precedence. 5606 type: string 5607 type: object 5608 type: object 5609 serviceAccountName: 5610 description: ServiceAccountName is the name of the ServiceAccount 5611 to use to run the Prometheus Pods. 5612 type: string 5613 sha: 5614 description: 'SHA of Alertmanager container image to be deployed. 5615 Defaults to the value of `version`. Similar to a tag, but the SHA 5616 explicitly deploys an immutable container image. Version and Tag 5617 are ignored if SHA is set. Deprecated: use ''image'' instead. The 5618 image digest can be specified as part of the image URL.' 5619 type: string 5620 storage: 5621 description: Storage is the definition of how storage will be used 5622 by the Alertmanager instances. 5623 properties: 5624 disableMountSubPath: 5625 description: 'Deprecated: subPath usage will be disabled by default 5626 in a future release, this option will become unnecessary. DisableMountSubPath 5627 allows to remove any subPath usage in volume mounts.' 5628 type: boolean 5629 emptyDir: 5630 description: 'EmptyDirVolumeSource to be used by the Prometheus 5631 StatefulSets. If specified, used in place of any volumeClaimTemplate. 5632 More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' 5633 properties: 5634 medium: 5635 description: 'What type of storage medium should back this 5636 directory. The default is "" which means to use the node''s 5637 default medium. Must be an empty string (default) or Memory. 5638 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 5639 type: string 5640 sizeLimit: 5641 anyOf: 5642 - type: integer 5643 - type: string 5644 description: 'Total amount of local storage required for this 5645 EmptyDir volume. The size limit is also applicable for memory 5646 medium. The maximum usage on memory medium EmptyDir would 5647 be the minimum value between the SizeLimit specified here 5648 and the sum of memory limits of all containers in a pod. 5649 The default is nil which means that the limit is undefined. 5650 More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 5651 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5652 x-kubernetes-int-or-string: true 5653 type: object 5654 volumeClaimTemplate: 5655 description: A PVC spec to be used by the Prometheus StatefulSets. 5656 properties: 5657 apiVersion: 5658 description: 'APIVersion defines the versioned schema of this 5659 representation of an object. Servers should convert recognized 5660 schemas to the latest internal value, and may reject unrecognized 5661 values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 5662 type: string 5663 kind: 5664 description: 'Kind is a string value representing the REST 5665 resource this object represents. Servers may infer this 5666 from the endpoint the client submits requests to. Cannot 5667 be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 5668 type: string 5669 metadata: 5670 description: EmbeddedMetadata contains metadata relevant to 5671 an EmbeddedResource. 5672 properties: 5673 annotations: 5674 additionalProperties: 5675 type: string 5676 description: 'Annotations is an unstructured key value 5677 map stored with a resource that may be set by external 5678 tools to store and retrieve arbitrary metadata. They 5679 are not queryable and should be preserved when modifying 5680 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 5681 type: object 5682 labels: 5683 additionalProperties: 5684 type: string 5685 description: 'Map of string keys and values that can be 5686 used to organize and categorize (scope and select) objects. 5687 May match selectors of replication controllers and services. 5688 More info: http://kubernetes.io/docs/user-guide/labels' 5689 type: object 5690 name: 5691 description: 'Name must be unique within a namespace. 5692 Is required when creating resources, although some resources 5693 may allow a client to request the generation of an appropriate 5694 name automatically. Name is primarily intended for creation 5695 idempotence and configuration definition. Cannot be 5696 updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 5697 type: string 5698 type: object 5699 spec: 5700 description: 'Spec defines the desired characteristics of 5701 a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 5702 properties: 5703 accessModes: 5704 description: 'AccessModes contains the desired access 5705 modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 5706 items: 5707 type: string 5708 type: array 5709 dataSource: 5710 description: 'This field can be used to specify either: 5711 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot 5712 - Beta) * An existing PVC (PersistentVolumeClaim) * 5713 An existing custom resource/object that implements data 5714 population (Alpha) In order to use VolumeSnapshot object 5715 types, the appropriate feature gate must be enabled 5716 (VolumeSnapshotDataSource or AnyVolumeDataSource) If 5717 the provisioner or an external controller can support 5718 the specified data source, it will create a new volume 5719 based on the contents of the specified data source. 5720 If the specified data source is not supported, the volume 5721 will not be created and the failure will be reported 5722 as an event. In the future, we plan to support more 5723 data source types and the behavior of the provisioner 5724 may change.' 5725 properties: 5726 apiGroup: 5727 description: APIGroup is the group for the resource 5728 being referenced. If APIGroup is not specified, 5729 the specified Kind must be in the core API group. 5730 For any other third-party types, APIGroup is required. 5731 type: string 5732 kind: 5733 description: Kind is the type of resource being referenced 5734 type: string 5735 name: 5736 description: Name is the name of resource being referenced 5737 type: string 5738 required: 5739 - kind 5740 - name 5741 type: object 5742 resources: 5743 description: 'Resources represents the minimum resources 5744 the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 5745 properties: 5746 limits: 5747 additionalProperties: 5748 anyOf: 5749 - type: integer 5750 - type: string 5751 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5752 x-kubernetes-int-or-string: true 5753 description: 'Limits describes the maximum amount 5754 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 5755 type: object 5756 requests: 5757 additionalProperties: 5758 anyOf: 5759 - type: integer 5760 - type: string 5761 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5762 x-kubernetes-int-or-string: true 5763 description: 'Requests describes the minimum amount 5764 of compute resources required. If Requests is omitted 5765 for a container, it defaults to Limits if that is 5766 explicitly specified, otherwise to an implementation-defined 5767 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 5768 type: object 5769 type: object 5770 selector: 5771 description: A label query over volumes to consider for 5772 binding. 5773 properties: 5774 matchExpressions: 5775 description: matchExpressions is a list of label selector 5776 requirements. The requirements are ANDed. 5777 items: 5778 description: A label selector requirement is a selector 5779 that contains values, a key, and an operator that 5780 relates the key and values. 5781 properties: 5782 key: 5783 description: key is the label key that the selector 5784 applies to. 5785 type: string 5786 operator: 5787 description: operator represents a key's relationship 5788 to a set of values. Valid operators are In, 5789 NotIn, Exists and DoesNotExist. 5790 type: string 5791 values: 5792 description: values is an array of string values. 5793 If the operator is In or NotIn, the values 5794 array must be non-empty. If the operator is 5795 Exists or DoesNotExist, the values array must 5796 be empty. This array is replaced during a 5797 strategic merge patch. 5798 items: 5799 type: string 5800 type: array 5801 required: 5802 - key 5803 - operator 5804 type: object 5805 type: array 5806 matchLabels: 5807 additionalProperties: 5808 type: string 5809 description: matchLabels is a map of {key,value} pairs. 5810 A single {key,value} in the matchLabels map is equivalent 5811 to an element of matchExpressions, whose key field 5812 is "key", the operator is "In", and the values array 5813 contains only "value". The requirements are ANDed. 5814 type: object 5815 type: object 5816 storageClassName: 5817 description: 'Name of the StorageClass required by the 5818 claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 5819 type: string 5820 volumeMode: 5821 description: volumeMode defines what type of volume is 5822 required by the claim. Value of Filesystem is implied 5823 when not included in claim spec. 5824 type: string 5825 volumeName: 5826 description: VolumeName is the binding reference to the 5827 PersistentVolume backing this claim. 5828 type: string 5829 type: object 5830 status: 5831 description: 'Status represents the current information/status 5832 of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 5833 properties: 5834 accessModes: 5835 description: 'AccessModes contains the actual access modes 5836 the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 5837 items: 5838 type: string 5839 type: array 5840 capacity: 5841 additionalProperties: 5842 anyOf: 5843 - type: integer 5844 - type: string 5845 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 5846 x-kubernetes-int-or-string: true 5847 description: Represents the actual resources of the underlying 5848 volume. 5849 type: object 5850 conditions: 5851 description: Current Condition of persistent volume claim. 5852 If underlying persistent volume is being resized then 5853 the Condition will be set to 'ResizeStarted'. 5854 items: 5855 description: PersistentVolumeClaimCondition contails 5856 details about state of pvc 5857 properties: 5858 lastProbeTime: 5859 description: Last time we probed the condition. 5860 format: date-time 5861 type: string 5862 lastTransitionTime: 5863 description: Last time the condition transitioned 5864 from one status to another. 5865 format: date-time 5866 type: string 5867 message: 5868 description: Human-readable message indicating details 5869 about last transition. 5870 type: string 5871 reason: 5872 description: Unique, this should be a short, machine 5873 understandable string that gives the reason for 5874 condition's last transition. If it reports "ResizeStarted" 5875 that means the underlying persistent volume is 5876 being resized. 5877 type: string 5878 status: 5879 type: string 5880 type: 5881 description: PersistentVolumeClaimConditionType 5882 is a valid value of PersistentVolumeClaimCondition.Type 5883 type: string 5884 required: 5885 - status 5886 - type 5887 type: object 5888 type: array 5889 phase: 5890 description: Phase represents the current phase of PersistentVolumeClaim. 5891 type: string 5892 type: object 5893 type: object 5894 type: object 5895 tag: 5896 description: 'Tag of Alertmanager container image to be deployed. 5897 Defaults to the value of `version`. Version is ignored if Tag is 5898 set. Deprecated: use ''image'' instead. The image tag can be specified 5899 as part of the image URL.' 5900 type: string 5901 tolerations: 5902 description: If specified, the pod's tolerations. 5903 items: 5904 description: The pod this Toleration is attached to tolerates any 5905 taint that matches the triple <key,value,effect> using the matching 5906 operator <operator>. 5907 properties: 5908 effect: 5909 description: Effect indicates the taint effect to match. Empty 5910 means match all taint effects. When specified, allowed values 5911 are NoSchedule, PreferNoSchedule and NoExecute. 5912 type: string 5913 key: 5914 description: Key is the taint key that the toleration applies 5915 to. Empty means match all taint keys. If the key is empty, 5916 operator must be Exists; this combination means to match all 5917 values and all keys. 5918 type: string 5919 operator: 5920 description: Operator represents a key's relationship to the 5921 value. Valid operators are Exists and Equal. Defaults to Equal. 5922 Exists is equivalent to wildcard for value, so that a pod 5923 can tolerate all taints of a particular category. 5924 type: string 5925 tolerationSeconds: 5926 description: TolerationSeconds represents the period of time 5927 the toleration (which must be of effect NoExecute, otherwise 5928 this field is ignored) tolerates the taint. By default, it 5929 is not set, which means tolerate the taint forever (do not 5930 evict). Zero and negative values will be treated as 0 (evict 5931 immediately) by the system. 5932 format: int64 5933 type: integer 5934 value: 5935 description: Value is the taint value the toleration matches 5936 to. If the operator is Exists, the value should be empty, 5937 otherwise just a regular string. 5938 type: string 5939 type: object 5940 type: array 5941 topologySpreadConstraints: 5942 description: If specified, the pod's topology spread constraints. 5943 items: 5944 description: TopologySpreadConstraint specifies how to spread matching 5945 pods among the given topology. 5946 properties: 5947 labelSelector: 5948 description: LabelSelector is used to find matching pods. Pods 5949 that match this label selector are counted to determine the 5950 number of pods in their corresponding topology domain. 5951 properties: 5952 matchExpressions: 5953 description: matchExpressions is a list of label selector 5954 requirements. The requirements are ANDed. 5955 items: 5956 description: A label selector requirement is a selector 5957 that contains values, a key, and an operator that relates 5958 the key and values. 5959 properties: 5960 key: 5961 description: key is the label key that the selector 5962 applies to. 5963 type: string 5964 operator: 5965 description: operator represents a key's relationship 5966 to a set of values. Valid operators are In, NotIn, 5967 Exists and DoesNotExist. 5968 type: string 5969 values: 5970 description: values is an array of string values. 5971 If the operator is In or NotIn, the values array 5972 must be non-empty. If the operator is Exists or 5973 DoesNotExist, the values array must be empty. This 5974 array is replaced during a strategic merge patch. 5975 items: 5976 type: string 5977 type: array 5978 required: 5979 - key 5980 - operator 5981 type: object 5982 type: array 5983 matchLabels: 5984 additionalProperties: 5985 type: string 5986 description: matchLabels is a map of {key,value} pairs. 5987 A single {key,value} in the matchLabels map is equivalent 5988 to an element of matchExpressions, whose key field is 5989 "key", the operator is "In", and the values array contains 5990 only "value". The requirements are ANDed. 5991 type: object 5992 type: object 5993 maxSkew: 5994 description: 'MaxSkew describes the degree to which pods may 5995 be unevenly distributed. It''s the maximum permitted difference 5996 between the number of matching pods in any two topology domains 5997 of a given topology type. For example, in a 3-zone cluster, 5998 MaxSkew is set to 1, and pods with the same labelSelector 5999 spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | 6000 - if MaxSkew is 1, incoming pod can only be scheduled to zone3 6001 to become 1/1/1; scheduling it onto zone1(zone2) would make 6002 the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - 6003 if MaxSkew is 2, incoming pod can be scheduled onto any zone. 6004 It''s a required field. Default value is 1 and 0 is not allowed.' 6005 format: int32 6006 type: integer 6007 topologyKey: 6008 description: TopologyKey is the key of node labels. Nodes that 6009 have a label with this key and identical values are considered 6010 to be in the same topology. We consider each <key, value> 6011 as a "bucket", and try to put balanced number of pods into 6012 each bucket. It's a required field. 6013 type: string 6014 whenUnsatisfiable: 6015 description: 'WhenUnsatisfiable indicates how to deal with a 6016 pod if it doesn''t satisfy the spread constraint. - DoNotSchedule 6017 (default) tells the scheduler not to schedule it - ScheduleAnyway 6018 tells the scheduler to still schedule it It''s considered 6019 as "Unsatisfiable" if and only if placing incoming pod on 6020 any topology violates "MaxSkew". For example, in a 3-zone 6021 cluster, MaxSkew is set to 1, and pods with the same labelSelector 6022 spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | 6023 If WhenUnsatisfiable is set to DoNotSchedule, incoming pod 6024 can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) 6025 as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In 6026 other words, the cluster can still be imbalanced, but scheduler 6027 won''t make it *more* imbalanced. It''s a required field.' 6028 type: string 6029 required: 6030 - maxSkew 6031 - topologyKey 6032 - whenUnsatisfiable 6033 type: object 6034 type: array 6035 version: 6036 description: Version the cluster should be on. 6037 type: string 6038 volumeMounts: 6039 description: VolumeMounts allows configuration of additional VolumeMounts 6040 on the output StatefulSet definition. VolumeMounts specified will 6041 be appended to other VolumeMounts in the alertmanager container, 6042 that are generated as a result of StorageSpec objects. 6043 items: 6044 description: VolumeMount describes a mounting of a Volume within 6045 a container. 6046 properties: 6047 mountPath: 6048 description: Path within the container at which the volume should 6049 be mounted. Must not contain ':'. 6050 type: string 6051 mountPropagation: 6052 description: mountPropagation determines how mounts are propagated 6053 from the host to container and the other way around. When 6054 not set, MountPropagationNone is used. This field is beta 6055 in 1.10. 6056 type: string 6057 name: 6058 description: This must match the Name of a Volume. 6059 type: string 6060 readOnly: 6061 description: Mounted read-only if true, read-write otherwise 6062 (false or unspecified). Defaults to false. 6063 type: boolean 6064 subPath: 6065 description: Path within the volume from which the container's 6066 volume should be mounted. Defaults to "" (volume's root). 6067 type: string 6068 subPathExpr: 6069 description: Expanded path within the volume from which the 6070 container's volume should be mounted. Behaves similarly to 6071 SubPath but environment variable references $(VAR_NAME) are 6072 expanded using the container's environment. Defaults to "" 6073 (volume's root). SubPathExpr and SubPath are mutually exclusive. 6074 type: string 6075 required: 6076 - mountPath 6077 - name 6078 type: object 6079 type: array 6080 volumes: 6081 description: Volumes allows configuration of additional volumes on 6082 the output StatefulSet definition. Volumes specified will be appended 6083 to other volumes that are generated as a result of StorageSpec objects. 6084 items: 6085 description: Volume represents a named volume in a pod that may 6086 be accessed by any container in the pod. 6087 properties: 6088 awsElasticBlockStore: 6089 description: 'AWSElasticBlockStore represents an AWS Disk resource 6090 that is attached to a kubelet''s host machine and then exposed 6091 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 6092 properties: 6093 fsType: 6094 description: 'Filesystem type of the volume that you want 6095 to mount. Tip: Ensure that the filesystem type is supported 6096 by the host operating system. Examples: "ext4", "xfs", 6097 "ntfs". Implicitly inferred to be "ext4" if unspecified. 6098 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 6099 TODO: how do we prevent errors in the filesystem from 6100 compromising the machine' 6101 type: string 6102 partition: 6103 description: 'The partition in the volume that you want 6104 to mount. If omitted, the default is to mount by volume 6105 name. Examples: For volume /dev/sda1, you specify the 6106 partition as "1". Similarly, the volume partition for 6107 /dev/sda is "0" (or you can leave the property empty).' 6108 format: int32 6109 type: integer 6110 readOnly: 6111 description: 'Specify "true" to force and set the ReadOnly 6112 property in VolumeMounts to "true". If omitted, the default 6113 is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 6114 type: boolean 6115 volumeID: 6116 description: 'Unique ID of the persistent disk resource 6117 in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 6118 type: string 6119 required: 6120 - volumeID 6121 type: object 6122 azureDisk: 6123 description: AzureDisk represents an Azure Data Disk mount on 6124 the host and bind mount to the pod. 6125 properties: 6126 cachingMode: 6127 description: 'Host Caching mode: None, Read Only, Read Write.' 6128 type: string 6129 diskName: 6130 description: The Name of the data disk in the blob storage 6131 type: string 6132 diskURI: 6133 description: The URI the data disk in the blob storage 6134 type: string 6135 fsType: 6136 description: Filesystem type to mount. Must be a filesystem 6137 type supported by the host operating system. Ex. "ext4", 6138 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 6139 type: string 6140 kind: 6141 description: 'Expected values Shared: multiple blob disks 6142 per storage account Dedicated: single blob disk per storage 6143 account Managed: azure managed data disk (only in managed 6144 availability set). defaults to shared' 6145 type: string 6146 readOnly: 6147 description: Defaults to false (read/write). ReadOnly here 6148 will force the ReadOnly setting in VolumeMounts. 6149 type: boolean 6150 required: 6151 - diskName 6152 - diskURI 6153 type: object 6154 azureFile: 6155 description: AzureFile represents an Azure File Service mount 6156 on the host and bind mount to the pod. 6157 properties: 6158 readOnly: 6159 description: Defaults to false (read/write). ReadOnly here 6160 will force the ReadOnly setting in VolumeMounts. 6161 type: boolean 6162 secretName: 6163 description: the name of secret that contains Azure Storage 6164 Account Name and Key 6165 type: string 6166 shareName: 6167 description: Share Name 6168 type: string 6169 required: 6170 - secretName 6171 - shareName 6172 type: object 6173 cephfs: 6174 description: CephFS represents a Ceph FS mount on the host that 6175 shares a pod's lifetime 6176 properties: 6177 monitors: 6178 description: 'Required: Monitors is a collection of Ceph 6179 monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 6180 items: 6181 type: string 6182 type: array 6183 path: 6184 description: 'Optional: Used as the mounted root, rather 6185 than the full Ceph tree, default is /' 6186 type: string 6187 readOnly: 6188 description: 'Optional: Defaults to false (read/write). 6189 ReadOnly here will force the ReadOnly setting in VolumeMounts. 6190 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 6191 type: boolean 6192 secretFile: 6193 description: 'Optional: SecretFile is the path to key ring 6194 for User, default is /etc/ceph/user.secret More info: 6195 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 6196 type: string 6197 secretRef: 6198 description: 'Optional: SecretRef is reference to the authentication 6199 secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 6200 properties: 6201 name: 6202 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6203 TODO: Add other useful fields. apiVersion, kind, uid?' 6204 type: string 6205 type: object 6206 user: 6207 description: 'Optional: User is the rados user name, default 6208 is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 6209 type: string 6210 required: 6211 - monitors 6212 type: object 6213 cinder: 6214 description: 'Cinder represents a cinder volume attached and 6215 mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 6216 properties: 6217 fsType: 6218 description: 'Filesystem type to mount. Must be a filesystem 6219 type supported by the host operating system. Examples: 6220 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 6221 if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 6222 type: string 6223 readOnly: 6224 description: 'Optional: Defaults to false (read/write). 6225 ReadOnly here will force the ReadOnly setting in VolumeMounts. 6226 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 6227 type: boolean 6228 secretRef: 6229 description: 'Optional: points to a secret object containing 6230 parameters used to connect to OpenStack.' 6231 properties: 6232 name: 6233 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6234 TODO: Add other useful fields. apiVersion, kind, uid?' 6235 type: string 6236 type: object 6237 volumeID: 6238 description: 'volume id used to identify the volume in cinder. 6239 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 6240 type: string 6241 required: 6242 - volumeID 6243 type: object 6244 configMap: 6245 description: ConfigMap represents a configMap that should populate 6246 this volume 6247 properties: 6248 defaultMode: 6249 description: 'Optional: mode bits to use on created files 6250 by default. Must be a value between 0 and 0777. Defaults 6251 to 0644. Directories within the path are not affected 6252 by this setting. This might be in conflict with other 6253 options that affect the file mode, like fsGroup, and the 6254 result can be other mode bits set.' 6255 format: int32 6256 type: integer 6257 items: 6258 description: If unspecified, each key-value pair in the 6259 Data field of the referenced ConfigMap will be projected 6260 into the volume as a file whose name is the key and content 6261 is the value. If specified, the listed keys will be projected 6262 into the specified paths, and unlisted keys will not be 6263 present. If a key is specified which is not present in 6264 the ConfigMap, the volume setup will error unless it is 6265 marked optional. Paths must be relative and may not contain 6266 the '..' path or start with '..'. 6267 items: 6268 description: Maps a string key to a path within a volume. 6269 properties: 6270 key: 6271 description: The key to project. 6272 type: string 6273 mode: 6274 description: 'Optional: mode bits to use on this file, 6275 must be a value between 0 and 0777. If not specified, 6276 the volume defaultMode will be used. This might 6277 be in conflict with other options that affect the 6278 file mode, like fsGroup, and the result can be other 6279 mode bits set.' 6280 format: int32 6281 type: integer 6282 path: 6283 description: The relative path of the file to map 6284 the key to. May not be an absolute path. May not 6285 contain the path element '..'. May not start with 6286 the string '..'. 6287 type: string 6288 required: 6289 - key 6290 - path 6291 type: object 6292 type: array 6293 name: 6294 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6295 TODO: Add other useful fields. apiVersion, kind, uid?' 6296 type: string 6297 optional: 6298 description: Specify whether the ConfigMap or its keys must 6299 be defined 6300 type: boolean 6301 type: object 6302 csi: 6303 description: CSI (Container Storage Interface) represents storage 6304 that is handled by an external CSI driver (Alpha feature). 6305 properties: 6306 driver: 6307 description: Driver is the name of the CSI driver that handles 6308 this volume. Consult with your admin for the correct name 6309 as registered in the cluster. 6310 type: string 6311 fsType: 6312 description: Filesystem type to mount. Ex. "ext4", "xfs", 6313 "ntfs". If not provided, the empty value is passed to 6314 the associated CSI driver which will determine the default 6315 filesystem to apply. 6316 type: string 6317 nodePublishSecretRef: 6318 description: NodePublishSecretRef is a reference to the 6319 secret object containing sensitive information to pass 6320 to the CSI driver to complete the CSI NodePublishVolume 6321 and NodeUnpublishVolume calls. This field is optional, 6322 and may be empty if no secret is required. If the secret 6323 object contains more than one secret, all secret references 6324 are passed. 6325 properties: 6326 name: 6327 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6328 TODO: Add other useful fields. apiVersion, kind, uid?' 6329 type: string 6330 type: object 6331 readOnly: 6332 description: Specifies a read-only configuration for the 6333 volume. Defaults to false (read/write). 6334 type: boolean 6335 volumeAttributes: 6336 additionalProperties: 6337 type: string 6338 description: VolumeAttributes stores driver-specific properties 6339 that are passed to the CSI driver. Consult your driver's 6340 documentation for supported values. 6341 type: object 6342 required: 6343 - driver 6344 type: object 6345 downwardAPI: 6346 description: DownwardAPI represents downward API about the pod 6347 that should populate this volume 6348 properties: 6349 defaultMode: 6350 description: 'Optional: mode bits to use on created files 6351 by default. Must be a value between 0 and 0777. Defaults 6352 to 0644. Directories within the path are not affected 6353 by this setting. This might be in conflict with other 6354 options that affect the file mode, like fsGroup, and the 6355 result can be other mode bits set.' 6356 format: int32 6357 type: integer 6358 items: 6359 description: Items is a list of downward API volume file 6360 items: 6361 description: DownwardAPIVolumeFile represents information 6362 to create the file containing the pod field 6363 properties: 6364 fieldRef: 6365 description: 'Required: Selects a field of the pod: 6366 only annotations, labels, name and namespace are 6367 supported.' 6368 properties: 6369 apiVersion: 6370 description: Version of the schema the FieldPath 6371 is written in terms of, defaults to "v1". 6372 type: string 6373 fieldPath: 6374 description: Path of the field to select in the 6375 specified API version. 6376 type: string 6377 required: 6378 - fieldPath 6379 type: object 6380 mode: 6381 description: 'Optional: mode bits to use on this file, 6382 must be a value between 0 and 0777. If not specified, 6383 the volume defaultMode will be used. This might 6384 be in conflict with other options that affect the 6385 file mode, like fsGroup, and the result can be other 6386 mode bits set.' 6387 format: int32 6388 type: integer 6389 path: 6390 description: 'Required: Path is the relative path 6391 name of the file to be created. Must not be absolute 6392 or contain the ''..'' path. Must be utf-8 encoded. 6393 The first item of the relative path must not start 6394 with ''..''' 6395 type: string 6396 resourceFieldRef: 6397 description: 'Selects a resource of the container: 6398 only resources limits and requests (limits.cpu, 6399 limits.memory, requests.cpu and requests.memory) 6400 are currently supported.' 6401 properties: 6402 containerName: 6403 description: 'Container name: required for volumes, 6404 optional for env vars' 6405 type: string 6406 divisor: 6407 anyOf: 6408 - type: integer 6409 - type: string 6410 description: Specifies the output format of the 6411 exposed resources, defaults to "1" 6412 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6413 x-kubernetes-int-or-string: true 6414 resource: 6415 description: 'Required: resource to select' 6416 type: string 6417 required: 6418 - resource 6419 type: object 6420 required: 6421 - path 6422 type: object 6423 type: array 6424 type: object 6425 emptyDir: 6426 description: 'EmptyDir represents a temporary directory that 6427 shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 6428 properties: 6429 medium: 6430 description: 'What type of storage medium should back this 6431 directory. The default is "" which means to use the node''s 6432 default medium. Must be an empty string (default) or Memory. 6433 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 6434 type: string 6435 sizeLimit: 6436 anyOf: 6437 - type: integer 6438 - type: string 6439 description: 'Total amount of local storage required for 6440 this EmptyDir volume. The size limit is also applicable 6441 for memory medium. The maximum usage on memory medium 6442 EmptyDir would be the minimum value between the SizeLimit 6443 specified here and the sum of memory limits of all containers 6444 in a pod. The default is nil which means that the limit 6445 is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 6446 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6447 x-kubernetes-int-or-string: true 6448 type: object 6449 fc: 6450 description: FC represents a Fibre Channel resource that is 6451 attached to a kubelet's host machine and then exposed to the 6452 pod. 6453 properties: 6454 fsType: 6455 description: 'Filesystem type to mount. Must be a filesystem 6456 type supported by the host operating system. Ex. "ext4", 6457 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 6458 TODO: how do we prevent errors in the filesystem from 6459 compromising the machine' 6460 type: string 6461 lun: 6462 description: 'Optional: FC target lun number' 6463 format: int32 6464 type: integer 6465 readOnly: 6466 description: 'Optional: Defaults to false (read/write). 6467 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 6468 type: boolean 6469 targetWWNs: 6470 description: 'Optional: FC target worldwide names (WWNs)' 6471 items: 6472 type: string 6473 type: array 6474 wwids: 6475 description: 'Optional: FC volume world wide identifiers 6476 (wwids) Either wwids or combination of targetWWNs and 6477 lun must be set, but not both simultaneously.' 6478 items: 6479 type: string 6480 type: array 6481 type: object 6482 flexVolume: 6483 description: FlexVolume represents a generic volume resource 6484 that is provisioned/attached using an exec based plugin. 6485 properties: 6486 driver: 6487 description: Driver is the name of the driver to use for 6488 this volume. 6489 type: string 6490 fsType: 6491 description: Filesystem type to mount. Must be a filesystem 6492 type supported by the host operating system. Ex. "ext4", 6493 "xfs", "ntfs". The default filesystem depends on FlexVolume 6494 script. 6495 type: string 6496 options: 6497 additionalProperties: 6498 type: string 6499 description: 'Optional: Extra command options if any.' 6500 type: object 6501 readOnly: 6502 description: 'Optional: Defaults to false (read/write). 6503 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 6504 type: boolean 6505 secretRef: 6506 description: 'Optional: SecretRef is reference to the secret 6507 object containing sensitive information to pass to the 6508 plugin scripts. This may be empty if no secret object 6509 is specified. If the secret object contains more than 6510 one secret, all secrets are passed to the plugin scripts.' 6511 properties: 6512 name: 6513 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6514 TODO: Add other useful fields. apiVersion, kind, uid?' 6515 type: string 6516 type: object 6517 required: 6518 - driver 6519 type: object 6520 flocker: 6521 description: Flocker represents a Flocker volume attached to 6522 a kubelet's host machine. This depends on the Flocker control 6523 service being running 6524 properties: 6525 datasetName: 6526 description: Name of the dataset stored as metadata -> name 6527 on the dataset for Flocker should be considered as deprecated 6528 type: string 6529 datasetUUID: 6530 description: UUID of the dataset. This is unique identifier 6531 of a Flocker dataset 6532 type: string 6533 type: object 6534 gcePersistentDisk: 6535 description: 'GCEPersistentDisk represents a GCE Disk resource 6536 that is attached to a kubelet''s host machine and then exposed 6537 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6538 properties: 6539 fsType: 6540 description: 'Filesystem type of the volume that you want 6541 to mount. Tip: Ensure that the filesystem type is supported 6542 by the host operating system. Examples: "ext4", "xfs", 6543 "ntfs". Implicitly inferred to be "ext4" if unspecified. 6544 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 6545 TODO: how do we prevent errors in the filesystem from 6546 compromising the machine' 6547 type: string 6548 partition: 6549 description: 'The partition in the volume that you want 6550 to mount. If omitted, the default is to mount by volume 6551 name. Examples: For volume /dev/sda1, you specify the 6552 partition as "1". Similarly, the volume partition for 6553 /dev/sda is "0" (or you can leave the property empty). 6554 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6555 format: int32 6556 type: integer 6557 pdName: 6558 description: 'Unique name of the PD resource in GCE. Used 6559 to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6560 type: string 6561 readOnly: 6562 description: 'ReadOnly here will force the ReadOnly setting 6563 in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 6564 type: boolean 6565 required: 6566 - pdName 6567 type: object 6568 gitRepo: 6569 description: 'GitRepo represents a git repository at a particular 6570 revision. DEPRECATED: GitRepo is deprecated. To provision 6571 a container with a git repo, mount an EmptyDir into an InitContainer 6572 that clones the repo using git, then mount the EmptyDir into 6573 the Pod''s container.' 6574 properties: 6575 directory: 6576 description: Target directory name. Must not contain or 6577 start with '..'. If '.' is supplied, the volume directory 6578 will be the git repository. Otherwise, if specified, 6579 the volume will contain the git repository in the subdirectory 6580 with the given name. 6581 type: string 6582 repository: 6583 description: Repository URL 6584 type: string 6585 revision: 6586 description: Commit hash for the specified revision. 6587 type: string 6588 required: 6589 - repository 6590 type: object 6591 glusterfs: 6592 description: 'Glusterfs represents a Glusterfs mount on the 6593 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 6594 properties: 6595 endpoints: 6596 description: 'EndpointsName is the endpoint name that details 6597 Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 6598 type: string 6599 path: 6600 description: 'Path is the Glusterfs volume path. More info: 6601 https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 6602 type: string 6603 readOnly: 6604 description: 'ReadOnly here will force the Glusterfs volume 6605 to be mounted with read-only permissions. Defaults to 6606 false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 6607 type: boolean 6608 required: 6609 - endpoints 6610 - path 6611 type: object 6612 hostPath: 6613 description: 'HostPath represents a pre-existing file or directory 6614 on the host machine that is directly exposed to the container. 6615 This is generally used for system agents or other privileged 6616 things that are allowed to see the host machine. Most containers 6617 will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 6618 --- TODO(jonesdl) We need to restrict who can use host directory 6619 mounts and who can/can not mount host directories as read/write.' 6620 properties: 6621 path: 6622 description: 'Path of the directory on the host. If the 6623 path is a symlink, it will follow the link to the real 6624 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 6625 type: string 6626 type: 6627 description: 'Type for HostPath Volume Defaults to "" More 6628 info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 6629 type: string 6630 required: 6631 - path 6632 type: object 6633 iscsi: 6634 description: 'ISCSI represents an ISCSI Disk resource that is 6635 attached to a kubelet''s host machine and then exposed to 6636 the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 6637 properties: 6638 chapAuthDiscovery: 6639 description: whether support iSCSI Discovery CHAP authentication 6640 type: boolean 6641 chapAuthSession: 6642 description: whether support iSCSI Session CHAP authentication 6643 type: boolean 6644 fsType: 6645 description: 'Filesystem type of the volume that you want 6646 to mount. Tip: Ensure that the filesystem type is supported 6647 by the host operating system. Examples: "ext4", "xfs", 6648 "ntfs". Implicitly inferred to be "ext4" if unspecified. 6649 More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 6650 TODO: how do we prevent errors in the filesystem from 6651 compromising the machine' 6652 type: string 6653 initiatorName: 6654 description: Custom iSCSI Initiator Name. If initiatorName 6655 is specified with iscsiInterface simultaneously, new iSCSI 6656 interface <target portal>:<volume name> will be created 6657 for the connection. 6658 type: string 6659 iqn: 6660 description: Target iSCSI Qualified Name. 6661 type: string 6662 iscsiInterface: 6663 description: iSCSI Interface Name that uses an iSCSI transport. 6664 Defaults to 'default' (tcp). 6665 type: string 6666 lun: 6667 description: iSCSI Target Lun number. 6668 format: int32 6669 type: integer 6670 portals: 6671 description: iSCSI Target Portal List. The portal is either 6672 an IP or ip_addr:port if the port is other than default 6673 (typically TCP ports 860 and 3260). 6674 items: 6675 type: string 6676 type: array 6677 readOnly: 6678 description: ReadOnly here will force the ReadOnly setting 6679 in VolumeMounts. Defaults to false. 6680 type: boolean 6681 secretRef: 6682 description: CHAP Secret for iSCSI target and initiator 6683 authentication 6684 properties: 6685 name: 6686 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6687 TODO: Add other useful fields. apiVersion, kind, uid?' 6688 type: string 6689 type: object 6690 targetPortal: 6691 description: iSCSI Target Portal. The Portal is either an 6692 IP or ip_addr:port if the port is other than default (typically 6693 TCP ports 860 and 3260). 6694 type: string 6695 required: 6696 - iqn 6697 - lun 6698 - targetPortal 6699 type: object 6700 name: 6701 description: 'Volume''s name. Must be a DNS_LABEL and unique 6702 within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 6703 type: string 6704 nfs: 6705 description: 'NFS represents an NFS mount on the host that shares 6706 a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6707 properties: 6708 path: 6709 description: 'Path that is exported by the NFS server. More 6710 info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6711 type: string 6712 readOnly: 6713 description: 'ReadOnly here will force the NFS export to 6714 be mounted with read-only permissions. Defaults to false. 6715 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6716 type: boolean 6717 server: 6718 description: 'Server is the hostname or IP address of the 6719 NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 6720 type: string 6721 required: 6722 - path 6723 - server 6724 type: object 6725 persistentVolumeClaim: 6726 description: 'PersistentVolumeClaimVolumeSource represents a 6727 reference to a PersistentVolumeClaim in the same namespace. 6728 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 6729 properties: 6730 claimName: 6731 description: 'ClaimName is the name of a PersistentVolumeClaim 6732 in the same namespace as the pod using this volume. More 6733 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 6734 type: string 6735 readOnly: 6736 description: Will force the ReadOnly setting in VolumeMounts. 6737 Default false. 6738 type: boolean 6739 required: 6740 - claimName 6741 type: object 6742 photonPersistentDisk: 6743 description: PhotonPersistentDisk represents a PhotonController 6744 persistent disk attached and mounted on kubelets host machine 6745 properties: 6746 fsType: 6747 description: Filesystem type to mount. Must be a filesystem 6748 type supported by the host operating system. Ex. "ext4", 6749 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 6750 type: string 6751 pdID: 6752 description: ID that identifies Photon Controller persistent 6753 disk 6754 type: string 6755 required: 6756 - pdID 6757 type: object 6758 portworxVolume: 6759 description: PortworxVolume represents a portworx volume attached 6760 and mounted on kubelets host machine 6761 properties: 6762 fsType: 6763 description: FSType represents the filesystem type to mount 6764 Must be a filesystem type supported by the host operating 6765 system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" 6766 if unspecified. 6767 type: string 6768 readOnly: 6769 description: Defaults to false (read/write). ReadOnly here 6770 will force the ReadOnly setting in VolumeMounts. 6771 type: boolean 6772 volumeID: 6773 description: VolumeID uniquely identifies a Portworx volume 6774 type: string 6775 required: 6776 - volumeID 6777 type: object 6778 projected: 6779 description: Items for all in one resources secrets, configmaps, 6780 and downward API 6781 properties: 6782 defaultMode: 6783 description: Mode bits to use on created files by default. 6784 Must be a value between 0 and 0777. Directories within 6785 the path are not affected by this setting. This might 6786 be in conflict with other options that affect the file 6787 mode, like fsGroup, and the result can be other mode bits 6788 set. 6789 format: int32 6790 type: integer 6791 sources: 6792 description: list of volume projections 6793 items: 6794 description: Projection that may be projected along with 6795 other supported volume types 6796 properties: 6797 configMap: 6798 description: information about the configMap data 6799 to project 6800 properties: 6801 items: 6802 description: If unspecified, each key-value pair 6803 in the Data field of the referenced ConfigMap 6804 will be projected into the volume as a file 6805 whose name is the key and content is the value. 6806 If specified, the listed keys will be projected 6807 into the specified paths, and unlisted keys 6808 will not be present. If a key is specified which 6809 is not present in the ConfigMap, the volume 6810 setup will error unless it is marked optional. 6811 Paths must be relative and may not contain the 6812 '..' path or start with '..'. 6813 items: 6814 description: Maps a string key to a path within 6815 a volume. 6816 properties: 6817 key: 6818 description: The key to project. 6819 type: string 6820 mode: 6821 description: 'Optional: mode bits to use 6822 on this file, must be a value between 6823 0 and 0777. If not specified, the volume 6824 defaultMode will be used. This might be 6825 in conflict with other options that affect 6826 the file mode, like fsGroup, and the result 6827 can be other mode bits set.' 6828 format: int32 6829 type: integer 6830 path: 6831 description: The relative path of the file 6832 to map the key to. May not be an absolute 6833 path. May not contain the path element 6834 '..'. May not start with the string '..'. 6835 type: string 6836 required: 6837 - key 6838 - path 6839 type: object 6840 type: array 6841 name: 6842 description: 'Name of the referent. More info: 6843 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6844 TODO: Add other useful fields. apiVersion, kind, 6845 uid?' 6846 type: string 6847 optional: 6848 description: Specify whether the ConfigMap or 6849 its keys must be defined 6850 type: boolean 6851 type: object 6852 downwardAPI: 6853 description: information about the downwardAPI data 6854 to project 6855 properties: 6856 items: 6857 description: Items is a list of DownwardAPIVolume 6858 file 6859 items: 6860 description: DownwardAPIVolumeFile represents 6861 information to create the file containing 6862 the pod field 6863 properties: 6864 fieldRef: 6865 description: 'Required: Selects a field 6866 of the pod: only annotations, labels, 6867 name and namespace are supported.' 6868 properties: 6869 apiVersion: 6870 description: Version of the schema the 6871 FieldPath is written in terms of, 6872 defaults to "v1". 6873 type: string 6874 fieldPath: 6875 description: Path of the field to select 6876 in the specified API version. 6877 type: string 6878 required: 6879 - fieldPath 6880 type: object 6881 mode: 6882 description: 'Optional: mode bits to use 6883 on this file, must be a value between 6884 0 and 0777. If not specified, the volume 6885 defaultMode will be used. This might be 6886 in conflict with other options that affect 6887 the file mode, like fsGroup, and the result 6888 can be other mode bits set.' 6889 format: int32 6890 type: integer 6891 path: 6892 description: 'Required: Path is the relative 6893 path name of the file to be created. Must 6894 not be absolute or contain the ''..'' 6895 path. Must be utf-8 encoded. The first 6896 item of the relative path must not start 6897 with ''..''' 6898 type: string 6899 resourceFieldRef: 6900 description: 'Selects a resource of the 6901 container: only resources limits and requests 6902 (limits.cpu, limits.memory, requests.cpu 6903 and requests.memory) are currently supported.' 6904 properties: 6905 containerName: 6906 description: 'Container name: required 6907 for volumes, optional for env vars' 6908 type: string 6909 divisor: 6910 anyOf: 6911 - type: integer 6912 - type: string 6913 description: Specifies the output format 6914 of the exposed resources, defaults 6915 to "1" 6916 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 6917 x-kubernetes-int-or-string: true 6918 resource: 6919 description: 'Required: resource to 6920 select' 6921 type: string 6922 required: 6923 - resource 6924 type: object 6925 required: 6926 - path 6927 type: object 6928 type: array 6929 type: object 6930 secret: 6931 description: information about the secret data to 6932 project 6933 properties: 6934 items: 6935 description: If unspecified, each key-value pair 6936 in the Data field of the referenced Secret will 6937 be projected into the volume as a file whose 6938 name is the key and content is the value. If 6939 specified, the listed keys will be projected 6940 into the specified paths, and unlisted keys 6941 will not be present. If a key is specified which 6942 is not present in the Secret, the volume setup 6943 will error unless it is marked optional. Paths 6944 must be relative and may not contain the '..' 6945 path or start with '..'. 6946 items: 6947 description: Maps a string key to a path within 6948 a volume. 6949 properties: 6950 key: 6951 description: The key to project. 6952 type: string 6953 mode: 6954 description: 'Optional: mode bits to use 6955 on this file, must be a value between 6956 0 and 0777. If not specified, the volume 6957 defaultMode will be used. This might be 6958 in conflict with other options that affect 6959 the file mode, like fsGroup, and the result 6960 can be other mode bits set.' 6961 format: int32 6962 type: integer 6963 path: 6964 description: The relative path of the file 6965 to map the key to. May not be an absolute 6966 path. May not contain the path element 6967 '..'. May not start with the string '..'. 6968 type: string 6969 required: 6970 - key 6971 - path 6972 type: object 6973 type: array 6974 name: 6975 description: 'Name of the referent. More info: 6976 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 6977 TODO: Add other useful fields. apiVersion, kind, 6978 uid?' 6979 type: string 6980 optional: 6981 description: Specify whether the Secret or its 6982 key must be defined 6983 type: boolean 6984 type: object 6985 serviceAccountToken: 6986 description: information about the serviceAccountToken 6987 data to project 6988 properties: 6989 audience: 6990 description: Audience is the intended audience 6991 of the token. A recipient of a token must identify 6992 itself with an identifier specified in the audience 6993 of the token, and otherwise should reject the 6994 token. The audience defaults to the identifier 6995 of the apiserver. 6996 type: string 6997 expirationSeconds: 6998 description: ExpirationSeconds is the requested 6999 duration of validity of the service account 7000 token. As the token approaches expiration, the 7001 kubelet volume plugin will proactively rotate 7002 the service account token. The kubelet will 7003 start trying to rotate the token if the token 7004 is older than 80 percent of its time to live 7005 or if the token is older than 24 hours.Defaults 7006 to 1 hour and must be at least 10 minutes. 7007 format: int64 7008 type: integer 7009 path: 7010 description: Path is the path relative to the 7011 mount point of the file to project the token 7012 into. 7013 type: string 7014 required: 7015 - path 7016 type: object 7017 type: object 7018 type: array 7019 required: 7020 - sources 7021 type: object 7022 quobyte: 7023 description: Quobyte represents a Quobyte mount on the host 7024 that shares a pod's lifetime 7025 properties: 7026 group: 7027 description: Group to map volume access to Default is no 7028 group 7029 type: string 7030 readOnly: 7031 description: ReadOnly here will force the Quobyte volume 7032 to be mounted with read-only permissions. Defaults to 7033 false. 7034 type: boolean 7035 registry: 7036 description: Registry represents a single or multiple Quobyte 7037 Registry services specified as a string as host:port pair 7038 (multiple entries are separated with commas) which acts 7039 as the central registry for volumes 7040 type: string 7041 tenant: 7042 description: Tenant owning the given Quobyte volume in the 7043 Backend Used with dynamically provisioned Quobyte volumes, 7044 value is set by the plugin 7045 type: string 7046 user: 7047 description: User to map volume access to Defaults to serivceaccount 7048 user 7049 type: string 7050 volume: 7051 description: Volume is a string that references an already 7052 created Quobyte volume by name. 7053 type: string 7054 required: 7055 - registry 7056 - volume 7057 type: object 7058 rbd: 7059 description: 'RBD represents a Rados Block Device mount on the 7060 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 7061 properties: 7062 fsType: 7063 description: 'Filesystem type of the volume that you want 7064 to mount. Tip: Ensure that the filesystem type is supported 7065 by the host operating system. Examples: "ext4", "xfs", 7066 "ntfs". Implicitly inferred to be "ext4" if unspecified. 7067 More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 7068 TODO: how do we prevent errors in the filesystem from 7069 compromising the machine' 7070 type: string 7071 image: 7072 description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7073 type: string 7074 keyring: 7075 description: 'Keyring is the path to key ring for RBDUser. 7076 Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7077 type: string 7078 monitors: 7079 description: 'A collection of Ceph monitors. More info: 7080 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7081 items: 7082 type: string 7083 type: array 7084 pool: 7085 description: 'The rados pool name. Default is rbd. More 7086 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7087 type: string 7088 readOnly: 7089 description: 'ReadOnly here will force the ReadOnly setting 7090 in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7091 type: boolean 7092 secretRef: 7093 description: 'SecretRef is name of the authentication secret 7094 for RBDUser. If provided overrides keyring. Default is 7095 nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7096 properties: 7097 name: 7098 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7099 TODO: Add other useful fields. apiVersion, kind, uid?' 7100 type: string 7101 type: object 7102 user: 7103 description: 'The rados user name. Default is admin. More 7104 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 7105 type: string 7106 required: 7107 - image 7108 - monitors 7109 type: object 7110 scaleIO: 7111 description: ScaleIO represents a ScaleIO persistent volume 7112 attached and mounted on Kubernetes nodes. 7113 properties: 7114 fsType: 7115 description: Filesystem type to mount. Must be a filesystem 7116 type supported by the host operating system. Ex. "ext4", 7117 "xfs", "ntfs". Default is "xfs". 7118 type: string 7119 gateway: 7120 description: The host address of the ScaleIO API Gateway. 7121 type: string 7122 protectionDomain: 7123 description: The name of the ScaleIO Protection Domain for 7124 the configured storage. 7125 type: string 7126 readOnly: 7127 description: Defaults to false (read/write). ReadOnly here 7128 will force the ReadOnly setting in VolumeMounts. 7129 type: boolean 7130 secretRef: 7131 description: SecretRef references to the secret for ScaleIO 7132 user and other sensitive information. If this is not provided, 7133 Login operation will fail. 7134 properties: 7135 name: 7136 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7137 TODO: Add other useful fields. apiVersion, kind, uid?' 7138 type: string 7139 type: object 7140 sslEnabled: 7141 description: Flag to enable/disable SSL communication with 7142 Gateway, default false 7143 type: boolean 7144 storageMode: 7145 description: Indicates whether the storage for a volume 7146 should be ThickProvisioned or ThinProvisioned. Default 7147 is ThinProvisioned. 7148 type: string 7149 storagePool: 7150 description: The ScaleIO Storage Pool associated with the 7151 protection domain. 7152 type: string 7153 system: 7154 description: The name of the storage system as configured 7155 in ScaleIO. 7156 type: string 7157 volumeName: 7158 description: The name of a volume already created in the 7159 ScaleIO system that is associated with this volume source. 7160 type: string 7161 required: 7162 - gateway 7163 - secretRef 7164 - system 7165 type: object 7166 secret: 7167 description: 'Secret represents a secret that should populate 7168 this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 7169 properties: 7170 defaultMode: 7171 description: 'Optional: mode bits to use on created files 7172 by default. Must be a value between 0 and 0777. Defaults 7173 to 0644. Directories within the path are not affected 7174 by this setting. This might be in conflict with other 7175 options that affect the file mode, like fsGroup, and the 7176 result can be other mode bits set.' 7177 format: int32 7178 type: integer 7179 items: 7180 description: If unspecified, each key-value pair in the 7181 Data field of the referenced Secret will be projected 7182 into the volume as a file whose name is the key and content 7183 is the value. If specified, the listed keys will be projected 7184 into the specified paths, and unlisted keys will not be 7185 present. If a key is specified which is not present in 7186 the Secret, the volume setup will error unless it is marked 7187 optional. Paths must be relative and may not contain the 7188 '..' path or start with '..'. 7189 items: 7190 description: Maps a string key to a path within a volume. 7191 properties: 7192 key: 7193 description: The key to project. 7194 type: string 7195 mode: 7196 description: 'Optional: mode bits to use on this file, 7197 must be a value between 0 and 0777. If not specified, 7198 the volume defaultMode will be used. This might 7199 be in conflict with other options that affect the 7200 file mode, like fsGroup, and the result can be other 7201 mode bits set.' 7202 format: int32 7203 type: integer 7204 path: 7205 description: The relative path of the file to map 7206 the key to. May not be an absolute path. May not 7207 contain the path element '..'. May not start with 7208 the string '..'. 7209 type: string 7210 required: 7211 - key 7212 - path 7213 type: object 7214 type: array 7215 optional: 7216 description: Specify whether the Secret or its keys must 7217 be defined 7218 type: boolean 7219 secretName: 7220 description: 'Name of the secret in the pod''s namespace 7221 to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 7222 type: string 7223 type: object 7224 storageos: 7225 description: StorageOS represents a StorageOS volume attached 7226 and mounted on Kubernetes nodes. 7227 properties: 7228 fsType: 7229 description: Filesystem type to mount. Must be a filesystem 7230 type supported by the host operating system. Ex. "ext4", 7231 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 7232 type: string 7233 readOnly: 7234 description: Defaults to false (read/write). ReadOnly here 7235 will force the ReadOnly setting in VolumeMounts. 7236 type: boolean 7237 secretRef: 7238 description: SecretRef specifies the secret to use for obtaining 7239 the StorageOS API credentials. If not specified, default 7240 values will be attempted. 7241 properties: 7242 name: 7243 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7244 TODO: Add other useful fields. apiVersion, kind, uid?' 7245 type: string 7246 type: object 7247 volumeName: 7248 description: VolumeName is the human-readable name of the 7249 StorageOS volume. Volume names are only unique within 7250 a namespace. 7251 type: string 7252 volumeNamespace: 7253 description: VolumeNamespace specifies the scope of the 7254 volume within StorageOS. If no namespace is specified 7255 then the Pod's namespace will be used. This allows the 7256 Kubernetes name scoping to be mirrored within StorageOS 7257 for tighter integration. Set VolumeName to any name to 7258 override the default behaviour. Set to "default" if you 7259 are not using namespaces within StorageOS. Namespaces 7260 that do not pre-exist within StorageOS will be created. 7261 type: string 7262 type: object 7263 vsphereVolume: 7264 description: VsphereVolume represents a vSphere volume attached 7265 and mounted on kubelets host machine 7266 properties: 7267 fsType: 7268 description: Filesystem type to mount. Must be a filesystem 7269 type supported by the host operating system. Ex. "ext4", 7270 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 7271 type: string 7272 storagePolicyID: 7273 description: Storage Policy Based Management (SPBM) profile 7274 ID associated with the StoragePolicyName. 7275 type: string 7276 storagePolicyName: 7277 description: Storage Policy Based Management (SPBM) profile 7278 name. 7279 type: string 7280 volumePath: 7281 description: Path that identifies vSphere volume vmdk 7282 type: string 7283 required: 7284 - volumePath 7285 type: object 7286 required: 7287 - name 7288 type: object 7289 type: array 7290 type: object 7291 status: 7292 description: 'Most recent observed status of the Alertmanager cluster. 7293 Read-only. Not included when requesting from the apiserver, only from 7294 the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 7295 properties: 7296 availableReplicas: 7297 description: Total number of available pods (ready for at least minReadySeconds) 7298 targeted by this Alertmanager cluster. 7299 format: int32 7300 type: integer 7301 paused: 7302 description: Represents whether any actions on the underlying managed 7303 objects are being performed. Only delete actions will be performed. 7304 type: boolean 7305 replicas: 7306 description: Total number of non-terminated pods targeted by this 7307 Alertmanager cluster (their labels match the selector). 7308 format: int32 7309 type: integer 7310 unavailableReplicas: 7311 description: Total number of unavailable pods targeted by this Alertmanager 7312 cluster. 7313 format: int32 7314 type: integer 7315 updatedReplicas: 7316 description: Total number of non-terminated pods targeted by this 7317 Alertmanager cluster that have the desired version spec. 7318 format: int32 7319 type: integer 7320 required: 7321 - availableReplicas 7322 - paused 7323 - replicas 7324 - unavailableReplicas 7325 - updatedReplicas 7326 type: object 7327 required: 7328 - spec 7329 type: object 7330 served: true 7331 storage: true 7332 subresources: {} 7333 status: 7334 acceptedNames: 7335 kind: "" 7336 plural: "" 7337 conditions: [] 7338 storedVersions: [] 7339 7340 --- 7341 apiVersion: apiextensions.k8s.io/v1 7342 kind: CustomResourceDefinition 7343 metadata: 7344 annotations: 7345 controller-gen.kubebuilder.io/version: v0.4.1 7346 creationTimestamp: null 7347 name: podmonitors.monitoring.coreos.com 7348 spec: 7349 group: monitoring.coreos.com 7350 names: 7351 categories: 7352 - prometheus-operator 7353 kind: PodMonitor 7354 listKind: PodMonitorList 7355 plural: podmonitors 7356 singular: podmonitor 7357 scope: Namespaced 7358 versions: 7359 - name: v1 7360 schema: 7361 openAPIV3Schema: 7362 description: PodMonitor defines monitoring for a set of pods. 7363 properties: 7364 apiVersion: 7365 description: 'APIVersion defines the versioned schema of this representation 7366 of an object. Servers should convert recognized schemas to the latest 7367 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 7368 type: string 7369 kind: 7370 description: 'Kind is a string value representing the REST resource this 7371 object represents. Servers may infer this from the endpoint the client 7372 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7373 type: string 7374 metadata: 7375 type: object 7376 spec: 7377 description: Specification of desired Pod selection for target discovery 7378 by Prometheus. 7379 properties: 7380 jobLabel: 7381 description: The label to use to retrieve the job name from. 7382 type: string 7383 labelLimit: 7384 description: Per-scrape limit on number of labels that will be accepted 7385 for a sample. Only valid in Prometheus versions 2.27.0 and newer. 7386 format: int64 7387 type: integer 7388 labelNameLengthLimit: 7389 description: Per-scrape limit on length of labels name that will be 7390 accepted for a sample. Only valid in Prometheus versions 2.27.0 7391 and newer. 7392 format: int64 7393 type: integer 7394 labelValueLengthLimit: 7395 description: Per-scrape limit on length of labels value that will 7396 be accepted for a sample. Only valid in Prometheus versions 2.27.0 7397 and newer. 7398 format: int64 7399 type: integer 7400 namespaceSelector: 7401 description: Selector to select which namespaces the Endpoints objects 7402 are discovered from. 7403 properties: 7404 any: 7405 description: Boolean describing whether all namespaces are selected 7406 in contrast to a list restricting them. 7407 type: boolean 7408 matchNames: 7409 description: List of namespace names. 7410 items: 7411 type: string 7412 type: array 7413 type: object 7414 podMetricsEndpoints: 7415 description: A list of endpoints allowed as part of this PodMonitor. 7416 items: 7417 description: PodMetricsEndpoint defines a scrapeable endpoint of 7418 a Kubernetes Pod serving Prometheus metrics. 7419 properties: 7420 authorization: 7421 description: Authorization section for this endpoint 7422 properties: 7423 credentials: 7424 description: The secret's key that contains the credentials 7425 of the request 7426 properties: 7427 key: 7428 description: The key of the secret to select from. Must 7429 be a valid secret key. 7430 type: string 7431 name: 7432 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7433 TODO: Add other useful fields. apiVersion, kind, uid?' 7434 type: string 7435 optional: 7436 description: Specify whether the Secret or its key must 7437 be defined 7438 type: boolean 7439 required: 7440 - key 7441 type: object 7442 type: 7443 description: Set the authentication type. Defaults to Bearer, 7444 Basic will cause an error 7445 type: string 7446 type: object 7447 basicAuth: 7448 description: 'BasicAuth allow an endpoint to authenticate over 7449 basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint' 7450 properties: 7451 password: 7452 description: The secret in the service monitor namespace 7453 that contains the password for authentication. 7454 properties: 7455 key: 7456 description: The key of the secret to select from. Must 7457 be a valid secret key. 7458 type: string 7459 name: 7460 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7461 TODO: Add other useful fields. apiVersion, kind, uid?' 7462 type: string 7463 optional: 7464 description: Specify whether the Secret or its key must 7465 be defined 7466 type: boolean 7467 required: 7468 - key 7469 type: object 7470 username: 7471 description: The secret in the service monitor namespace 7472 that contains the username for authentication. 7473 properties: 7474 key: 7475 description: The key of the secret to select from. Must 7476 be a valid secret key. 7477 type: string 7478 name: 7479 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7480 TODO: Add other useful fields. apiVersion, kind, uid?' 7481 type: string 7482 optional: 7483 description: Specify whether the Secret or its key must 7484 be defined 7485 type: boolean 7486 required: 7487 - key 7488 type: object 7489 type: object 7490 bearerTokenSecret: 7491 description: Secret to mount to read bearer token for scraping 7492 targets. The secret needs to be in the same namespace as the 7493 pod monitor and accessible by the Prometheus Operator. 7494 properties: 7495 key: 7496 description: The key of the secret to select from. Must 7497 be a valid secret key. 7498 type: string 7499 name: 7500 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7501 TODO: Add other useful fields. apiVersion, kind, uid?' 7502 type: string 7503 optional: 7504 description: Specify whether the Secret or its key must 7505 be defined 7506 type: boolean 7507 required: 7508 - key 7509 type: object 7510 honorLabels: 7511 description: HonorLabels chooses the metric's labels on collisions 7512 with target labels. 7513 type: boolean 7514 honorTimestamps: 7515 description: HonorTimestamps controls whether Prometheus respects 7516 the timestamps present in scraped data. 7517 type: boolean 7518 interval: 7519 description: Interval at which metrics should be scraped 7520 type: string 7521 metricRelabelings: 7522 description: MetricRelabelConfigs to apply to samples before 7523 ingestion. 7524 items: 7525 description: 'RelabelConfig allows dynamic rewriting of the 7526 label set, being applied to samples before ingestion. It 7527 defines `<metric_relabel_configs>`-section of Prometheus 7528 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 7529 properties: 7530 action: 7531 description: Action to perform based on regex matching. 7532 Default is 'replace' 7533 type: string 7534 modulus: 7535 description: Modulus to take of the hash of the source 7536 label values. 7537 format: int64 7538 type: integer 7539 regex: 7540 description: Regular expression against which the extracted 7541 value is matched. Default is '(.*)' 7542 type: string 7543 replacement: 7544 description: Replacement value against which a regex replace 7545 is performed if the regular expression matches. Regex 7546 capture groups are available. Default is '$1' 7547 type: string 7548 separator: 7549 description: Separator placed between concatenated source 7550 label values. default is ';'. 7551 type: string 7552 sourceLabels: 7553 description: The source labels select values from existing 7554 labels. Their content is concatenated using the configured 7555 separator and matched against the configured regular 7556 expression for the replace, keep, and drop actions. 7557 items: 7558 type: string 7559 type: array 7560 targetLabel: 7561 description: Label to which the resulting value is written 7562 in a replace action. It is mandatory for replace actions. 7563 Regex capture groups are available. 7564 type: string 7565 type: object 7566 type: array 7567 oauth2: 7568 description: OAuth2 for the URL. Only valid in Prometheus versions 7569 2.27.0 and newer. 7570 properties: 7571 clientId: 7572 description: The secret or configmap containing the OAuth2 7573 client id 7574 properties: 7575 configMap: 7576 description: ConfigMap containing data to use for the 7577 targets. 7578 properties: 7579 key: 7580 description: The key to select. 7581 type: string 7582 name: 7583 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7584 TODO: Add other useful fields. apiVersion, kind, 7585 uid?' 7586 type: string 7587 optional: 7588 description: Specify whether the ConfigMap or its 7589 key must be defined 7590 type: boolean 7591 required: 7592 - key 7593 type: object 7594 secret: 7595 description: Secret containing data to use for the targets. 7596 properties: 7597 key: 7598 description: The key of the secret to select from. Must 7599 be a valid secret key. 7600 type: string 7601 name: 7602 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7603 TODO: Add other useful fields. apiVersion, kind, 7604 uid?' 7605 type: string 7606 optional: 7607 description: Specify whether the Secret or its key 7608 must be defined 7609 type: boolean 7610 required: 7611 - key 7612 type: object 7613 type: object 7614 clientSecret: 7615 description: The secret containing the OAuth2 client secret 7616 properties: 7617 key: 7618 description: The key of the secret to select from. Must 7619 be a valid secret key. 7620 type: string 7621 name: 7622 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7623 TODO: Add other useful fields. apiVersion, kind, uid?' 7624 type: string 7625 optional: 7626 description: Specify whether the Secret or its key must 7627 be defined 7628 type: boolean 7629 required: 7630 - key 7631 type: object 7632 endpointParams: 7633 additionalProperties: 7634 type: string 7635 description: Parameters to append to the token URL 7636 type: object 7637 scopes: 7638 description: OAuth2 scopes used for the token request 7639 items: 7640 type: string 7641 type: array 7642 tokenUrl: 7643 description: The URL to fetch the token from 7644 minLength: 1 7645 type: string 7646 required: 7647 - clientId 7648 - clientSecret 7649 - tokenUrl 7650 type: object 7651 params: 7652 additionalProperties: 7653 items: 7654 type: string 7655 type: array 7656 description: Optional HTTP URL parameters 7657 type: object 7658 path: 7659 description: HTTP path to scrape for metrics. 7660 type: string 7661 port: 7662 description: Name of the pod port this endpoint refers to. Mutually 7663 exclusive with targetPort. 7664 type: string 7665 proxyUrl: 7666 description: ProxyURL eg http://proxyserver:2195 Directs scrapes 7667 to proxy through this endpoint. 7668 type: string 7669 relabelings: 7670 description: 'RelabelConfigs to apply to samples before scraping. 7671 Prometheus Operator automatically adds relabelings for a few 7672 standard Kubernetes fields and replaces original scrape job 7673 name with __tmp_prometheus_job_name. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' 7674 items: 7675 description: 'RelabelConfig allows dynamic rewriting of the 7676 label set, being applied to samples before ingestion. It 7677 defines `<metric_relabel_configs>`-section of Prometheus 7678 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 7679 properties: 7680 action: 7681 description: Action to perform based on regex matching. 7682 Default is 'replace' 7683 type: string 7684 modulus: 7685 description: Modulus to take of the hash of the source 7686 label values. 7687 format: int64 7688 type: integer 7689 regex: 7690 description: Regular expression against which the extracted 7691 value is matched. Default is '(.*)' 7692 type: string 7693 replacement: 7694 description: Replacement value against which a regex replace 7695 is performed if the regular expression matches. Regex 7696 capture groups are available. Default is '$1' 7697 type: string 7698 separator: 7699 description: Separator placed between concatenated source 7700 label values. default is ';'. 7701 type: string 7702 sourceLabels: 7703 description: The source labels select values from existing 7704 labels. Their content is concatenated using the configured 7705 separator and matched against the configured regular 7706 expression for the replace, keep, and drop actions. 7707 items: 7708 type: string 7709 type: array 7710 targetLabel: 7711 description: Label to which the resulting value is written 7712 in a replace action. It is mandatory for replace actions. 7713 Regex capture groups are available. 7714 type: string 7715 type: object 7716 type: array 7717 scheme: 7718 description: HTTP scheme to use for scraping. 7719 type: string 7720 scrapeTimeout: 7721 description: Timeout after which the scrape is ended 7722 type: string 7723 targetPort: 7724 anyOf: 7725 - type: integer 7726 - type: string 7727 description: 'Deprecated: Use ''port'' instead.' 7728 x-kubernetes-int-or-string: true 7729 tlsConfig: 7730 description: TLS configuration to use when scraping the endpoint. 7731 properties: 7732 ca: 7733 description: Struct containing the CA cert to use for the 7734 targets. 7735 properties: 7736 configMap: 7737 description: ConfigMap containing data to use for the 7738 targets. 7739 properties: 7740 key: 7741 description: The key to select. 7742 type: string 7743 name: 7744 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7745 TODO: Add other useful fields. apiVersion, kind, 7746 uid?' 7747 type: string 7748 optional: 7749 description: Specify whether the ConfigMap or its 7750 key must be defined 7751 type: boolean 7752 required: 7753 - key 7754 type: object 7755 secret: 7756 description: Secret containing data to use for the targets. 7757 properties: 7758 key: 7759 description: The key of the secret to select from. Must 7760 be a valid secret key. 7761 type: string 7762 name: 7763 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7764 TODO: Add other useful fields. apiVersion, kind, 7765 uid?' 7766 type: string 7767 optional: 7768 description: Specify whether the Secret or its key 7769 must be defined 7770 type: boolean 7771 required: 7772 - key 7773 type: object 7774 type: object 7775 cert: 7776 description: Struct containing the client cert file for 7777 the targets. 7778 properties: 7779 configMap: 7780 description: ConfigMap containing data to use for the 7781 targets. 7782 properties: 7783 key: 7784 description: The key to select. 7785 type: string 7786 name: 7787 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7788 TODO: Add other useful fields. apiVersion, kind, 7789 uid?' 7790 type: string 7791 optional: 7792 description: Specify whether the ConfigMap or its 7793 key must be defined 7794 type: boolean 7795 required: 7796 - key 7797 type: object 7798 secret: 7799 description: Secret containing data to use for the targets. 7800 properties: 7801 key: 7802 description: The key of the secret to select from. Must 7803 be a valid secret key. 7804 type: string 7805 name: 7806 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7807 TODO: Add other useful fields. apiVersion, kind, 7808 uid?' 7809 type: string 7810 optional: 7811 description: Specify whether the Secret or its key 7812 must be defined 7813 type: boolean 7814 required: 7815 - key 7816 type: object 7817 type: object 7818 insecureSkipVerify: 7819 description: Disable target certificate validation. 7820 type: boolean 7821 keySecret: 7822 description: Secret containing the client key file for the 7823 targets. 7824 properties: 7825 key: 7826 description: The key of the secret to select from. Must 7827 be a valid secret key. 7828 type: string 7829 name: 7830 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7831 TODO: Add other useful fields. apiVersion, kind, uid?' 7832 type: string 7833 optional: 7834 description: Specify whether the Secret or its key must 7835 be defined 7836 type: boolean 7837 required: 7838 - key 7839 type: object 7840 serverName: 7841 description: Used to verify the hostname for the targets. 7842 type: string 7843 type: object 7844 type: object 7845 type: array 7846 podTargetLabels: 7847 description: PodTargetLabels transfers labels on the Kubernetes Pod 7848 onto the target. 7849 items: 7850 type: string 7851 type: array 7852 sampleLimit: 7853 description: SampleLimit defines per-scrape limit on number of scraped 7854 samples that will be accepted. 7855 format: int64 7856 type: integer 7857 selector: 7858 description: Selector to select Pod objects. 7859 properties: 7860 matchExpressions: 7861 description: matchExpressions is a list of label selector requirements. 7862 The requirements are ANDed. 7863 items: 7864 description: A label selector requirement is a selector that 7865 contains values, a key, and an operator that relates the key 7866 and values. 7867 properties: 7868 key: 7869 description: key is the label key that the selector applies 7870 to. 7871 type: string 7872 operator: 7873 description: operator represents a key's relationship to 7874 a set of values. Valid operators are In, NotIn, Exists 7875 and DoesNotExist. 7876 type: string 7877 values: 7878 description: values is an array of string values. If the 7879 operator is In or NotIn, the values array must be non-empty. 7880 If the operator is Exists or DoesNotExist, the values 7881 array must be empty. This array is replaced during a strategic 7882 merge patch. 7883 items: 7884 type: string 7885 type: array 7886 required: 7887 - key 7888 - operator 7889 type: object 7890 type: array 7891 matchLabels: 7892 additionalProperties: 7893 type: string 7894 description: matchLabels is a map of {key,value} pairs. A single 7895 {key,value} in the matchLabels map is equivalent to an element 7896 of matchExpressions, whose key field is "key", the operator 7897 is "In", and the values array contains only "value". The requirements 7898 are ANDed. 7899 type: object 7900 type: object 7901 targetLimit: 7902 description: TargetLimit defines a limit on the number of scraped 7903 targets that will be accepted. 7904 format: int64 7905 type: integer 7906 required: 7907 - podMetricsEndpoints 7908 - selector 7909 type: object 7910 required: 7911 - spec 7912 type: object 7913 served: true 7914 storage: true 7915 status: 7916 acceptedNames: 7917 kind: "" 7918 plural: "" 7919 conditions: [] 7920 storedVersions: [] 7921 7922 --- 7923 apiVersion: apiextensions.k8s.io/v1 7924 kind: CustomResourceDefinition 7925 metadata: 7926 annotations: 7927 controller-gen.kubebuilder.io/version: v0.4.1 7928 creationTimestamp: null 7929 name: probes.monitoring.coreos.com 7930 spec: 7931 group: monitoring.coreos.com 7932 names: 7933 categories: 7934 - prometheus-operator 7935 kind: Probe 7936 listKind: ProbeList 7937 plural: probes 7938 singular: probe 7939 scope: Namespaced 7940 versions: 7941 - name: v1 7942 schema: 7943 openAPIV3Schema: 7944 description: Probe defines monitoring for a set of static targets or ingresses. 7945 properties: 7946 apiVersion: 7947 description: 'APIVersion defines the versioned schema of this representation 7948 of an object. Servers should convert recognized schemas to the latest 7949 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 7950 type: string 7951 kind: 7952 description: 'Kind is a string value representing the REST resource this 7953 object represents. Servers may infer this from the endpoint the client 7954 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 7955 type: string 7956 metadata: 7957 type: object 7958 spec: 7959 description: Specification of desired Ingress selection for target discovery 7960 by Prometheus. 7961 properties: 7962 authorization: 7963 description: Authorization section for this endpoint 7964 properties: 7965 credentials: 7966 description: The secret's key that contains the credentials of 7967 the request 7968 properties: 7969 key: 7970 description: The key of the secret to select from. Must be 7971 a valid secret key. 7972 type: string 7973 name: 7974 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 7975 TODO: Add other useful fields. apiVersion, kind, uid?' 7976 type: string 7977 optional: 7978 description: Specify whether the Secret or its key must be 7979 defined 7980 type: boolean 7981 required: 7982 - key 7983 type: object 7984 type: 7985 description: Set the authentication type. Defaults to Bearer, 7986 Basic will cause an error 7987 type: string 7988 type: object 7989 basicAuth: 7990 description: 'BasicAuth allow an endpoint to authenticate over basic 7991 authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint' 7992 properties: 7993 password: 7994 description: The secret in the service monitor namespace that 7995 contains the password for authentication. 7996 properties: 7997 key: 7998 description: The key of the secret to select from. Must be 7999 a valid secret key. 8000 type: string 8001 name: 8002 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8003 TODO: Add other useful fields. apiVersion, kind, uid?' 8004 type: string 8005 optional: 8006 description: Specify whether the Secret or its key must be 8007 defined 8008 type: boolean 8009 required: 8010 - key 8011 type: object 8012 username: 8013 description: The secret in the service monitor namespace that 8014 contains the username for authentication. 8015 properties: 8016 key: 8017 description: The key of the secret to select from. Must be 8018 a valid secret key. 8019 type: string 8020 name: 8021 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8022 TODO: Add other useful fields. apiVersion, kind, uid?' 8023 type: string 8024 optional: 8025 description: Specify whether the Secret or its key must be 8026 defined 8027 type: boolean 8028 required: 8029 - key 8030 type: object 8031 type: object 8032 bearerTokenSecret: 8033 description: Secret to mount to read bearer token for scraping targets. 8034 The secret needs to be in the same namespace as the probe and accessible 8035 by the Prometheus Operator. 8036 properties: 8037 key: 8038 description: The key of the secret to select from. Must be a 8039 valid secret key. 8040 type: string 8041 name: 8042 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8043 TODO: Add other useful fields. apiVersion, kind, uid?' 8044 type: string 8045 optional: 8046 description: Specify whether the Secret or its key must be defined 8047 type: boolean 8048 required: 8049 - key 8050 type: object 8051 interval: 8052 description: Interval at which targets are probed using the configured 8053 prober. If not specified Prometheus' global scrape interval is used. 8054 type: string 8055 jobName: 8056 description: The job name assigned to scraped metrics by default. 8057 type: string 8058 labelLimit: 8059 description: Per-scrape limit on number of labels that will be accepted 8060 for a sample. Only valid in Prometheus versions 2.27.0 and newer. 8061 format: int64 8062 type: integer 8063 labelNameLengthLimit: 8064 description: Per-scrape limit on length of labels name that will be 8065 accepted for a sample. Only valid in Prometheus versions 2.27.0 8066 and newer. 8067 format: int64 8068 type: integer 8069 labelValueLengthLimit: 8070 description: Per-scrape limit on length of labels value that will 8071 be accepted for a sample. Only valid in Prometheus versions 2.27.0 8072 and newer. 8073 format: int64 8074 type: integer 8075 module: 8076 description: 'The module to use for probing specifying how to probe 8077 the target. Example module configuring in the blackbox exporter: 8078 https://github.com/prometheus/blackbox_exporter/blob/master/example.yml' 8079 type: string 8080 oauth2: 8081 description: OAuth2 for the URL. Only valid in Prometheus versions 8082 2.27.0 and newer. 8083 properties: 8084 clientId: 8085 description: The secret or configmap containing the OAuth2 client 8086 id 8087 properties: 8088 configMap: 8089 description: ConfigMap containing data to use for the targets. 8090 properties: 8091 key: 8092 description: The key to select. 8093 type: string 8094 name: 8095 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8096 TODO: Add other useful fields. apiVersion, kind, uid?' 8097 type: string 8098 optional: 8099 description: Specify whether the ConfigMap or its key 8100 must be defined 8101 type: boolean 8102 required: 8103 - key 8104 type: object 8105 secret: 8106 description: Secret containing data to use for the targets. 8107 properties: 8108 key: 8109 description: The key of the secret to select from. Must 8110 be a valid secret key. 8111 type: string 8112 name: 8113 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8114 TODO: Add other useful fields. apiVersion, kind, uid?' 8115 type: string 8116 optional: 8117 description: Specify whether the Secret or its key must 8118 be defined 8119 type: boolean 8120 required: 8121 - key 8122 type: object 8123 type: object 8124 clientSecret: 8125 description: The secret containing the OAuth2 client secret 8126 properties: 8127 key: 8128 description: The key of the secret to select from. Must be 8129 a valid secret key. 8130 type: string 8131 name: 8132 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8133 TODO: Add other useful fields. apiVersion, kind, uid?' 8134 type: string 8135 optional: 8136 description: Specify whether the Secret or its key must be 8137 defined 8138 type: boolean 8139 required: 8140 - key 8141 type: object 8142 endpointParams: 8143 additionalProperties: 8144 type: string 8145 description: Parameters to append to the token URL 8146 type: object 8147 scopes: 8148 description: OAuth2 scopes used for the token request 8149 items: 8150 type: string 8151 type: array 8152 tokenUrl: 8153 description: The URL to fetch the token from 8154 minLength: 1 8155 type: string 8156 required: 8157 - clientId 8158 - clientSecret 8159 - tokenUrl 8160 type: object 8161 prober: 8162 description: Specification for the prober to use for probing targets. 8163 The prober.URL parameter is required. Targets cannot be probed if 8164 left empty. 8165 properties: 8166 path: 8167 description: Path to collect metrics from. Defaults to `/probe`. 8168 type: string 8169 proxyUrl: 8170 description: Optional ProxyURL. 8171 type: string 8172 scheme: 8173 description: HTTP scheme to use for scraping. Defaults to `http`. 8174 type: string 8175 url: 8176 description: Mandatory URL of the prober. 8177 type: string 8178 required: 8179 - url 8180 type: object 8181 sampleLimit: 8182 description: SampleLimit defines per-scrape limit on number of scraped 8183 samples that will be accepted. 8184 format: int64 8185 type: integer 8186 scrapeTimeout: 8187 description: Timeout for scraping metrics from the Prometheus exporter. 8188 type: string 8189 targetLimit: 8190 description: TargetLimit defines a limit on the number of scraped 8191 targets that will be accepted. 8192 format: int64 8193 type: integer 8194 targets: 8195 description: Targets defines a set of static and/or dynamically discovered 8196 targets to be probed using the prober. 8197 properties: 8198 ingress: 8199 description: Ingress defines the set of dynamically discovered 8200 ingress objects which hosts are considered for probing. 8201 properties: 8202 namespaceSelector: 8203 description: Select Ingress objects by namespace. 8204 properties: 8205 any: 8206 description: Boolean describing whether all namespaces 8207 are selected in contrast to a list restricting them. 8208 type: boolean 8209 matchNames: 8210 description: List of namespace names. 8211 items: 8212 type: string 8213 type: array 8214 type: object 8215 relabelingConfigs: 8216 description: 'RelabelConfigs to apply to samples before ingestion. 8217 More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' 8218 items: 8219 description: 'RelabelConfig allows dynamic rewriting of 8220 the label set, being applied to samples before ingestion. 8221 It defines `<metric_relabel_configs>`-section of Prometheus 8222 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 8223 properties: 8224 action: 8225 description: Action to perform based on regex matching. 8226 Default is 'replace' 8227 type: string 8228 modulus: 8229 description: Modulus to take of the hash of the source 8230 label values. 8231 format: int64 8232 type: integer 8233 regex: 8234 description: Regular expression against which the extracted 8235 value is matched. Default is '(.*)' 8236 type: string 8237 replacement: 8238 description: Replacement value against which a regex 8239 replace is performed if the regular expression matches. 8240 Regex capture groups are available. Default is '$1' 8241 type: string 8242 separator: 8243 description: Separator placed between concatenated source 8244 label values. default is ';'. 8245 type: string 8246 sourceLabels: 8247 description: The source labels select values from existing 8248 labels. Their content is concatenated using the configured 8249 separator and matched against the configured regular 8250 expression for the replace, keep, and drop actions. 8251 items: 8252 type: string 8253 type: array 8254 targetLabel: 8255 description: Label to which the resulting value is written 8256 in a replace action. It is mandatory for replace actions. 8257 Regex capture groups are available. 8258 type: string 8259 type: object 8260 type: array 8261 selector: 8262 description: Select Ingress objects by labels. 8263 properties: 8264 matchExpressions: 8265 description: matchExpressions is a list of label selector 8266 requirements. The requirements are ANDed. 8267 items: 8268 description: A label selector requirement is a selector 8269 that contains values, a key, and an operator that 8270 relates the key and values. 8271 properties: 8272 key: 8273 description: key is the label key that the selector 8274 applies to. 8275 type: string 8276 operator: 8277 description: operator represents a key's relationship 8278 to a set of values. Valid operators are In, NotIn, 8279 Exists and DoesNotExist. 8280 type: string 8281 values: 8282 description: values is an array of string values. 8283 If the operator is In or NotIn, the values array 8284 must be non-empty. If the operator is Exists or 8285 DoesNotExist, the values array must be empty. 8286 This array is replaced during a strategic merge 8287 patch. 8288 items: 8289 type: string 8290 type: array 8291 required: 8292 - key 8293 - operator 8294 type: object 8295 type: array 8296 matchLabels: 8297 additionalProperties: 8298 type: string 8299 description: matchLabels is a map of {key,value} pairs. 8300 A single {key,value} in the matchLabels map is equivalent 8301 to an element of matchExpressions, whose key field is 8302 "key", the operator is "In", and the values array contains 8303 only "value". The requirements are ANDed. 8304 type: object 8305 type: object 8306 type: object 8307 staticConfig: 8308 description: 'StaticConfig defines static targets which are considers 8309 for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.' 8310 properties: 8311 labels: 8312 additionalProperties: 8313 type: string 8314 description: Labels assigned to all metrics scraped from the 8315 targets. 8316 type: object 8317 relabelingConfigs: 8318 description: 'RelabelConfigs to apply to samples before ingestion. 8319 More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' 8320 items: 8321 description: 'RelabelConfig allows dynamic rewriting of 8322 the label set, being applied to samples before ingestion. 8323 It defines `<metric_relabel_configs>`-section of Prometheus 8324 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 8325 properties: 8326 action: 8327 description: Action to perform based on regex matching. 8328 Default is 'replace' 8329 type: string 8330 modulus: 8331 description: Modulus to take of the hash of the source 8332 label values. 8333 format: int64 8334 type: integer 8335 regex: 8336 description: Regular expression against which the extracted 8337 value is matched. Default is '(.*)' 8338 type: string 8339 replacement: 8340 description: Replacement value against which a regex 8341 replace is performed if the regular expression matches. 8342 Regex capture groups are available. Default is '$1' 8343 type: string 8344 separator: 8345 description: Separator placed between concatenated source 8346 label values. default is ';'. 8347 type: string 8348 sourceLabels: 8349 description: The source labels select values from existing 8350 labels. Their content is concatenated using the configured 8351 separator and matched against the configured regular 8352 expression for the replace, keep, and drop actions. 8353 items: 8354 type: string 8355 type: array 8356 targetLabel: 8357 description: Label to which the resulting value is written 8358 in a replace action. It is mandatory for replace actions. 8359 Regex capture groups are available. 8360 type: string 8361 type: object 8362 type: array 8363 static: 8364 description: Targets is a list of URLs to probe using the 8365 configured prober. 8366 items: 8367 type: string 8368 type: array 8369 type: object 8370 type: object 8371 tlsConfig: 8372 description: TLS configuration to use when scraping the endpoint. 8373 properties: 8374 ca: 8375 description: Struct containing the CA cert to use for the targets. 8376 properties: 8377 configMap: 8378 description: ConfigMap containing data to use for the targets. 8379 properties: 8380 key: 8381 description: The key to select. 8382 type: string 8383 name: 8384 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8385 TODO: Add other useful fields. apiVersion, kind, uid?' 8386 type: string 8387 optional: 8388 description: Specify whether the ConfigMap or its key 8389 must be defined 8390 type: boolean 8391 required: 8392 - key 8393 type: object 8394 secret: 8395 description: Secret containing data to use for the targets. 8396 properties: 8397 key: 8398 description: The key of the secret to select from. Must 8399 be a valid secret key. 8400 type: string 8401 name: 8402 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8403 TODO: Add other useful fields. apiVersion, kind, uid?' 8404 type: string 8405 optional: 8406 description: Specify whether the Secret or its key must 8407 be defined 8408 type: boolean 8409 required: 8410 - key 8411 type: object 8412 type: object 8413 cert: 8414 description: Struct containing the client cert file for the targets. 8415 properties: 8416 configMap: 8417 description: ConfigMap containing data to use for the targets. 8418 properties: 8419 key: 8420 description: The key to select. 8421 type: string 8422 name: 8423 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8424 TODO: Add other useful fields. apiVersion, kind, uid?' 8425 type: string 8426 optional: 8427 description: Specify whether the ConfigMap or its key 8428 must be defined 8429 type: boolean 8430 required: 8431 - key 8432 type: object 8433 secret: 8434 description: Secret containing data to use for the targets. 8435 properties: 8436 key: 8437 description: The key of the secret to select from. Must 8438 be a valid secret key. 8439 type: string 8440 name: 8441 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8442 TODO: Add other useful fields. apiVersion, kind, uid?' 8443 type: string 8444 optional: 8445 description: Specify whether the Secret or its key must 8446 be defined 8447 type: boolean 8448 required: 8449 - key 8450 type: object 8451 type: object 8452 insecureSkipVerify: 8453 description: Disable target certificate validation. 8454 type: boolean 8455 keySecret: 8456 description: Secret containing the client key file for the targets. 8457 properties: 8458 key: 8459 description: The key of the secret to select from. Must be 8460 a valid secret key. 8461 type: string 8462 name: 8463 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8464 TODO: Add other useful fields. apiVersion, kind, uid?' 8465 type: string 8466 optional: 8467 description: Specify whether the Secret or its key must be 8468 defined 8469 type: boolean 8470 required: 8471 - key 8472 type: object 8473 serverName: 8474 description: Used to verify the hostname for the targets. 8475 type: string 8476 type: object 8477 type: object 8478 required: 8479 - spec 8480 type: object 8481 served: true 8482 storage: true 8483 status: 8484 acceptedNames: 8485 kind: "" 8486 plural: "" 8487 conditions: [] 8488 storedVersions: [] 8489 8490 --- 8491 apiVersion: apiextensions.k8s.io/v1 8492 kind: CustomResourceDefinition 8493 metadata: 8494 annotations: 8495 controller-gen.kubebuilder.io/version: v0.4.1 8496 creationTimestamp: null 8497 name: prometheuses.monitoring.coreos.com 8498 spec: 8499 group: monitoring.coreos.com 8500 names: 8501 categories: 8502 - prometheus-operator 8503 kind: Prometheus 8504 listKind: PrometheusList 8505 plural: prometheuses 8506 singular: prometheus 8507 scope: Namespaced 8508 versions: 8509 - additionalPrinterColumns: 8510 - description: The version of Prometheus 8511 jsonPath: .spec.version 8512 name: Version 8513 type: string 8514 - description: The desired replicas number of Prometheuses 8515 jsonPath: .spec.replicas 8516 name: Replicas 8517 type: integer 8518 - jsonPath: .metadata.creationTimestamp 8519 name: Age 8520 type: date 8521 name: v1 8522 schema: 8523 openAPIV3Schema: 8524 description: Prometheus defines a Prometheus deployment. 8525 properties: 8526 apiVersion: 8527 description: 'APIVersion defines the versioned schema of this representation 8528 of an object. Servers should convert recognized schemas to the latest 8529 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 8530 type: string 8531 kind: 8532 description: 'Kind is a string value representing the REST resource this 8533 object represents. Servers may infer this from the endpoint the client 8534 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 8535 type: string 8536 metadata: 8537 type: object 8538 spec: 8539 description: 'Specification of the desired behavior of the Prometheus 8540 cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 8541 properties: 8542 additionalAlertManagerConfigs: 8543 description: 'AdditionalAlertManagerConfigs allows specifying a key 8544 of a Secret containing additional Prometheus AlertManager configurations. 8545 AlertManager configurations specified are appended to the configurations 8546 generated by the Prometheus Operator. Job configurations specified 8547 must have the form as specified in the official Prometheus documentation: 8548 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config. 8549 As AlertManager configs are appended, the user is responsible to 8550 make sure it is valid. Note that using this feature may expose the 8551 possibility to break upgrades of Prometheus. It is advised to review 8552 Prometheus release notes to ensure that no incompatible AlertManager 8553 configs are going to break Prometheus after the upgrade.' 8554 properties: 8555 key: 8556 description: The key of the secret to select from. Must be a 8557 valid secret key. 8558 type: string 8559 name: 8560 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8561 TODO: Add other useful fields. apiVersion, kind, uid?' 8562 type: string 8563 optional: 8564 description: Specify whether the Secret or its key must be defined 8565 type: boolean 8566 required: 8567 - key 8568 type: object 8569 additionalAlertRelabelConfigs: 8570 description: 'AdditionalAlertRelabelConfigs allows specifying a key 8571 of a Secret containing additional Prometheus alert relabel configurations. 8572 Alert relabel configurations specified are appended to the configurations 8573 generated by the Prometheus Operator. Alert relabel configurations 8574 specified must have the form as specified in the official Prometheus 8575 documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs. 8576 As alert relabel configs are appended, the user is responsible to 8577 make sure it is valid. Note that using this feature may expose the 8578 possibility to break upgrades of Prometheus. It is advised to review 8579 Prometheus release notes to ensure that no incompatible alert relabel 8580 configs are going to break Prometheus after the upgrade.' 8581 properties: 8582 key: 8583 description: The key of the secret to select from. Must be a 8584 valid secret key. 8585 type: string 8586 name: 8587 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8588 TODO: Add other useful fields. apiVersion, kind, uid?' 8589 type: string 8590 optional: 8591 description: Specify whether the Secret or its key must be defined 8592 type: boolean 8593 required: 8594 - key 8595 type: object 8596 additionalScrapeConfigs: 8597 description: 'AdditionalScrapeConfigs allows specifying a key of a 8598 Secret containing additional Prometheus scrape configurations. Scrape 8599 configurations specified are appended to the configurations generated 8600 by the Prometheus Operator. Job configurations specified must have 8601 the form as specified in the official Prometheus documentation: 8602 https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. 8603 As scrape configs are appended, the user is responsible to make 8604 sure it is valid. Note that using this feature may expose the possibility 8605 to break upgrades of Prometheus. It is advised to review Prometheus 8606 release notes to ensure that no incompatible scrape configs are 8607 going to break Prometheus after the upgrade.' 8608 properties: 8609 key: 8610 description: The key of the secret to select from. Must be a 8611 valid secret key. 8612 type: string 8613 name: 8614 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 8615 TODO: Add other useful fields. apiVersion, kind, uid?' 8616 type: string 8617 optional: 8618 description: Specify whether the Secret or its key must be defined 8619 type: boolean 8620 required: 8621 - key 8622 type: object 8623 affinity: 8624 description: If specified, the pod's scheduling constraints. 8625 properties: 8626 nodeAffinity: 8627 description: Describes node affinity scheduling rules for the 8628 pod. 8629 properties: 8630 preferredDuringSchedulingIgnoredDuringExecution: 8631 description: The scheduler will prefer to schedule pods to 8632 nodes that satisfy the affinity expressions specified by 8633 this field, but it may choose a node that violates one or 8634 more of the expressions. The node that is most preferred 8635 is the one with the greatest sum of weights, i.e. for each 8636 node that meets all of the scheduling requirements (resource 8637 request, requiredDuringScheduling affinity expressions, 8638 etc.), compute a sum by iterating through the elements of 8639 this field and adding "weight" to the sum if the node matches 8640 the corresponding matchExpressions; the node(s) with the 8641 highest sum are the most preferred. 8642 items: 8643 description: An empty preferred scheduling term matches 8644 all objects with implicit weight 0 (i.e. it's a no-op). 8645 A null preferred scheduling term matches no objects (i.e. 8646 is also a no-op). 8647 properties: 8648 preference: 8649 description: A node selector term, associated with the 8650 corresponding weight. 8651 properties: 8652 matchExpressions: 8653 description: A list of node selector requirements 8654 by node's labels. 8655 items: 8656 description: A node selector requirement is a 8657 selector that contains values, a key, and an 8658 operator that relates the key and values. 8659 properties: 8660 key: 8661 description: The label key that the selector 8662 applies to. 8663 type: string 8664 operator: 8665 description: Represents a key's relationship 8666 to a set of values. Valid operators are 8667 In, NotIn, Exists, DoesNotExist. Gt, and 8668 Lt. 8669 type: string 8670 values: 8671 description: An array of string values. If 8672 the operator is In or NotIn, the values 8673 array must be non-empty. If the operator 8674 is Exists or DoesNotExist, the values array 8675 must be empty. If the operator is Gt or 8676 Lt, the values array must have a single 8677 element, which will be interpreted as an 8678 integer. This array is replaced during a 8679 strategic merge patch. 8680 items: 8681 type: string 8682 type: array 8683 required: 8684 - key 8685 - operator 8686 type: object 8687 type: array 8688 matchFields: 8689 description: A list of node selector requirements 8690 by node's fields. 8691 items: 8692 description: A node selector requirement is a 8693 selector that contains values, a key, and an 8694 operator that relates the key and values. 8695 properties: 8696 key: 8697 description: The label key that the selector 8698 applies to. 8699 type: string 8700 operator: 8701 description: Represents a key's relationship 8702 to a set of values. Valid operators are 8703 In, NotIn, Exists, DoesNotExist. Gt, and 8704 Lt. 8705 type: string 8706 values: 8707 description: An array of string values. If 8708 the operator is In or NotIn, the values 8709 array must be non-empty. If the operator 8710 is Exists or DoesNotExist, the values array 8711 must be empty. If the operator is Gt or 8712 Lt, the values array must have a single 8713 element, which will be interpreted as an 8714 integer. This array is replaced during a 8715 strategic merge patch. 8716 items: 8717 type: string 8718 type: array 8719 required: 8720 - key 8721 - operator 8722 type: object 8723 type: array 8724 type: object 8725 weight: 8726 description: Weight associated with matching the corresponding 8727 nodeSelectorTerm, in the range 1-100. 8728 format: int32 8729 type: integer 8730 required: 8731 - preference 8732 - weight 8733 type: object 8734 type: array 8735 requiredDuringSchedulingIgnoredDuringExecution: 8736 description: If the affinity requirements specified by this 8737 field are not met at scheduling time, the pod will not be 8738 scheduled onto the node. If the affinity requirements specified 8739 by this field cease to be met at some point during pod execution 8740 (e.g. due to an update), the system may or may not try to 8741 eventually evict the pod from its node. 8742 properties: 8743 nodeSelectorTerms: 8744 description: Required. A list of node selector terms. 8745 The terms are ORed. 8746 items: 8747 description: A null or empty node selector term matches 8748 no objects. The requirements of them are ANDed. The 8749 TopologySelectorTerm type implements a subset of the 8750 NodeSelectorTerm. 8751 properties: 8752 matchExpressions: 8753 description: A list of node selector requirements 8754 by node's labels. 8755 items: 8756 description: A node selector requirement is a 8757 selector that contains values, a key, and an 8758 operator that relates the key and values. 8759 properties: 8760 key: 8761 description: The label key that the selector 8762 applies to. 8763 type: string 8764 operator: 8765 description: Represents a key's relationship 8766 to a set of values. Valid operators are 8767 In, NotIn, Exists, DoesNotExist. Gt, and 8768 Lt. 8769 type: string 8770 values: 8771 description: An array of string values. If 8772 the operator is In or NotIn, the values 8773 array must be non-empty. If the operator 8774 is Exists or DoesNotExist, the values array 8775 must be empty. If the operator is Gt or 8776 Lt, the values array must have a single 8777 element, which will be interpreted as an 8778 integer. This array is replaced during a 8779 strategic merge patch. 8780 items: 8781 type: string 8782 type: array 8783 required: 8784 - key 8785 - operator 8786 type: object 8787 type: array 8788 matchFields: 8789 description: A list of node selector requirements 8790 by node's fields. 8791 items: 8792 description: A node selector requirement is a 8793 selector that contains values, a key, and an 8794 operator that relates the key and values. 8795 properties: 8796 key: 8797 description: The label key that the selector 8798 applies to. 8799 type: string 8800 operator: 8801 description: Represents a key's relationship 8802 to a set of values. Valid operators are 8803 In, NotIn, Exists, DoesNotExist. Gt, and 8804 Lt. 8805 type: string 8806 values: 8807 description: An array of string values. If 8808 the operator is In or NotIn, the values 8809 array must be non-empty. If the operator 8810 is Exists or DoesNotExist, the values array 8811 must be empty. If the operator is Gt or 8812 Lt, the values array must have a single 8813 element, which will be interpreted as an 8814 integer. This array is replaced during a 8815 strategic merge patch. 8816 items: 8817 type: string 8818 type: array 8819 required: 8820 - key 8821 - operator 8822 type: object 8823 type: array 8824 type: object 8825 type: array 8826 required: 8827 - nodeSelectorTerms 8828 type: object 8829 type: object 8830 podAffinity: 8831 description: Describes pod affinity scheduling rules (e.g. co-locate 8832 this pod in the same node, zone, etc. as some other pod(s)). 8833 properties: 8834 preferredDuringSchedulingIgnoredDuringExecution: 8835 description: The scheduler will prefer to schedule pods to 8836 nodes that satisfy the affinity expressions specified by 8837 this field, but it may choose a node that violates one or 8838 more of the expressions. The node that is most preferred 8839 is the one with the greatest sum of weights, i.e. for each 8840 node that meets all of the scheduling requirements (resource 8841 request, requiredDuringScheduling affinity expressions, 8842 etc.), compute a sum by iterating through the elements of 8843 this field and adding "weight" to the sum if the node has 8844 pods which matches the corresponding podAffinityTerm; the 8845 node(s) with the highest sum are the most preferred. 8846 items: 8847 description: The weights of all of the matched WeightedPodAffinityTerm 8848 fields are added per-node to find the most preferred node(s) 8849 properties: 8850 podAffinityTerm: 8851 description: Required. A pod affinity term, associated 8852 with the corresponding weight. 8853 properties: 8854 labelSelector: 8855 description: A label query over a set of resources, 8856 in this case pods. 8857 properties: 8858 matchExpressions: 8859 description: matchExpressions is a list of label 8860 selector requirements. The requirements are 8861 ANDed. 8862 items: 8863 description: A label selector requirement 8864 is a selector that contains values, a key, 8865 and an operator that relates the key and 8866 values. 8867 properties: 8868 key: 8869 description: key is the label key that 8870 the selector applies to. 8871 type: string 8872 operator: 8873 description: operator represents a key's 8874 relationship to a set of values. Valid 8875 operators are In, NotIn, Exists and 8876 DoesNotExist. 8877 type: string 8878 values: 8879 description: values is an array of string 8880 values. If the operator is In or NotIn, 8881 the values array must be non-empty. 8882 If the operator is Exists or DoesNotExist, 8883 the values array must be empty. This 8884 array is replaced during a strategic 8885 merge patch. 8886 items: 8887 type: string 8888 type: array 8889 required: 8890 - key 8891 - operator 8892 type: object 8893 type: array 8894 matchLabels: 8895 additionalProperties: 8896 type: string 8897 description: matchLabels is a map of {key,value} 8898 pairs. A single {key,value} in the matchLabels 8899 map is equivalent to an element of matchExpressions, 8900 whose key field is "key", the operator is 8901 "In", and the values array contains only "value". 8902 The requirements are ANDed. 8903 type: object 8904 type: object 8905 namespaces: 8906 description: namespaces specifies which namespaces 8907 the labelSelector applies to (matches against); 8908 null or empty list means "this pod's namespace" 8909 items: 8910 type: string 8911 type: array 8912 topologyKey: 8913 description: This pod should be co-located (affinity) 8914 or not co-located (anti-affinity) with the pods 8915 matching the labelSelector in the specified namespaces, 8916 where co-located is defined as running on a node 8917 whose value of the label with key topologyKey 8918 matches that of any node on which any of the selected 8919 pods is running. Empty topologyKey is not allowed. 8920 type: string 8921 required: 8922 - topologyKey 8923 type: object 8924 weight: 8925 description: weight associated with matching the corresponding 8926 podAffinityTerm, in the range 1-100. 8927 format: int32 8928 type: integer 8929 required: 8930 - podAffinityTerm 8931 - weight 8932 type: object 8933 type: array 8934 requiredDuringSchedulingIgnoredDuringExecution: 8935 description: If the affinity requirements specified by this 8936 field are not met at scheduling time, the pod will not be 8937 scheduled onto the node. If the affinity requirements specified 8938 by this field cease to be met at some point during pod execution 8939 (e.g. due to a pod label update), the system may or may 8940 not try to eventually evict the pod from its node. When 8941 there are multiple elements, the lists of nodes corresponding 8942 to each podAffinityTerm are intersected, i.e. all terms 8943 must be satisfied. 8944 items: 8945 description: Defines a set of pods (namely those matching 8946 the labelSelector relative to the given namespace(s)) 8947 that this pod should be co-located (affinity) or not co-located 8948 (anti-affinity) with, where co-located is defined as running 8949 on a node whose value of the label with key <topologyKey> 8950 matches that of any node on which a pod of the set of 8951 pods is running 8952 properties: 8953 labelSelector: 8954 description: A label query over a set of resources, 8955 in this case pods. 8956 properties: 8957 matchExpressions: 8958 description: matchExpressions is a list of label 8959 selector requirements. The requirements are ANDed. 8960 items: 8961 description: A label selector requirement is a 8962 selector that contains values, a key, and an 8963 operator that relates the key and values. 8964 properties: 8965 key: 8966 description: key is the label key that the 8967 selector applies to. 8968 type: string 8969 operator: 8970 description: operator represents a key's relationship 8971 to a set of values. Valid operators are 8972 In, NotIn, Exists and DoesNotExist. 8973 type: string 8974 values: 8975 description: values is an array of string 8976 values. If the operator is In or NotIn, 8977 the values array must be non-empty. If the 8978 operator is Exists or DoesNotExist, the 8979 values array must be empty. This array is 8980 replaced during a strategic merge patch. 8981 items: 8982 type: string 8983 type: array 8984 required: 8985 - key 8986 - operator 8987 type: object 8988 type: array 8989 matchLabels: 8990 additionalProperties: 8991 type: string 8992 description: matchLabels is a map of {key,value} 8993 pairs. A single {key,value} in the matchLabels 8994 map is equivalent to an element of matchExpressions, 8995 whose key field is "key", the operator is "In", 8996 and the values array contains only "value". The 8997 requirements are ANDed. 8998 type: object 8999 type: object 9000 namespaces: 9001 description: namespaces specifies which namespaces the 9002 labelSelector applies to (matches against); null or 9003 empty list means "this pod's namespace" 9004 items: 9005 type: string 9006 type: array 9007 topologyKey: 9008 description: This pod should be co-located (affinity) 9009 or not co-located (anti-affinity) with the pods matching 9010 the labelSelector in the specified namespaces, where 9011 co-located is defined as running on a node whose value 9012 of the label with key topologyKey matches that of 9013 any node on which any of the selected pods is running. 9014 Empty topologyKey is not allowed. 9015 type: string 9016 required: 9017 - topologyKey 9018 type: object 9019 type: array 9020 type: object 9021 podAntiAffinity: 9022 description: Describes pod anti-affinity scheduling rules (e.g. 9023 avoid putting this pod in the same node, zone, etc. as some 9024 other pod(s)). 9025 properties: 9026 preferredDuringSchedulingIgnoredDuringExecution: 9027 description: The scheduler will prefer to schedule pods to 9028 nodes that satisfy the anti-affinity expressions specified 9029 by this field, but it may choose a node that violates one 9030 or more of the expressions. The node that is most preferred 9031 is the one with the greatest sum of weights, i.e. for each 9032 node that meets all of the scheduling requirements (resource 9033 request, requiredDuringScheduling anti-affinity expressions, 9034 etc.), compute a sum by iterating through the elements of 9035 this field and adding "weight" to the sum if the node has 9036 pods which matches the corresponding podAffinityTerm; the 9037 node(s) with the highest sum are the most preferred. 9038 items: 9039 description: The weights of all of the matched WeightedPodAffinityTerm 9040 fields are added per-node to find the most preferred node(s) 9041 properties: 9042 podAffinityTerm: 9043 description: Required. A pod affinity term, associated 9044 with the corresponding weight. 9045 properties: 9046 labelSelector: 9047 description: A label query over a set of resources, 9048 in this case pods. 9049 properties: 9050 matchExpressions: 9051 description: matchExpressions is a list of label 9052 selector requirements. The requirements are 9053 ANDed. 9054 items: 9055 description: A label selector requirement 9056 is a selector that contains values, a key, 9057 and an operator that relates the key and 9058 values. 9059 properties: 9060 key: 9061 description: key is the label key that 9062 the selector applies to. 9063 type: string 9064 operator: 9065 description: operator represents a key's 9066 relationship to a set of values. Valid 9067 operators are In, NotIn, Exists and 9068 DoesNotExist. 9069 type: string 9070 values: 9071 description: values is an array of string 9072 values. If the operator is In or NotIn, 9073 the values array must be non-empty. 9074 If the operator is Exists or DoesNotExist, 9075 the values array must be empty. This 9076 array is replaced during a strategic 9077 merge patch. 9078 items: 9079 type: string 9080 type: array 9081 required: 9082 - key 9083 - operator 9084 type: object 9085 type: array 9086 matchLabels: 9087 additionalProperties: 9088 type: string 9089 description: matchLabels is a map of {key,value} 9090 pairs. A single {key,value} in the matchLabels 9091 map is equivalent to an element of matchExpressions, 9092 whose key field is "key", the operator is 9093 "In", and the values array contains only "value". 9094 The requirements are ANDed. 9095 type: object 9096 type: object 9097 namespaces: 9098 description: namespaces specifies which namespaces 9099 the labelSelector applies to (matches against); 9100 null or empty list means "this pod's namespace" 9101 items: 9102 type: string 9103 type: array 9104 topologyKey: 9105 description: This pod should be co-located (affinity) 9106 or not co-located (anti-affinity) with the pods 9107 matching the labelSelector in the specified namespaces, 9108 where co-located is defined as running on a node 9109 whose value of the label with key topologyKey 9110 matches that of any node on which any of the selected 9111 pods is running. Empty topologyKey is not allowed. 9112 type: string 9113 required: 9114 - topologyKey 9115 type: object 9116 weight: 9117 description: weight associated with matching the corresponding 9118 podAffinityTerm, in the range 1-100. 9119 format: int32 9120 type: integer 9121 required: 9122 - podAffinityTerm 9123 - weight 9124 type: object 9125 type: array 9126 requiredDuringSchedulingIgnoredDuringExecution: 9127 description: If the anti-affinity requirements specified by 9128 this field are not met at scheduling time, the pod will 9129 not be scheduled onto the node. If the anti-affinity requirements 9130 specified by this field cease to be met at some point during 9131 pod execution (e.g. due to a pod label update), the system 9132 may or may not try to eventually evict the pod from its 9133 node. When there are multiple elements, the lists of nodes 9134 corresponding to each podAffinityTerm are intersected, i.e. 9135 all terms must be satisfied. 9136 items: 9137 description: Defines a set of pods (namely those matching 9138 the labelSelector relative to the given namespace(s)) 9139 that this pod should be co-located (affinity) or not co-located 9140 (anti-affinity) with, where co-located is defined as running 9141 on a node whose value of the label with key <topologyKey> 9142 matches that of any node on which a pod of the set of 9143 pods is running 9144 properties: 9145 labelSelector: 9146 description: A label query over a set of resources, 9147 in this case pods. 9148 properties: 9149 matchExpressions: 9150 description: matchExpressions is a list of label 9151 selector requirements. The requirements are ANDed. 9152 items: 9153 description: A label selector requirement is a 9154 selector that contains values, a key, and an 9155 operator that relates the key and values. 9156 properties: 9157 key: 9158 description: key is the label key that the 9159 selector applies to. 9160 type: string 9161 operator: 9162 description: operator represents a key's relationship 9163 to a set of values. Valid operators are 9164 In, NotIn, Exists and DoesNotExist. 9165 type: string 9166 values: 9167 description: values is an array of string 9168 values. If the operator is In or NotIn, 9169 the values array must be non-empty. If the 9170 operator is Exists or DoesNotExist, the 9171 values array must be empty. This array is 9172 replaced during a strategic merge patch. 9173 items: 9174 type: string 9175 type: array 9176 required: 9177 - key 9178 - operator 9179 type: object 9180 type: array 9181 matchLabels: 9182 additionalProperties: 9183 type: string 9184 description: matchLabels is a map of {key,value} 9185 pairs. A single {key,value} in the matchLabels 9186 map is equivalent to an element of matchExpressions, 9187 whose key field is "key", the operator is "In", 9188 and the values array contains only "value". The 9189 requirements are ANDed. 9190 type: object 9191 type: object 9192 namespaces: 9193 description: namespaces specifies which namespaces the 9194 labelSelector applies to (matches against); null or 9195 empty list means "this pod's namespace" 9196 items: 9197 type: string 9198 type: array 9199 topologyKey: 9200 description: This pod should be co-located (affinity) 9201 or not co-located (anti-affinity) with the pods matching 9202 the labelSelector in the specified namespaces, where 9203 co-located is defined as running on a node whose value 9204 of the label with key topologyKey matches that of 9205 any node on which any of the selected pods is running. 9206 Empty topologyKey is not allowed. 9207 type: string 9208 required: 9209 - topologyKey 9210 type: object 9211 type: array 9212 type: object 9213 type: object 9214 alerting: 9215 description: Define details regarding alerting. 9216 properties: 9217 alertmanagers: 9218 description: AlertmanagerEndpoints Prometheus should fire alerts 9219 against. 9220 items: 9221 description: AlertmanagerEndpoints defines a selection of a 9222 single Endpoints object containing alertmanager IPs to fire 9223 alerts against. 9224 properties: 9225 apiVersion: 9226 description: Version of the Alertmanager API that Prometheus 9227 uses to send alerts. It can be "v1" or "v2". 9228 type: string 9229 authorization: 9230 description: Authorization section for this alertmanager 9231 endpoint 9232 properties: 9233 credentials: 9234 description: The secret's key that contains the credentials 9235 of the request 9236 properties: 9237 key: 9238 description: The key of the secret to select from. Must 9239 be a valid secret key. 9240 type: string 9241 name: 9242 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9243 TODO: Add other useful fields. apiVersion, kind, 9244 uid?' 9245 type: string 9246 optional: 9247 description: Specify whether the Secret or its key 9248 must be defined 9249 type: boolean 9250 required: 9251 - key 9252 type: object 9253 type: 9254 description: Set the authentication type. Defaults to 9255 Bearer, Basic will cause an error 9256 type: string 9257 type: object 9258 bearerTokenFile: 9259 description: BearerTokenFile to read from filesystem to 9260 use when authenticating to Alertmanager. 9261 type: string 9262 name: 9263 description: Name of Endpoints object in Namespace. 9264 type: string 9265 namespace: 9266 description: Namespace of Endpoints object. 9267 type: string 9268 pathPrefix: 9269 description: Prefix for the HTTP path alerts are pushed 9270 to. 9271 type: string 9272 port: 9273 anyOf: 9274 - type: integer 9275 - type: string 9276 description: Port the Alertmanager API is exposed on. 9277 x-kubernetes-int-or-string: true 9278 scheme: 9279 description: Scheme to use when firing alerts. 9280 type: string 9281 timeout: 9282 description: Timeout is a per-target Alertmanager timeout 9283 when pushing alerts. 9284 type: string 9285 tlsConfig: 9286 description: TLS Config to use for alertmanager connection. 9287 properties: 9288 ca: 9289 description: Struct containing the CA cert to use for 9290 the targets. 9291 properties: 9292 configMap: 9293 description: ConfigMap containing data to use for 9294 the targets. 9295 properties: 9296 key: 9297 description: The key to select. 9298 type: string 9299 name: 9300 description: 'Name of the referent. More info: 9301 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9302 TODO: Add other useful fields. apiVersion, 9303 kind, uid?' 9304 type: string 9305 optional: 9306 description: Specify whether the ConfigMap or 9307 its key must be defined 9308 type: boolean 9309 required: 9310 - key 9311 type: object 9312 secret: 9313 description: Secret containing data to use for the 9314 targets. 9315 properties: 9316 key: 9317 description: The key of the secret to select 9318 from. Must be a valid secret key. 9319 type: string 9320 name: 9321 description: 'Name of the referent. More info: 9322 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9323 TODO: Add other useful fields. apiVersion, 9324 kind, uid?' 9325 type: string 9326 optional: 9327 description: Specify whether the Secret or its 9328 key must be defined 9329 type: boolean 9330 required: 9331 - key 9332 type: object 9333 type: object 9334 caFile: 9335 description: Path to the CA cert in the Prometheus container 9336 to use for the targets. 9337 type: string 9338 cert: 9339 description: Struct containing the client cert file 9340 for the targets. 9341 properties: 9342 configMap: 9343 description: ConfigMap containing data to use for 9344 the targets. 9345 properties: 9346 key: 9347 description: The key to select. 9348 type: string 9349 name: 9350 description: 'Name of the referent. More info: 9351 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9352 TODO: Add other useful fields. apiVersion, 9353 kind, uid?' 9354 type: string 9355 optional: 9356 description: Specify whether the ConfigMap or 9357 its key must be defined 9358 type: boolean 9359 required: 9360 - key 9361 type: object 9362 secret: 9363 description: Secret containing data to use for the 9364 targets. 9365 properties: 9366 key: 9367 description: The key of the secret to select 9368 from. Must be a valid secret key. 9369 type: string 9370 name: 9371 description: 'Name of the referent. More info: 9372 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9373 TODO: Add other useful fields. apiVersion, 9374 kind, uid?' 9375 type: string 9376 optional: 9377 description: Specify whether the Secret or its 9378 key must be defined 9379 type: boolean 9380 required: 9381 - key 9382 type: object 9383 type: object 9384 certFile: 9385 description: Path to the client cert file in the Prometheus 9386 container for the targets. 9387 type: string 9388 insecureSkipVerify: 9389 description: Disable target certificate validation. 9390 type: boolean 9391 keyFile: 9392 description: Path to the client key file in the Prometheus 9393 container for the targets. 9394 type: string 9395 keySecret: 9396 description: Secret containing the client key file for 9397 the targets. 9398 properties: 9399 key: 9400 description: The key of the secret to select from. Must 9401 be a valid secret key. 9402 type: string 9403 name: 9404 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9405 TODO: Add other useful fields. apiVersion, kind, 9406 uid?' 9407 type: string 9408 optional: 9409 description: Specify whether the Secret or its key 9410 must be defined 9411 type: boolean 9412 required: 9413 - key 9414 type: object 9415 serverName: 9416 description: Used to verify the hostname for the targets. 9417 type: string 9418 type: object 9419 required: 9420 - name 9421 - namespace 9422 - port 9423 type: object 9424 type: array 9425 required: 9426 - alertmanagers 9427 type: object 9428 allowOverlappingBlocks: 9429 description: AllowOverlappingBlocks enables vertical compaction and 9430 vertical query merge in Prometheus. This is still experimental in 9431 Prometheus so it may change in any upcoming release. 9432 type: boolean 9433 apiserverConfig: 9434 description: APIServerConfig allows specifying a host and auth methods 9435 to access apiserver. If left empty, Prometheus is assumed to run 9436 inside of the cluster and will discover API servers automatically 9437 and use the pod's CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. 9438 properties: 9439 authorization: 9440 description: Authorization section for accessing apiserver 9441 properties: 9442 credentials: 9443 description: The secret's key that contains the credentials 9444 of the request 9445 properties: 9446 key: 9447 description: The key of the secret to select from. Must 9448 be a valid secret key. 9449 type: string 9450 name: 9451 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9452 TODO: Add other useful fields. apiVersion, kind, uid?' 9453 type: string 9454 optional: 9455 description: Specify whether the Secret or its key must 9456 be defined 9457 type: boolean 9458 required: 9459 - key 9460 type: object 9461 credentialsFile: 9462 description: File to read a secret from, mutually exclusive 9463 with Credentials (from SafeAuthorization) 9464 type: string 9465 type: 9466 description: Set the authentication type. Defaults to Bearer, 9467 Basic will cause an error 9468 type: string 9469 type: object 9470 basicAuth: 9471 description: BasicAuth allow an endpoint to authenticate over 9472 basic authentication 9473 properties: 9474 password: 9475 description: The secret in the service monitor namespace that 9476 contains the password for authentication. 9477 properties: 9478 key: 9479 description: The key of the secret to select from. Must 9480 be a valid secret key. 9481 type: string 9482 name: 9483 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9484 TODO: Add other useful fields. apiVersion, kind, uid?' 9485 type: string 9486 optional: 9487 description: Specify whether the Secret or its key must 9488 be defined 9489 type: boolean 9490 required: 9491 - key 9492 type: object 9493 username: 9494 description: The secret in the service monitor namespace that 9495 contains the username for authentication. 9496 properties: 9497 key: 9498 description: The key of the secret to select from. Must 9499 be a valid secret key. 9500 type: string 9501 name: 9502 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9503 TODO: Add other useful fields. apiVersion, kind, uid?' 9504 type: string 9505 optional: 9506 description: Specify whether the Secret or its key must 9507 be defined 9508 type: boolean 9509 required: 9510 - key 9511 type: object 9512 type: object 9513 bearerToken: 9514 description: Bearer token for accessing apiserver. 9515 type: string 9516 bearerTokenFile: 9517 description: File to read bearer token for accessing apiserver. 9518 type: string 9519 host: 9520 description: Host of apiserver. A valid string consisting of a 9521 hostname or IP followed by an optional port number 9522 type: string 9523 tlsConfig: 9524 description: TLS Config to use for accessing apiserver. 9525 properties: 9526 ca: 9527 description: Struct containing the CA cert to use for the 9528 targets. 9529 properties: 9530 configMap: 9531 description: ConfigMap containing data to use for the 9532 targets. 9533 properties: 9534 key: 9535 description: The key to select. 9536 type: string 9537 name: 9538 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9539 TODO: Add other useful fields. apiVersion, kind, 9540 uid?' 9541 type: string 9542 optional: 9543 description: Specify whether the ConfigMap or its 9544 key must be defined 9545 type: boolean 9546 required: 9547 - key 9548 type: object 9549 secret: 9550 description: Secret containing data to use for the targets. 9551 properties: 9552 key: 9553 description: The key of the secret to select from. Must 9554 be a valid secret key. 9555 type: string 9556 name: 9557 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9558 TODO: Add other useful fields. apiVersion, kind, 9559 uid?' 9560 type: string 9561 optional: 9562 description: Specify whether the Secret or its key 9563 must be defined 9564 type: boolean 9565 required: 9566 - key 9567 type: object 9568 type: object 9569 caFile: 9570 description: Path to the CA cert in the Prometheus container 9571 to use for the targets. 9572 type: string 9573 cert: 9574 description: Struct containing the client cert file for the 9575 targets. 9576 properties: 9577 configMap: 9578 description: ConfigMap containing data to use for the 9579 targets. 9580 properties: 9581 key: 9582 description: The key to select. 9583 type: string 9584 name: 9585 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9586 TODO: Add other useful fields. apiVersion, kind, 9587 uid?' 9588 type: string 9589 optional: 9590 description: Specify whether the ConfigMap or its 9591 key must be defined 9592 type: boolean 9593 required: 9594 - key 9595 type: object 9596 secret: 9597 description: Secret containing data to use for the targets. 9598 properties: 9599 key: 9600 description: The key of the secret to select from. Must 9601 be a valid secret key. 9602 type: string 9603 name: 9604 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9605 TODO: Add other useful fields. apiVersion, kind, 9606 uid?' 9607 type: string 9608 optional: 9609 description: Specify whether the Secret or its key 9610 must be defined 9611 type: boolean 9612 required: 9613 - key 9614 type: object 9615 type: object 9616 certFile: 9617 description: Path to the client cert file in the Prometheus 9618 container for the targets. 9619 type: string 9620 insecureSkipVerify: 9621 description: Disable target certificate validation. 9622 type: boolean 9623 keyFile: 9624 description: Path to the client key file in the Prometheus 9625 container for the targets. 9626 type: string 9627 keySecret: 9628 description: Secret containing the client key file for the 9629 targets. 9630 properties: 9631 key: 9632 description: The key of the secret to select from. Must 9633 be a valid secret key. 9634 type: string 9635 name: 9636 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9637 TODO: Add other useful fields. apiVersion, kind, uid?' 9638 type: string 9639 optional: 9640 description: Specify whether the Secret or its key must 9641 be defined 9642 type: boolean 9643 required: 9644 - key 9645 type: object 9646 serverName: 9647 description: Used to verify the hostname for the targets. 9648 type: string 9649 type: object 9650 required: 9651 - host 9652 type: object 9653 arbitraryFSAccessThroughSMs: 9654 description: ArbitraryFSAccessThroughSMs configures whether configuration 9655 based on a service monitor can access arbitrary files on the file 9656 system of the Prometheus container e.g. bearer token files. 9657 properties: 9658 deny: 9659 type: boolean 9660 type: object 9661 baseImage: 9662 description: 'Base image to use for a Prometheus deployment. Deprecated: 9663 use ''image'' instead' 9664 type: string 9665 configMaps: 9666 description: ConfigMaps is a list of ConfigMaps in the same namespace 9667 as the Prometheus object, which shall be mounted into the Prometheus 9668 Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/<configmap-name>. 9669 items: 9670 type: string 9671 type: array 9672 containers: 9673 description: 'Containers allows injecting additional containers or 9674 modifying operator generated containers. This can be used to allow 9675 adding an authentication proxy to a Prometheus pod or to change 9676 the behavior of an operator generated container. Containers described 9677 here modify an operator generated container if they share the same 9678 name and modifications are done via a strategic merge patch. The 9679 current container names are: `prometheus`, `config-reloader`, and 9680 `thanos-sidecar`. Overriding containers is entirely outside the 9681 scope of what the maintainers will support and by doing so, you 9682 accept that this behaviour may break at any time without notice.' 9683 items: 9684 description: A single application container that you want to run 9685 within a pod. 9686 properties: 9687 args: 9688 description: 'Arguments to the entrypoint. The docker image''s 9689 CMD is used if this is not provided. Variable references $(VAR_NAME) 9690 are expanded using the container''s environment. If a variable 9691 cannot be resolved, the reference in the input string will 9692 be unchanged. The $(VAR_NAME) syntax can be escaped with a 9693 double $$, ie: $$(VAR_NAME). Escaped references will never 9694 be expanded, regardless of whether the variable exists or 9695 not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 9696 items: 9697 type: string 9698 type: array 9699 command: 9700 description: 'Entrypoint array. Not executed within a shell. 9701 The docker image''s ENTRYPOINT is used if this is not provided. 9702 Variable references $(VAR_NAME) are expanded using the container''s 9703 environment. If a variable cannot be resolved, the reference 9704 in the input string will be unchanged. The $(VAR_NAME) syntax 9705 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 9706 references will never be expanded, regardless of whether the 9707 variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 9708 items: 9709 type: string 9710 type: array 9711 env: 9712 description: List of environment variables to set in the container. 9713 Cannot be updated. 9714 items: 9715 description: EnvVar represents an environment variable present 9716 in a Container. 9717 properties: 9718 name: 9719 description: Name of the environment variable. Must be 9720 a C_IDENTIFIER. 9721 type: string 9722 value: 9723 description: 'Variable references $(VAR_NAME) are expanded 9724 using the previous defined environment variables in 9725 the container and any service environment variables. 9726 If a variable cannot be resolved, the reference in the 9727 input string will be unchanged. The $(VAR_NAME) syntax 9728 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 9729 references will never be expanded, regardless of whether 9730 the variable exists or not. Defaults to "".' 9731 type: string 9732 valueFrom: 9733 description: Source for the environment variable's value. 9734 Cannot be used if value is not empty. 9735 properties: 9736 configMapKeyRef: 9737 description: Selects a key of a ConfigMap. 9738 properties: 9739 key: 9740 description: The key to select. 9741 type: string 9742 name: 9743 description: 'Name of the referent. More info: 9744 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9745 TODO: Add other useful fields. apiVersion, kind, 9746 uid?' 9747 type: string 9748 optional: 9749 description: Specify whether the ConfigMap or 9750 its key must be defined 9751 type: boolean 9752 required: 9753 - key 9754 type: object 9755 fieldRef: 9756 description: 'Selects a field of the pod: supports 9757 metadata.name, metadata.namespace, metadata.labels, 9758 metadata.annotations, spec.nodeName, spec.serviceAccountName, 9759 status.hostIP, status.podIP, status.podIPs.' 9760 properties: 9761 apiVersion: 9762 description: Version of the schema the FieldPath 9763 is written in terms of, defaults to "v1". 9764 type: string 9765 fieldPath: 9766 description: Path of the field to select in the 9767 specified API version. 9768 type: string 9769 required: 9770 - fieldPath 9771 type: object 9772 resourceFieldRef: 9773 description: 'Selects a resource of the container: 9774 only resources limits and requests (limits.cpu, 9775 limits.memory, limits.ephemeral-storage, requests.cpu, 9776 requests.memory and requests.ephemeral-storage) 9777 are currently supported.' 9778 properties: 9779 containerName: 9780 description: 'Container name: required for volumes, 9781 optional for env vars' 9782 type: string 9783 divisor: 9784 anyOf: 9785 - type: integer 9786 - type: string 9787 description: Specifies the output format of the 9788 exposed resources, defaults to "1" 9789 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 9790 x-kubernetes-int-or-string: true 9791 resource: 9792 description: 'Required: resource to select' 9793 type: string 9794 required: 9795 - resource 9796 type: object 9797 secretKeyRef: 9798 description: Selects a key of a secret in the pod's 9799 namespace 9800 properties: 9801 key: 9802 description: The key of the secret to select from. Must 9803 be a valid secret key. 9804 type: string 9805 name: 9806 description: 'Name of the referent. More info: 9807 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9808 TODO: Add other useful fields. apiVersion, kind, 9809 uid?' 9810 type: string 9811 optional: 9812 description: Specify whether the Secret or its 9813 key must be defined 9814 type: boolean 9815 required: 9816 - key 9817 type: object 9818 type: object 9819 required: 9820 - name 9821 type: object 9822 type: array 9823 envFrom: 9824 description: List of sources to populate environment variables 9825 in the container. The keys defined within a source must be 9826 a C_IDENTIFIER. All invalid keys will be reported as an event 9827 when the container is starting. When a key exists in multiple 9828 sources, the value associated with the last source will take 9829 precedence. Values defined by an Env with a duplicate key 9830 will take precedence. Cannot be updated. 9831 items: 9832 description: EnvFromSource represents the source of a set 9833 of ConfigMaps 9834 properties: 9835 configMapRef: 9836 description: The ConfigMap to select from 9837 properties: 9838 name: 9839 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9840 TODO: Add other useful fields. apiVersion, kind, 9841 uid?' 9842 type: string 9843 optional: 9844 description: Specify whether the ConfigMap must be 9845 defined 9846 type: boolean 9847 type: object 9848 prefix: 9849 description: An optional identifier to prepend to each 9850 key in the ConfigMap. Must be a C_IDENTIFIER. 9851 type: string 9852 secretRef: 9853 description: The Secret to select from 9854 properties: 9855 name: 9856 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 9857 TODO: Add other useful fields. apiVersion, kind, 9858 uid?' 9859 type: string 9860 optional: 9861 description: Specify whether the Secret must be defined 9862 type: boolean 9863 type: object 9864 type: object 9865 type: array 9866 image: 9867 description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images 9868 This field is optional to allow higher level config management 9869 to default or override container images in workload controllers 9870 like Deployments and StatefulSets.' 9871 type: string 9872 imagePullPolicy: 9873 description: 'Image pull policy. One of Always, Never, IfNotPresent. 9874 Defaults to Always if :latest tag is specified, or IfNotPresent 9875 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 9876 type: string 9877 lifecycle: 9878 description: Actions that the management system should take 9879 in response to container lifecycle events. Cannot be updated. 9880 properties: 9881 postStart: 9882 description: 'PostStart is called immediately after a container 9883 is created. If the handler fails, the container is terminated 9884 and restarted according to its restart policy. Other management 9885 of the container blocks until the hook completes. More 9886 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 9887 properties: 9888 exec: 9889 description: One and only one of the following should 9890 be specified. Exec specifies the action to take. 9891 properties: 9892 command: 9893 description: Command is the command line to execute 9894 inside the container, the working directory for 9895 the command is root ('/') in the container's 9896 filesystem. The command is simply exec'd, it is 9897 not run inside a shell, so traditional shell instructions 9898 ('|', etc) won't work. To use a shell, you need 9899 to explicitly call out to that shell. Exit status 9900 of 0 is treated as live/healthy and non-zero is 9901 unhealthy. 9902 items: 9903 type: string 9904 type: array 9905 type: object 9906 httpGet: 9907 description: HTTPGet specifies the http request to perform. 9908 properties: 9909 host: 9910 description: Host name to connect to, defaults to 9911 the pod IP. You probably want to set "Host" in 9912 httpHeaders instead. 9913 type: string 9914 httpHeaders: 9915 description: Custom headers to set in the request. 9916 HTTP allows repeated headers. 9917 items: 9918 description: HTTPHeader describes a custom header 9919 to be used in HTTP probes 9920 properties: 9921 name: 9922 description: The header field name 9923 type: string 9924 value: 9925 description: The header field value 9926 type: string 9927 required: 9928 - name 9929 - value 9930 type: object 9931 type: array 9932 path: 9933 description: Path to access on the HTTP server. 9934 type: string 9935 port: 9936 anyOf: 9937 - type: integer 9938 - type: string 9939 description: Name or number of the port to access 9940 on the container. Number must be in the range 9941 1 to 65535. Name must be an IANA_SVC_NAME. 9942 x-kubernetes-int-or-string: true 9943 scheme: 9944 description: Scheme to use for connecting to the 9945 host. Defaults to HTTP. 9946 type: string 9947 required: 9948 - port 9949 type: object 9950 tcpSocket: 9951 description: 'TCPSocket specifies an action involving 9952 a TCP port. TCP hooks not yet supported TODO: implement 9953 a realistic TCP lifecycle hook' 9954 properties: 9955 host: 9956 description: 'Optional: Host name to connect to, 9957 defaults to the pod IP.' 9958 type: string 9959 port: 9960 anyOf: 9961 - type: integer 9962 - type: string 9963 description: Number or name of the port to access 9964 on the container. Number must be in the range 9965 1 to 65535. Name must be an IANA_SVC_NAME. 9966 x-kubernetes-int-or-string: true 9967 required: 9968 - port 9969 type: object 9970 type: object 9971 preStop: 9972 description: 'PreStop is called immediately before a container 9973 is terminated due to an API request or management event 9974 such as liveness/startup probe failure, preemption, resource 9975 contention, etc. The handler is not called if the container 9976 crashes or exits. The reason for termination is passed 9977 to the handler. The Pod''s termination grace period countdown 9978 begins before the PreStop hooked is executed. Regardless 9979 of the outcome of the handler, the container will eventually 9980 terminate within the Pod''s termination grace period. 9981 Other management of the container blocks until the hook 9982 completes or until the termination grace period is reached. 9983 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 9984 properties: 9985 exec: 9986 description: One and only one of the following should 9987 be specified. Exec specifies the action to take. 9988 properties: 9989 command: 9990 description: Command is the command line to execute 9991 inside the container, the working directory for 9992 the command is root ('/') in the container's 9993 filesystem. The command is simply exec'd, it is 9994 not run inside a shell, so traditional shell instructions 9995 ('|', etc) won't work. To use a shell, you need 9996 to explicitly call out to that shell. Exit status 9997 of 0 is treated as live/healthy and non-zero is 9998 unhealthy. 9999 items: 10000 type: string 10001 type: array 10002 type: object 10003 httpGet: 10004 description: HTTPGet specifies the http request to perform. 10005 properties: 10006 host: 10007 description: Host name to connect to, defaults to 10008 the pod IP. You probably want to set "Host" in 10009 httpHeaders instead. 10010 type: string 10011 httpHeaders: 10012 description: Custom headers to set in the request. 10013 HTTP allows repeated headers. 10014 items: 10015 description: HTTPHeader describes a custom header 10016 to be used in HTTP probes 10017 properties: 10018 name: 10019 description: The header field name 10020 type: string 10021 value: 10022 description: The header field value 10023 type: string 10024 required: 10025 - name 10026 - value 10027 type: object 10028 type: array 10029 path: 10030 description: Path to access on the HTTP server. 10031 type: string 10032 port: 10033 anyOf: 10034 - type: integer 10035 - type: string 10036 description: Name or number of the port to access 10037 on the container. Number must be in the range 10038 1 to 65535. Name must be an IANA_SVC_NAME. 10039 x-kubernetes-int-or-string: true 10040 scheme: 10041 description: Scheme to use for connecting to the 10042 host. Defaults to HTTP. 10043 type: string 10044 required: 10045 - port 10046 type: object 10047 tcpSocket: 10048 description: 'TCPSocket specifies an action involving 10049 a TCP port. TCP hooks not yet supported TODO: implement 10050 a realistic TCP lifecycle hook' 10051 properties: 10052 host: 10053 description: 'Optional: Host name to connect to, 10054 defaults to the pod IP.' 10055 type: string 10056 port: 10057 anyOf: 10058 - type: integer 10059 - type: string 10060 description: Number or name of the port to access 10061 on the container. Number must be in the range 10062 1 to 65535. Name must be an IANA_SVC_NAME. 10063 x-kubernetes-int-or-string: true 10064 required: 10065 - port 10066 type: object 10067 type: object 10068 type: object 10069 livenessProbe: 10070 description: 'Periodic probe of container liveness. Container 10071 will be restarted if the probe fails. Cannot be updated. More 10072 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10073 properties: 10074 exec: 10075 description: One and only one of the following should be 10076 specified. Exec specifies the action to take. 10077 properties: 10078 command: 10079 description: Command is the command line to execute 10080 inside the container, the working directory for the 10081 command is root ('/') in the container's filesystem. 10082 The command is simply exec'd, it is not run inside 10083 a shell, so traditional shell instructions ('|', etc) 10084 won't work. To use a shell, you need to explicitly 10085 call out to that shell. Exit status of 0 is treated 10086 as live/healthy and non-zero is unhealthy. 10087 items: 10088 type: string 10089 type: array 10090 type: object 10091 failureThreshold: 10092 description: Minimum consecutive failures for the probe 10093 to be considered failed after having succeeded. Defaults 10094 to 3. Minimum value is 1. 10095 format: int32 10096 type: integer 10097 httpGet: 10098 description: HTTPGet specifies the http request to perform. 10099 properties: 10100 host: 10101 description: Host name to connect to, defaults to the 10102 pod IP. You probably want to set "Host" in httpHeaders 10103 instead. 10104 type: string 10105 httpHeaders: 10106 description: Custom headers to set in the request. HTTP 10107 allows repeated headers. 10108 items: 10109 description: HTTPHeader describes a custom header 10110 to be used in HTTP probes 10111 properties: 10112 name: 10113 description: The header field name 10114 type: string 10115 value: 10116 description: The header field value 10117 type: string 10118 required: 10119 - name 10120 - value 10121 type: object 10122 type: array 10123 path: 10124 description: Path to access on the HTTP server. 10125 type: string 10126 port: 10127 anyOf: 10128 - type: integer 10129 - type: string 10130 description: Name or number of the port to access on 10131 the container. Number must be in the range 1 to 65535. 10132 Name must be an IANA_SVC_NAME. 10133 x-kubernetes-int-or-string: true 10134 scheme: 10135 description: Scheme to use for connecting to the host. 10136 Defaults to HTTP. 10137 type: string 10138 required: 10139 - port 10140 type: object 10141 initialDelaySeconds: 10142 description: 'Number of seconds after the container has 10143 started before liveness probes are initiated. More info: 10144 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10145 format: int32 10146 type: integer 10147 periodSeconds: 10148 description: How often (in seconds) to perform the probe. 10149 Default to 10 seconds. Minimum value is 1. 10150 format: int32 10151 type: integer 10152 successThreshold: 10153 description: Minimum consecutive successes for the probe 10154 to be considered successful after having failed. Defaults 10155 to 1. Must be 1 for liveness and startup. Minimum value 10156 is 1. 10157 format: int32 10158 type: integer 10159 tcpSocket: 10160 description: 'TCPSocket specifies an action involving a 10161 TCP port. TCP hooks not yet supported TODO: implement 10162 a realistic TCP lifecycle hook' 10163 properties: 10164 host: 10165 description: 'Optional: Host name to connect to, defaults 10166 to the pod IP.' 10167 type: string 10168 port: 10169 anyOf: 10170 - type: integer 10171 - type: string 10172 description: Number or name of the port to access on 10173 the container. Number must be in the range 1 to 65535. 10174 Name must be an IANA_SVC_NAME. 10175 x-kubernetes-int-or-string: true 10176 required: 10177 - port 10178 type: object 10179 timeoutSeconds: 10180 description: 'Number of seconds after which the probe times 10181 out. Defaults to 1 second. Minimum value is 1. More info: 10182 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10183 format: int32 10184 type: integer 10185 type: object 10186 name: 10187 description: Name of the container specified as a DNS_LABEL. 10188 Each container in a pod must have a unique name (DNS_LABEL). 10189 Cannot be updated. 10190 type: string 10191 ports: 10192 description: List of ports to expose from the container. Exposing 10193 a port here gives the system additional information about 10194 the network connections a container uses, but is primarily 10195 informational. Not specifying a port here DOES NOT prevent 10196 that port from being exposed. Any port which is listening 10197 on the default "0.0.0.0" address inside a container will be 10198 accessible from the network. Cannot be updated. 10199 items: 10200 description: ContainerPort represents a network port in a 10201 single container. 10202 properties: 10203 containerPort: 10204 description: Number of port to expose on the pod's IP 10205 address. This must be a valid port number, 0 < x < 65536. 10206 format: int32 10207 type: integer 10208 hostIP: 10209 description: What host IP to bind the external port to. 10210 type: string 10211 hostPort: 10212 description: Number of port to expose on the host. If 10213 specified, this must be a valid port number, 0 < x < 10214 65536. If HostNetwork is specified, this must match 10215 ContainerPort. Most containers do not need this. 10216 format: int32 10217 type: integer 10218 name: 10219 description: If specified, this must be an IANA_SVC_NAME 10220 and unique within the pod. Each named port in a pod 10221 must have a unique name. Name for the port that can 10222 be referred to by services. 10223 type: string 10224 protocol: 10225 default: TCP 10226 description: Protocol for port. Must be UDP, TCP, or SCTP. 10227 Defaults to "TCP". 10228 type: string 10229 required: 10230 - containerPort 10231 type: object 10232 type: array 10233 x-kubernetes-list-map-keys: 10234 - containerPort 10235 - protocol 10236 x-kubernetes-list-type: map 10237 readinessProbe: 10238 description: 'Periodic probe of container service readiness. 10239 Container will be removed from service endpoints if the probe 10240 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10241 properties: 10242 exec: 10243 description: One and only one of the following should be 10244 specified. Exec specifies the action to take. 10245 properties: 10246 command: 10247 description: Command is the command line to execute 10248 inside the container, the working directory for the 10249 command is root ('/') in the container's filesystem. 10250 The command is simply exec'd, it is not run inside 10251 a shell, so traditional shell instructions ('|', etc) 10252 won't work. To use a shell, you need to explicitly 10253 call out to that shell. Exit status of 0 is treated 10254 as live/healthy and non-zero is unhealthy. 10255 items: 10256 type: string 10257 type: array 10258 type: object 10259 failureThreshold: 10260 description: Minimum consecutive failures for the probe 10261 to be considered failed after having succeeded. Defaults 10262 to 3. Minimum value is 1. 10263 format: int32 10264 type: integer 10265 httpGet: 10266 description: HTTPGet specifies the http request to perform. 10267 properties: 10268 host: 10269 description: Host name to connect to, defaults to the 10270 pod IP. You probably want to set "Host" in httpHeaders 10271 instead. 10272 type: string 10273 httpHeaders: 10274 description: Custom headers to set in the request. HTTP 10275 allows repeated headers. 10276 items: 10277 description: HTTPHeader describes a custom header 10278 to be used in HTTP probes 10279 properties: 10280 name: 10281 description: The header field name 10282 type: string 10283 value: 10284 description: The header field value 10285 type: string 10286 required: 10287 - name 10288 - value 10289 type: object 10290 type: array 10291 path: 10292 description: Path to access on the HTTP server. 10293 type: string 10294 port: 10295 anyOf: 10296 - type: integer 10297 - type: string 10298 description: Name or number of the port to access on 10299 the container. Number must be in the range 1 to 65535. 10300 Name must be an IANA_SVC_NAME. 10301 x-kubernetes-int-or-string: true 10302 scheme: 10303 description: Scheme to use for connecting to the host. 10304 Defaults to HTTP. 10305 type: string 10306 required: 10307 - port 10308 type: object 10309 initialDelaySeconds: 10310 description: 'Number of seconds after the container has 10311 started before liveness probes are initiated. More info: 10312 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10313 format: int32 10314 type: integer 10315 periodSeconds: 10316 description: How often (in seconds) to perform the probe. 10317 Default to 10 seconds. Minimum value is 1. 10318 format: int32 10319 type: integer 10320 successThreshold: 10321 description: Minimum consecutive successes for the probe 10322 to be considered successful after having failed. Defaults 10323 to 1. Must be 1 for liveness and startup. Minimum value 10324 is 1. 10325 format: int32 10326 type: integer 10327 tcpSocket: 10328 description: 'TCPSocket specifies an action involving a 10329 TCP port. TCP hooks not yet supported TODO: implement 10330 a realistic TCP lifecycle hook' 10331 properties: 10332 host: 10333 description: 'Optional: Host name to connect to, defaults 10334 to the pod IP.' 10335 type: string 10336 port: 10337 anyOf: 10338 - type: integer 10339 - type: string 10340 description: Number or name of the port to access on 10341 the container. Number must be in the range 1 to 65535. 10342 Name must be an IANA_SVC_NAME. 10343 x-kubernetes-int-or-string: true 10344 required: 10345 - port 10346 type: object 10347 timeoutSeconds: 10348 description: 'Number of seconds after which the probe times 10349 out. Defaults to 1 second. Minimum value is 1. More info: 10350 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10351 format: int32 10352 type: integer 10353 type: object 10354 resources: 10355 description: 'Compute Resources required by this container. 10356 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 10357 properties: 10358 limits: 10359 additionalProperties: 10360 anyOf: 10361 - type: integer 10362 - type: string 10363 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 10364 x-kubernetes-int-or-string: true 10365 description: 'Limits describes the maximum amount of compute 10366 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 10367 type: object 10368 requests: 10369 additionalProperties: 10370 anyOf: 10371 - type: integer 10372 - type: string 10373 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 10374 x-kubernetes-int-or-string: true 10375 description: 'Requests describes the minimum amount of compute 10376 resources required. If Requests is omitted for a container, 10377 it defaults to Limits if that is explicitly specified, 10378 otherwise to an implementation-defined value. More info: 10379 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 10380 type: object 10381 type: object 10382 securityContext: 10383 description: 'Security options the pod should run with. More 10384 info: https://kubernetes.io/docs/concepts/policy/security-context/ 10385 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 10386 properties: 10387 allowPrivilegeEscalation: 10388 description: 'AllowPrivilegeEscalation controls whether 10389 a process can gain more privileges than its parent process. 10390 This bool directly controls if the no_new_privs flag will 10391 be set on the container process. AllowPrivilegeEscalation 10392 is true always when the container is: 1) run as Privileged 10393 2) has CAP_SYS_ADMIN' 10394 type: boolean 10395 capabilities: 10396 description: The capabilities to add/drop when running containers. 10397 Defaults to the default set of capabilities granted by 10398 the container runtime. 10399 properties: 10400 add: 10401 description: Added capabilities 10402 items: 10403 description: Capability represent POSIX capabilities 10404 type 10405 type: string 10406 type: array 10407 drop: 10408 description: Removed capabilities 10409 items: 10410 description: Capability represent POSIX capabilities 10411 type 10412 type: string 10413 type: array 10414 type: object 10415 privileged: 10416 description: Run container in privileged mode. Processes 10417 in privileged containers are essentially equivalent to 10418 root on the host. Defaults to false. 10419 type: boolean 10420 procMount: 10421 description: procMount denotes the type of proc mount to 10422 use for the containers. The default is DefaultProcMount 10423 which uses the container runtime defaults for readonly 10424 paths and masked paths. This requires the ProcMountType 10425 feature flag to be enabled. 10426 type: string 10427 readOnlyRootFilesystem: 10428 description: Whether this container has a read-only root 10429 filesystem. Default is false. 10430 type: boolean 10431 runAsGroup: 10432 description: The GID to run the entrypoint of the container 10433 process. Uses runtime default if unset. May also be set 10434 in PodSecurityContext. If set in both SecurityContext 10435 and PodSecurityContext, the value specified in SecurityContext 10436 takes precedence. 10437 format: int64 10438 type: integer 10439 runAsNonRoot: 10440 description: Indicates that the container must run as a 10441 non-root user. If true, the Kubelet will validate the 10442 image at runtime to ensure that it does not run as UID 10443 0 (root) and fail to start the container if it does. If 10444 unset or false, no such validation will be performed. 10445 May also be set in PodSecurityContext. If set in both 10446 SecurityContext and PodSecurityContext, the value specified 10447 in SecurityContext takes precedence. 10448 type: boolean 10449 runAsUser: 10450 description: The UID to run the entrypoint of the container 10451 process. Defaults to user specified in image metadata 10452 if unspecified. May also be set in PodSecurityContext. If 10453 set in both SecurityContext and PodSecurityContext, the 10454 value specified in SecurityContext takes precedence. 10455 format: int64 10456 type: integer 10457 seLinuxOptions: 10458 description: The SELinux context to be applied to the container. 10459 If unspecified, the container runtime will allocate a 10460 random SELinux context for each container. May also be 10461 set in PodSecurityContext. If set in both SecurityContext 10462 and PodSecurityContext, the value specified in SecurityContext 10463 takes precedence. 10464 properties: 10465 level: 10466 description: Level is SELinux level label that applies 10467 to the container. 10468 type: string 10469 role: 10470 description: Role is a SELinux role label that applies 10471 to the container. 10472 type: string 10473 type: 10474 description: Type is a SELinux type label that applies 10475 to the container. 10476 type: string 10477 user: 10478 description: User is a SELinux user label that applies 10479 to the container. 10480 type: string 10481 type: object 10482 windowsOptions: 10483 description: The Windows specific settings applied to all 10484 containers. If unspecified, the options from the PodSecurityContext 10485 will be used. If set in both SecurityContext and PodSecurityContext, 10486 the value specified in SecurityContext takes precedence. 10487 properties: 10488 gmsaCredentialSpec: 10489 description: GMSACredentialSpec is where the GMSA admission 10490 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 10491 inlines the contents of the GMSA credential spec named 10492 by the GMSACredentialSpecName field. 10493 type: string 10494 gmsaCredentialSpecName: 10495 description: GMSACredentialSpecName is the name of the 10496 GMSA credential spec to use. 10497 type: string 10498 runAsUserName: 10499 description: The UserName in Windows to run the entrypoint 10500 of the container process. Defaults to the user specified 10501 in image metadata if unspecified. May also be set 10502 in PodSecurityContext. If set in both SecurityContext 10503 and PodSecurityContext, the value specified in SecurityContext 10504 takes precedence. 10505 type: string 10506 type: object 10507 type: object 10508 startupProbe: 10509 description: 'StartupProbe indicates that the Pod has successfully 10510 initialized. If specified, no other probes are executed until 10511 this completes successfully. If this probe fails, the Pod 10512 will be restarted, just as if the livenessProbe failed. This 10513 can be used to provide different probe parameters at the beginning 10514 of a Pod''s lifecycle, when it might take a long time to load 10515 data or warm a cache, than during steady-state operation. 10516 This cannot be updated. This is a beta feature enabled by 10517 the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10518 properties: 10519 exec: 10520 description: One and only one of the following should be 10521 specified. Exec specifies the action to take. 10522 properties: 10523 command: 10524 description: Command is the command line to execute 10525 inside the container, the working directory for the 10526 command is root ('/') in the container's filesystem. 10527 The command is simply exec'd, it is not run inside 10528 a shell, so traditional shell instructions ('|', etc) 10529 won't work. To use a shell, you need to explicitly 10530 call out to that shell. Exit status of 0 is treated 10531 as live/healthy and non-zero is unhealthy. 10532 items: 10533 type: string 10534 type: array 10535 type: object 10536 failureThreshold: 10537 description: Minimum consecutive failures for the probe 10538 to be considered failed after having succeeded. Defaults 10539 to 3. Minimum value is 1. 10540 format: int32 10541 type: integer 10542 httpGet: 10543 description: HTTPGet specifies the http request to perform. 10544 properties: 10545 host: 10546 description: Host name to connect to, defaults to the 10547 pod IP. You probably want to set "Host" in httpHeaders 10548 instead. 10549 type: string 10550 httpHeaders: 10551 description: Custom headers to set in the request. HTTP 10552 allows repeated headers. 10553 items: 10554 description: HTTPHeader describes a custom header 10555 to be used in HTTP probes 10556 properties: 10557 name: 10558 description: The header field name 10559 type: string 10560 value: 10561 description: The header field value 10562 type: string 10563 required: 10564 - name 10565 - value 10566 type: object 10567 type: array 10568 path: 10569 description: Path to access on the HTTP server. 10570 type: string 10571 port: 10572 anyOf: 10573 - type: integer 10574 - type: string 10575 description: Name or number of the port to access on 10576 the container. Number must be in the range 1 to 65535. 10577 Name must be an IANA_SVC_NAME. 10578 x-kubernetes-int-or-string: true 10579 scheme: 10580 description: Scheme to use for connecting to the host. 10581 Defaults to HTTP. 10582 type: string 10583 required: 10584 - port 10585 type: object 10586 initialDelaySeconds: 10587 description: 'Number of seconds after the container has 10588 started before liveness probes are initiated. More info: 10589 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10590 format: int32 10591 type: integer 10592 periodSeconds: 10593 description: How often (in seconds) to perform the probe. 10594 Default to 10 seconds. Minimum value is 1. 10595 format: int32 10596 type: integer 10597 successThreshold: 10598 description: Minimum consecutive successes for the probe 10599 to be considered successful after having failed. Defaults 10600 to 1. Must be 1 for liveness and startup. Minimum value 10601 is 1. 10602 format: int32 10603 type: integer 10604 tcpSocket: 10605 description: 'TCPSocket specifies an action involving a 10606 TCP port. TCP hooks not yet supported TODO: implement 10607 a realistic TCP lifecycle hook' 10608 properties: 10609 host: 10610 description: 'Optional: Host name to connect to, defaults 10611 to the pod IP.' 10612 type: string 10613 port: 10614 anyOf: 10615 - type: integer 10616 - type: string 10617 description: Number or name of the port to access on 10618 the container. Number must be in the range 1 to 65535. 10619 Name must be an IANA_SVC_NAME. 10620 x-kubernetes-int-or-string: true 10621 required: 10622 - port 10623 type: object 10624 timeoutSeconds: 10625 description: 'Number of seconds after which the probe times 10626 out. Defaults to 1 second. Minimum value is 1. More info: 10627 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 10628 format: int32 10629 type: integer 10630 type: object 10631 stdin: 10632 description: Whether this container should allocate a buffer 10633 for stdin in the container runtime. If this is not set, reads 10634 from stdin in the container will always result in EOF. Default 10635 is false. 10636 type: boolean 10637 stdinOnce: 10638 description: Whether the container runtime should close the 10639 stdin channel after it has been opened by a single attach. 10640 When stdin is true the stdin stream will remain open across 10641 multiple attach sessions. If stdinOnce is set to true, stdin 10642 is opened on container start, is empty until the first client 10643 attaches to stdin, and then remains open and accepts data 10644 until the client disconnects, at which time stdin is closed 10645 and remains closed until the container is restarted. If this 10646 flag is false, a container processes that reads from stdin 10647 will never receive an EOF. Default is false 10648 type: boolean 10649 terminationMessagePath: 10650 description: 'Optional: Path at which the file to which the 10651 container''s termination message will be written is mounted 10652 into the container''s filesystem. Message written is intended 10653 to be brief final status, such as an assertion failure message. 10654 Will be truncated by the node if greater than 4096 bytes. 10655 The total message length across all containers will be limited 10656 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 10657 type: string 10658 terminationMessagePolicy: 10659 description: Indicate how the termination message should be 10660 populated. File will use the contents of terminationMessagePath 10661 to populate the container status message on both success and 10662 failure. FallbackToLogsOnError will use the last chunk of 10663 container log output if the termination message file is empty 10664 and the container exited with an error. The log output is 10665 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 10666 to File. Cannot be updated. 10667 type: string 10668 tty: 10669 description: Whether this container should allocate a TTY for 10670 itself, also requires 'stdin' to be true. Default is false. 10671 type: boolean 10672 volumeDevices: 10673 description: volumeDevices is the list of block devices to be 10674 used by the container. 10675 items: 10676 description: volumeDevice describes a mapping of a raw block 10677 device within a container. 10678 properties: 10679 devicePath: 10680 description: devicePath is the path inside of the container 10681 that the device will be mapped to. 10682 type: string 10683 name: 10684 description: name must match the name of a persistentVolumeClaim 10685 in the pod 10686 type: string 10687 required: 10688 - devicePath 10689 - name 10690 type: object 10691 type: array 10692 volumeMounts: 10693 description: Pod volumes to mount into the container's filesystem. 10694 Cannot be updated. 10695 items: 10696 description: VolumeMount describes a mounting of a Volume 10697 within a container. 10698 properties: 10699 mountPath: 10700 description: Path within the container at which the volume 10701 should be mounted. Must not contain ':'. 10702 type: string 10703 mountPropagation: 10704 description: mountPropagation determines how mounts are 10705 propagated from the host to container and the other 10706 way around. When not set, MountPropagationNone is used. 10707 This field is beta in 1.10. 10708 type: string 10709 name: 10710 description: This must match the Name of a Volume. 10711 type: string 10712 readOnly: 10713 description: Mounted read-only if true, read-write otherwise 10714 (false or unspecified). Defaults to false. 10715 type: boolean 10716 subPath: 10717 description: Path within the volume from which the container's 10718 volume should be mounted. Defaults to "" (volume's root). 10719 type: string 10720 subPathExpr: 10721 description: Expanded path within the volume from which 10722 the container's volume should be mounted. Behaves similarly 10723 to SubPath but environment variable references $(VAR_NAME) 10724 are expanded using the container's environment. Defaults 10725 to "" (volume's root). SubPathExpr and SubPath are mutually 10726 exclusive. 10727 type: string 10728 required: 10729 - mountPath 10730 - name 10731 type: object 10732 type: array 10733 workingDir: 10734 description: Container's working directory. If not specified, 10735 the container runtime's default will be used, which might 10736 be configured in the container image. Cannot be updated. 10737 type: string 10738 required: 10739 - name 10740 type: object 10741 type: array 10742 disableCompaction: 10743 description: Disable prometheus compaction. 10744 type: boolean 10745 enableAdminAPI: 10746 description: 'Enable access to prometheus web admin API. Defaults 10747 to the value of `false`. WARNING: Enabling the admin APIs enables 10748 mutating endpoints, to delete data, shutdown Prometheus, and more. 10749 Enabling this should be done with care and the user is advised to 10750 add additional authentication authorization via a proxy to ensure 10751 only clients authorized to perform these actions can do so. For 10752 more information see https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis' 10753 type: boolean 10754 enableFeatures: 10755 description: Enable access to Prometheus disabled features. By default, 10756 no features are enabled. Enabling disabled features is entirely 10757 outside the scope of what the maintainers will support and by doing 10758 so, you accept that this behaviour may break at any time without 10759 notice. For more information see https://prometheus.io/docs/prometheus/latest/disabled_features/ 10760 items: 10761 type: string 10762 type: array 10763 enforcedLabelLimit: 10764 description: Per-scrape limit on number of labels that will be accepted 10765 for a sample. If more than this number of labels are present post 10766 metric-relabeling, the entire scrape will be treated as failed. 10767 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer. 10768 format: int64 10769 type: integer 10770 enforcedLabelNameLengthLimit: 10771 description: Per-scrape limit on length of labels name that will be 10772 accepted for a sample. If a label name is longer than this number 10773 post metric-relabeling, the entire scrape will be treated as failed. 10774 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer. 10775 format: int64 10776 type: integer 10777 enforcedLabelValueLengthLimit: 10778 description: Per-scrape limit on length of labels value that will 10779 be accepted for a sample. If a label value is longer than this number 10780 post metric-relabeling, the entire scrape will be treated as failed. 10781 0 means no limit. Only valid in Prometheus versions 2.27.0 and newer. 10782 format: int64 10783 type: integer 10784 enforcedNamespaceLabel: 10785 description: "EnforcedNamespaceLabel If set, a label will be added 10786 to \n 1. all user-metrics (created by `ServiceMonitor`, `PodMonitor` 10787 and `ProbeConfig` object) and 2. in all `PrometheusRule` objects 10788 (except the ones excluded in `prometheusRulesExcludedFromEnforce`) 10789 to * alerting & recording rules and * the metrics used in 10790 their expressions (`expr`). \n Label name is this field's value. 10791 Label value is the namespace of the created object (mentioned above)." 10792 type: string 10793 enforcedSampleLimit: 10794 description: EnforcedSampleLimit defines global limit on number of 10795 scraped samples that will be accepted. This overrides any SampleLimit 10796 set per ServiceMonitor or/and PodMonitor. It is meant to be used 10797 by admins to enforce the SampleLimit to keep overall number of samples/series 10798 under the desired limit. Note that if SampleLimit is lower that 10799 value will be taken instead. 10800 format: int64 10801 type: integer 10802 enforcedTargetLimit: 10803 description: EnforcedTargetLimit defines a global limit on the number 10804 of scraped targets. This overrides any TargetLimit set per ServiceMonitor 10805 or/and PodMonitor. It is meant to be used by admins to enforce 10806 the TargetLimit to keep the overall number of targets under the 10807 desired limit. Note that if TargetLimit is lower, that value will 10808 be taken instead, except if either value is zero, in which case 10809 the non-zero value will be used. If both values are zero, no limit 10810 is enforced. 10811 format: int64 10812 type: integer 10813 evaluationInterval: 10814 description: 'Interval between consecutive evaluations. Default: `1m`' 10815 type: string 10816 externalLabels: 10817 additionalProperties: 10818 type: string 10819 description: The labels to add to any time series or alerts when communicating 10820 with external systems (federation, remote storage, Alertmanager). 10821 type: object 10822 externalUrl: 10823 description: The external URL the Prometheus instances will be available 10824 under. This is necessary to generate correct URLs. This is necessary 10825 if Prometheus is not served from root of a DNS name. 10826 type: string 10827 ignoreNamespaceSelectors: 10828 description: IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector 10829 settings from the podmonitor and servicemonitor configs, and they 10830 will only discover endpoints within their current namespace. Defaults 10831 to false. 10832 type: boolean 10833 image: 10834 description: Image if specified has precedence over baseImage, tag 10835 and sha combinations. Specifying the version is still necessary 10836 to ensure the Prometheus Operator knows what version of Prometheus 10837 is being configured. 10838 type: string 10839 imagePullSecrets: 10840 description: An optional list of references to secrets in the same 10841 namespace to use for pulling prometheus and alertmanager images 10842 from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod 10843 items: 10844 description: LocalObjectReference contains enough information to 10845 let you locate the referenced object inside the same namespace. 10846 properties: 10847 name: 10848 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 10849 TODO: Add other useful fields. apiVersion, kind, uid?' 10850 type: string 10851 type: object 10852 type: array 10853 initContainers: 10854 description: 'InitContainers allows adding initContainers to the pod 10855 definition. Those can be used to e.g. fetch secrets for injection 10856 into the Prometheus configuration from external sources. Any errors 10857 during the execution of an initContainer will lead to a restart 10858 of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ 10859 InitContainers described here modify an operator generated init 10860 containers if they share the same name and modifications are done 10861 via a strategic merge patch. The current init container name is: 10862 `init-config-reloader`. Overriding init containers is entirely outside 10863 the scope of what the maintainers will support and by doing so, 10864 you accept that this behaviour may break at any time without notice.' 10865 items: 10866 description: A single application container that you want to run 10867 within a pod. 10868 properties: 10869 args: 10870 description: 'Arguments to the entrypoint. The docker image''s 10871 CMD is used if this is not provided. Variable references $(VAR_NAME) 10872 are expanded using the container''s environment. If a variable 10873 cannot be resolved, the reference in the input string will 10874 be unchanged. The $(VAR_NAME) syntax can be escaped with a 10875 double $$, ie: $$(VAR_NAME). Escaped references will never 10876 be expanded, regardless of whether the variable exists or 10877 not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 10878 items: 10879 type: string 10880 type: array 10881 command: 10882 description: 'Entrypoint array. Not executed within a shell. 10883 The docker image''s ENTRYPOINT is used if this is not provided. 10884 Variable references $(VAR_NAME) are expanded using the container''s 10885 environment. If a variable cannot be resolved, the reference 10886 in the input string will be unchanged. The $(VAR_NAME) syntax 10887 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 10888 references will never be expanded, regardless of whether the 10889 variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 10890 items: 10891 type: string 10892 type: array 10893 env: 10894 description: List of environment variables to set in the container. 10895 Cannot be updated. 10896 items: 10897 description: EnvVar represents an environment variable present 10898 in a Container. 10899 properties: 10900 name: 10901 description: Name of the environment variable. Must be 10902 a C_IDENTIFIER. 10903 type: string 10904 value: 10905 description: 'Variable references $(VAR_NAME) are expanded 10906 using the previous defined environment variables in 10907 the container and any service environment variables. 10908 If a variable cannot be resolved, the reference in the 10909 input string will be unchanged. The $(VAR_NAME) syntax 10910 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 10911 references will never be expanded, regardless of whether 10912 the variable exists or not. Defaults to "".' 10913 type: string 10914 valueFrom: 10915 description: Source for the environment variable's value. 10916 Cannot be used if value is not empty. 10917 properties: 10918 configMapKeyRef: 10919 description: Selects a key of a ConfigMap. 10920 properties: 10921 key: 10922 description: The key to select. 10923 type: string 10924 name: 10925 description: 'Name of the referent. More info: 10926 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 10927 TODO: Add other useful fields. apiVersion, kind, 10928 uid?' 10929 type: string 10930 optional: 10931 description: Specify whether the ConfigMap or 10932 its key must be defined 10933 type: boolean 10934 required: 10935 - key 10936 type: object 10937 fieldRef: 10938 description: 'Selects a field of the pod: supports 10939 metadata.name, metadata.namespace, metadata.labels, 10940 metadata.annotations, spec.nodeName, spec.serviceAccountName, 10941 status.hostIP, status.podIP, status.podIPs.' 10942 properties: 10943 apiVersion: 10944 description: Version of the schema the FieldPath 10945 is written in terms of, defaults to "v1". 10946 type: string 10947 fieldPath: 10948 description: Path of the field to select in the 10949 specified API version. 10950 type: string 10951 required: 10952 - fieldPath 10953 type: object 10954 resourceFieldRef: 10955 description: 'Selects a resource of the container: 10956 only resources limits and requests (limits.cpu, 10957 limits.memory, limits.ephemeral-storage, requests.cpu, 10958 requests.memory and requests.ephemeral-storage) 10959 are currently supported.' 10960 properties: 10961 containerName: 10962 description: 'Container name: required for volumes, 10963 optional for env vars' 10964 type: string 10965 divisor: 10966 anyOf: 10967 - type: integer 10968 - type: string 10969 description: Specifies the output format of the 10970 exposed resources, defaults to "1" 10971 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 10972 x-kubernetes-int-or-string: true 10973 resource: 10974 description: 'Required: resource to select' 10975 type: string 10976 required: 10977 - resource 10978 type: object 10979 secretKeyRef: 10980 description: Selects a key of a secret in the pod's 10981 namespace 10982 properties: 10983 key: 10984 description: The key of the secret to select from. Must 10985 be a valid secret key. 10986 type: string 10987 name: 10988 description: 'Name of the referent. More info: 10989 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 10990 TODO: Add other useful fields. apiVersion, kind, 10991 uid?' 10992 type: string 10993 optional: 10994 description: Specify whether the Secret or its 10995 key must be defined 10996 type: boolean 10997 required: 10998 - key 10999 type: object 11000 type: object 11001 required: 11002 - name 11003 type: object 11004 type: array 11005 envFrom: 11006 description: List of sources to populate environment variables 11007 in the container. The keys defined within a source must be 11008 a C_IDENTIFIER. All invalid keys will be reported as an event 11009 when the container is starting. When a key exists in multiple 11010 sources, the value associated with the last source will take 11011 precedence. Values defined by an Env with a duplicate key 11012 will take precedence. Cannot be updated. 11013 items: 11014 description: EnvFromSource represents the source of a set 11015 of ConfigMaps 11016 properties: 11017 configMapRef: 11018 description: The ConfigMap to select from 11019 properties: 11020 name: 11021 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 11022 TODO: Add other useful fields. apiVersion, kind, 11023 uid?' 11024 type: string 11025 optional: 11026 description: Specify whether the ConfigMap must be 11027 defined 11028 type: boolean 11029 type: object 11030 prefix: 11031 description: An optional identifier to prepend to each 11032 key in the ConfigMap. Must be a C_IDENTIFIER. 11033 type: string 11034 secretRef: 11035 description: The Secret to select from 11036 properties: 11037 name: 11038 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 11039 TODO: Add other useful fields. apiVersion, kind, 11040 uid?' 11041 type: string 11042 optional: 11043 description: Specify whether the Secret must be defined 11044 type: boolean 11045 type: object 11046 type: object 11047 type: array 11048 image: 11049 description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images 11050 This field is optional to allow higher level config management 11051 to default or override container images in workload controllers 11052 like Deployments and StatefulSets.' 11053 type: string 11054 imagePullPolicy: 11055 description: 'Image pull policy. One of Always, Never, IfNotPresent. 11056 Defaults to Always if :latest tag is specified, or IfNotPresent 11057 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 11058 type: string 11059 lifecycle: 11060 description: Actions that the management system should take 11061 in response to container lifecycle events. Cannot be updated. 11062 properties: 11063 postStart: 11064 description: 'PostStart is called immediately after a container 11065 is created. If the handler fails, the container is terminated 11066 and restarted according to its restart policy. Other management 11067 of the container blocks until the hook completes. More 11068 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 11069 properties: 11070 exec: 11071 description: One and only one of the following should 11072 be specified. Exec specifies the action to take. 11073 properties: 11074 command: 11075 description: Command is the command line to execute 11076 inside the container, the working directory for 11077 the command is root ('/') in the container's 11078 filesystem. The command is simply exec'd, it is 11079 not run inside a shell, so traditional shell instructions 11080 ('|', etc) won't work. To use a shell, you need 11081 to explicitly call out to that shell. Exit status 11082 of 0 is treated as live/healthy and non-zero is 11083 unhealthy. 11084 items: 11085 type: string 11086 type: array 11087 type: object 11088 httpGet: 11089 description: HTTPGet specifies the http request to perform. 11090 properties: 11091 host: 11092 description: Host name to connect to, defaults to 11093 the pod IP. You probably want to set "Host" in 11094 httpHeaders instead. 11095 type: string 11096 httpHeaders: 11097 description: Custom headers to set in the request. 11098 HTTP allows repeated headers. 11099 items: 11100 description: HTTPHeader describes a custom header 11101 to be used in HTTP probes 11102 properties: 11103 name: 11104 description: The header field name 11105 type: string 11106 value: 11107 description: The header field value 11108 type: string 11109 required: 11110 - name 11111 - value 11112 type: object 11113 type: array 11114 path: 11115 description: Path to access on the HTTP server. 11116 type: string 11117 port: 11118 anyOf: 11119 - type: integer 11120 - type: string 11121 description: Name or number of the port to access 11122 on the container. Number must be in the range 11123 1 to 65535. Name must be an IANA_SVC_NAME. 11124 x-kubernetes-int-or-string: true 11125 scheme: 11126 description: Scheme to use for connecting to the 11127 host. Defaults to HTTP. 11128 type: string 11129 required: 11130 - port 11131 type: object 11132 tcpSocket: 11133 description: 'TCPSocket specifies an action involving 11134 a TCP port. TCP hooks not yet supported TODO: implement 11135 a realistic TCP lifecycle hook' 11136 properties: 11137 host: 11138 description: 'Optional: Host name to connect to, 11139 defaults to the pod IP.' 11140 type: string 11141 port: 11142 anyOf: 11143 - type: integer 11144 - type: string 11145 description: Number or name of the port to access 11146 on the container. Number must be in the range 11147 1 to 65535. Name must be an IANA_SVC_NAME. 11148 x-kubernetes-int-or-string: true 11149 required: 11150 - port 11151 type: object 11152 type: object 11153 preStop: 11154 description: 'PreStop is called immediately before a container 11155 is terminated due to an API request or management event 11156 such as liveness/startup probe failure, preemption, resource 11157 contention, etc. The handler is not called if the container 11158 crashes or exits. The reason for termination is passed 11159 to the handler. The Pod''s termination grace period countdown 11160 begins before the PreStop hooked is executed. Regardless 11161 of the outcome of the handler, the container will eventually 11162 terminate within the Pod''s termination grace period. 11163 Other management of the container blocks until the hook 11164 completes or until the termination grace period is reached. 11165 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 11166 properties: 11167 exec: 11168 description: One and only one of the following should 11169 be specified. Exec specifies the action to take. 11170 properties: 11171 command: 11172 description: Command is the command line to execute 11173 inside the container, the working directory for 11174 the command is root ('/') in the container's 11175 filesystem. The command is simply exec'd, it is 11176 not run inside a shell, so traditional shell instructions 11177 ('|', etc) won't work. To use a shell, you need 11178 to explicitly call out to that shell. Exit status 11179 of 0 is treated as live/healthy and non-zero is 11180 unhealthy. 11181 items: 11182 type: string 11183 type: array 11184 type: object 11185 httpGet: 11186 description: HTTPGet specifies the http request to perform. 11187 properties: 11188 host: 11189 description: Host name to connect to, defaults to 11190 the pod IP. You probably want to set "Host" in 11191 httpHeaders instead. 11192 type: string 11193 httpHeaders: 11194 description: Custom headers to set in the request. 11195 HTTP allows repeated headers. 11196 items: 11197 description: HTTPHeader describes a custom header 11198 to be used in HTTP probes 11199 properties: 11200 name: 11201 description: The header field name 11202 type: string 11203 value: 11204 description: The header field value 11205 type: string 11206 required: 11207 - name 11208 - value 11209 type: object 11210 type: array 11211 path: 11212 description: Path to access on the HTTP server. 11213 type: string 11214 port: 11215 anyOf: 11216 - type: integer 11217 - type: string 11218 description: Name or number of the port to access 11219 on the container. Number must be in the range 11220 1 to 65535. Name must be an IANA_SVC_NAME. 11221 x-kubernetes-int-or-string: true 11222 scheme: 11223 description: Scheme to use for connecting to the 11224 host. Defaults to HTTP. 11225 type: string 11226 required: 11227 - port 11228 type: object 11229 tcpSocket: 11230 description: 'TCPSocket specifies an action involving 11231 a TCP port. TCP hooks not yet supported TODO: implement 11232 a realistic TCP lifecycle hook' 11233 properties: 11234 host: 11235 description: 'Optional: Host name to connect to, 11236 defaults to the pod IP.' 11237 type: string 11238 port: 11239 anyOf: 11240 - type: integer 11241 - type: string 11242 description: Number or name of the port to access 11243 on the container. Number must be in the range 11244 1 to 65535. Name must be an IANA_SVC_NAME. 11245 x-kubernetes-int-or-string: true 11246 required: 11247 - port 11248 type: object 11249 type: object 11250 type: object 11251 livenessProbe: 11252 description: 'Periodic probe of container liveness. Container 11253 will be restarted if the probe fails. Cannot be updated. More 11254 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11255 properties: 11256 exec: 11257 description: One and only one of the following should be 11258 specified. Exec specifies the action to take. 11259 properties: 11260 command: 11261 description: Command is the command line to execute 11262 inside the container, the working directory for the 11263 command is root ('/') in the container's filesystem. 11264 The command is simply exec'd, it is not run inside 11265 a shell, so traditional shell instructions ('|', etc) 11266 won't work. To use a shell, you need to explicitly 11267 call out to that shell. Exit status of 0 is treated 11268 as live/healthy and non-zero is unhealthy. 11269 items: 11270 type: string 11271 type: array 11272 type: object 11273 failureThreshold: 11274 description: Minimum consecutive failures for the probe 11275 to be considered failed after having succeeded. Defaults 11276 to 3. Minimum value is 1. 11277 format: int32 11278 type: integer 11279 httpGet: 11280 description: HTTPGet specifies the http request to perform. 11281 properties: 11282 host: 11283 description: Host name to connect to, defaults to the 11284 pod IP. You probably want to set "Host" in httpHeaders 11285 instead. 11286 type: string 11287 httpHeaders: 11288 description: Custom headers to set in the request. HTTP 11289 allows repeated headers. 11290 items: 11291 description: HTTPHeader describes a custom header 11292 to be used in HTTP probes 11293 properties: 11294 name: 11295 description: The header field name 11296 type: string 11297 value: 11298 description: The header field value 11299 type: string 11300 required: 11301 - name 11302 - value 11303 type: object 11304 type: array 11305 path: 11306 description: Path to access on the HTTP server. 11307 type: string 11308 port: 11309 anyOf: 11310 - type: integer 11311 - type: string 11312 description: Name or number of the port to access on 11313 the container. Number must be in the range 1 to 65535. 11314 Name must be an IANA_SVC_NAME. 11315 x-kubernetes-int-or-string: true 11316 scheme: 11317 description: Scheme to use for connecting to the host. 11318 Defaults to HTTP. 11319 type: string 11320 required: 11321 - port 11322 type: object 11323 initialDelaySeconds: 11324 description: 'Number of seconds after the container has 11325 started before liveness probes are initiated. More info: 11326 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11327 format: int32 11328 type: integer 11329 periodSeconds: 11330 description: How often (in seconds) to perform the probe. 11331 Default to 10 seconds. Minimum value is 1. 11332 format: int32 11333 type: integer 11334 successThreshold: 11335 description: Minimum consecutive successes for the probe 11336 to be considered successful after having failed. Defaults 11337 to 1. Must be 1 for liveness and startup. Minimum value 11338 is 1. 11339 format: int32 11340 type: integer 11341 tcpSocket: 11342 description: 'TCPSocket specifies an action involving a 11343 TCP port. TCP hooks not yet supported TODO: implement 11344 a realistic TCP lifecycle hook' 11345 properties: 11346 host: 11347 description: 'Optional: Host name to connect to, defaults 11348 to the pod IP.' 11349 type: string 11350 port: 11351 anyOf: 11352 - type: integer 11353 - type: string 11354 description: Number or name of the port to access on 11355 the container. Number must be in the range 1 to 65535. 11356 Name must be an IANA_SVC_NAME. 11357 x-kubernetes-int-or-string: true 11358 required: 11359 - port 11360 type: object 11361 timeoutSeconds: 11362 description: 'Number of seconds after which the probe times 11363 out. Defaults to 1 second. Minimum value is 1. More info: 11364 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11365 format: int32 11366 type: integer 11367 type: object 11368 name: 11369 description: Name of the container specified as a DNS_LABEL. 11370 Each container in a pod must have a unique name (DNS_LABEL). 11371 Cannot be updated. 11372 type: string 11373 ports: 11374 description: List of ports to expose from the container. Exposing 11375 a port here gives the system additional information about 11376 the network connections a container uses, but is primarily 11377 informational. Not specifying a port here DOES NOT prevent 11378 that port from being exposed. Any port which is listening 11379 on the default "0.0.0.0" address inside a container will be 11380 accessible from the network. Cannot be updated. 11381 items: 11382 description: ContainerPort represents a network port in a 11383 single container. 11384 properties: 11385 containerPort: 11386 description: Number of port to expose on the pod's IP 11387 address. This must be a valid port number, 0 < x < 65536. 11388 format: int32 11389 type: integer 11390 hostIP: 11391 description: What host IP to bind the external port to. 11392 type: string 11393 hostPort: 11394 description: Number of port to expose on the host. If 11395 specified, this must be a valid port number, 0 < x < 11396 65536. If HostNetwork is specified, this must match 11397 ContainerPort. Most containers do not need this. 11398 format: int32 11399 type: integer 11400 name: 11401 description: If specified, this must be an IANA_SVC_NAME 11402 and unique within the pod. Each named port in a pod 11403 must have a unique name. Name for the port that can 11404 be referred to by services. 11405 type: string 11406 protocol: 11407 default: TCP 11408 description: Protocol for port. Must be UDP, TCP, or SCTP. 11409 Defaults to "TCP". 11410 type: string 11411 required: 11412 - containerPort 11413 type: object 11414 type: array 11415 x-kubernetes-list-map-keys: 11416 - containerPort 11417 - protocol 11418 x-kubernetes-list-type: map 11419 readinessProbe: 11420 description: 'Periodic probe of container service readiness. 11421 Container will be removed from service endpoints if the probe 11422 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11423 properties: 11424 exec: 11425 description: One and only one of the following should be 11426 specified. Exec specifies the action to take. 11427 properties: 11428 command: 11429 description: Command is the command line to execute 11430 inside the container, the working directory for the 11431 command is root ('/') in the container's filesystem. 11432 The command is simply exec'd, it is not run inside 11433 a shell, so traditional shell instructions ('|', etc) 11434 won't work. To use a shell, you need to explicitly 11435 call out to that shell. Exit status of 0 is treated 11436 as live/healthy and non-zero is unhealthy. 11437 items: 11438 type: string 11439 type: array 11440 type: object 11441 failureThreshold: 11442 description: Minimum consecutive failures for the probe 11443 to be considered failed after having succeeded. Defaults 11444 to 3. Minimum value is 1. 11445 format: int32 11446 type: integer 11447 httpGet: 11448 description: HTTPGet specifies the http request to perform. 11449 properties: 11450 host: 11451 description: Host name to connect to, defaults to the 11452 pod IP. You probably want to set "Host" in httpHeaders 11453 instead. 11454 type: string 11455 httpHeaders: 11456 description: Custom headers to set in the request. HTTP 11457 allows repeated headers. 11458 items: 11459 description: HTTPHeader describes a custom header 11460 to be used in HTTP probes 11461 properties: 11462 name: 11463 description: The header field name 11464 type: string 11465 value: 11466 description: The header field value 11467 type: string 11468 required: 11469 - name 11470 - value 11471 type: object 11472 type: array 11473 path: 11474 description: Path to access on the HTTP server. 11475 type: string 11476 port: 11477 anyOf: 11478 - type: integer 11479 - type: string 11480 description: Name or number of the port to access on 11481 the container. Number must be in the range 1 to 65535. 11482 Name must be an IANA_SVC_NAME. 11483 x-kubernetes-int-or-string: true 11484 scheme: 11485 description: Scheme to use for connecting to the host. 11486 Defaults to HTTP. 11487 type: string 11488 required: 11489 - port 11490 type: object 11491 initialDelaySeconds: 11492 description: 'Number of seconds after the container has 11493 started before liveness probes are initiated. More info: 11494 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11495 format: int32 11496 type: integer 11497 periodSeconds: 11498 description: How often (in seconds) to perform the probe. 11499 Default to 10 seconds. Minimum value is 1. 11500 format: int32 11501 type: integer 11502 successThreshold: 11503 description: Minimum consecutive successes for the probe 11504 to be considered successful after having failed. Defaults 11505 to 1. Must be 1 for liveness and startup. Minimum value 11506 is 1. 11507 format: int32 11508 type: integer 11509 tcpSocket: 11510 description: 'TCPSocket specifies an action involving a 11511 TCP port. TCP hooks not yet supported TODO: implement 11512 a realistic TCP lifecycle hook' 11513 properties: 11514 host: 11515 description: 'Optional: Host name to connect to, defaults 11516 to the pod IP.' 11517 type: string 11518 port: 11519 anyOf: 11520 - type: integer 11521 - type: string 11522 description: Number or name of the port to access on 11523 the container. Number must be in the range 1 to 65535. 11524 Name must be an IANA_SVC_NAME. 11525 x-kubernetes-int-or-string: true 11526 required: 11527 - port 11528 type: object 11529 timeoutSeconds: 11530 description: 'Number of seconds after which the probe times 11531 out. Defaults to 1 second. Minimum value is 1. More info: 11532 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11533 format: int32 11534 type: integer 11535 type: object 11536 resources: 11537 description: 'Compute Resources required by this container. 11538 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 11539 properties: 11540 limits: 11541 additionalProperties: 11542 anyOf: 11543 - type: integer 11544 - type: string 11545 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 11546 x-kubernetes-int-or-string: true 11547 description: 'Limits describes the maximum amount of compute 11548 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 11549 type: object 11550 requests: 11551 additionalProperties: 11552 anyOf: 11553 - type: integer 11554 - type: string 11555 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 11556 x-kubernetes-int-or-string: true 11557 description: 'Requests describes the minimum amount of compute 11558 resources required. If Requests is omitted for a container, 11559 it defaults to Limits if that is explicitly specified, 11560 otherwise to an implementation-defined value. More info: 11561 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 11562 type: object 11563 type: object 11564 securityContext: 11565 description: 'Security options the pod should run with. More 11566 info: https://kubernetes.io/docs/concepts/policy/security-context/ 11567 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 11568 properties: 11569 allowPrivilegeEscalation: 11570 description: 'AllowPrivilegeEscalation controls whether 11571 a process can gain more privileges than its parent process. 11572 This bool directly controls if the no_new_privs flag will 11573 be set on the container process. AllowPrivilegeEscalation 11574 is true always when the container is: 1) run as Privileged 11575 2) has CAP_SYS_ADMIN' 11576 type: boolean 11577 capabilities: 11578 description: The capabilities to add/drop when running containers. 11579 Defaults to the default set of capabilities granted by 11580 the container runtime. 11581 properties: 11582 add: 11583 description: Added capabilities 11584 items: 11585 description: Capability represent POSIX capabilities 11586 type 11587 type: string 11588 type: array 11589 drop: 11590 description: Removed capabilities 11591 items: 11592 description: Capability represent POSIX capabilities 11593 type 11594 type: string 11595 type: array 11596 type: object 11597 privileged: 11598 description: Run container in privileged mode. Processes 11599 in privileged containers are essentially equivalent to 11600 root on the host. Defaults to false. 11601 type: boolean 11602 procMount: 11603 description: procMount denotes the type of proc mount to 11604 use for the containers. The default is DefaultProcMount 11605 which uses the container runtime defaults for readonly 11606 paths and masked paths. This requires the ProcMountType 11607 feature flag to be enabled. 11608 type: string 11609 readOnlyRootFilesystem: 11610 description: Whether this container has a read-only root 11611 filesystem. Default is false. 11612 type: boolean 11613 runAsGroup: 11614 description: The GID to run the entrypoint of the container 11615 process. Uses runtime default if unset. May also be set 11616 in PodSecurityContext. If set in both SecurityContext 11617 and PodSecurityContext, the value specified in SecurityContext 11618 takes precedence. 11619 format: int64 11620 type: integer 11621 runAsNonRoot: 11622 description: Indicates that the container must run as a 11623 non-root user. If true, the Kubelet will validate the 11624 image at runtime to ensure that it does not run as UID 11625 0 (root) and fail to start the container if it does. If 11626 unset or false, no such validation will be performed. 11627 May also be set in PodSecurityContext. If set in both 11628 SecurityContext and PodSecurityContext, the value specified 11629 in SecurityContext takes precedence. 11630 type: boolean 11631 runAsUser: 11632 description: The UID to run the entrypoint of the container 11633 process. Defaults to user specified in image metadata 11634 if unspecified. May also be set in PodSecurityContext. If 11635 set in both SecurityContext and PodSecurityContext, the 11636 value specified in SecurityContext takes precedence. 11637 format: int64 11638 type: integer 11639 seLinuxOptions: 11640 description: The SELinux context to be applied to the container. 11641 If unspecified, the container runtime will allocate a 11642 random SELinux context for each container. May also be 11643 set in PodSecurityContext. If set in both SecurityContext 11644 and PodSecurityContext, the value specified in SecurityContext 11645 takes precedence. 11646 properties: 11647 level: 11648 description: Level is SELinux level label that applies 11649 to the container. 11650 type: string 11651 role: 11652 description: Role is a SELinux role label that applies 11653 to the container. 11654 type: string 11655 type: 11656 description: Type is a SELinux type label that applies 11657 to the container. 11658 type: string 11659 user: 11660 description: User is a SELinux user label that applies 11661 to the container. 11662 type: string 11663 type: object 11664 windowsOptions: 11665 description: The Windows specific settings applied to all 11666 containers. If unspecified, the options from the PodSecurityContext 11667 will be used. If set in both SecurityContext and PodSecurityContext, 11668 the value specified in SecurityContext takes precedence. 11669 properties: 11670 gmsaCredentialSpec: 11671 description: GMSACredentialSpec is where the GMSA admission 11672 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 11673 inlines the contents of the GMSA credential spec named 11674 by the GMSACredentialSpecName field. 11675 type: string 11676 gmsaCredentialSpecName: 11677 description: GMSACredentialSpecName is the name of the 11678 GMSA credential spec to use. 11679 type: string 11680 runAsUserName: 11681 description: The UserName in Windows to run the entrypoint 11682 of the container process. Defaults to the user specified 11683 in image metadata if unspecified. May also be set 11684 in PodSecurityContext. If set in both SecurityContext 11685 and PodSecurityContext, the value specified in SecurityContext 11686 takes precedence. 11687 type: string 11688 type: object 11689 type: object 11690 startupProbe: 11691 description: 'StartupProbe indicates that the Pod has successfully 11692 initialized. If specified, no other probes are executed until 11693 this completes successfully. If this probe fails, the Pod 11694 will be restarted, just as if the livenessProbe failed. This 11695 can be used to provide different probe parameters at the beginning 11696 of a Pod''s lifecycle, when it might take a long time to load 11697 data or warm a cache, than during steady-state operation. 11698 This cannot be updated. This is a beta feature enabled by 11699 the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11700 properties: 11701 exec: 11702 description: One and only one of the following should be 11703 specified. Exec specifies the action to take. 11704 properties: 11705 command: 11706 description: Command is the command line to execute 11707 inside the container, the working directory for the 11708 command is root ('/') in the container's filesystem. 11709 The command is simply exec'd, it is not run inside 11710 a shell, so traditional shell instructions ('|', etc) 11711 won't work. To use a shell, you need to explicitly 11712 call out to that shell. Exit status of 0 is treated 11713 as live/healthy and non-zero is unhealthy. 11714 items: 11715 type: string 11716 type: array 11717 type: object 11718 failureThreshold: 11719 description: Minimum consecutive failures for the probe 11720 to be considered failed after having succeeded. Defaults 11721 to 3. Minimum value is 1. 11722 format: int32 11723 type: integer 11724 httpGet: 11725 description: HTTPGet specifies the http request to perform. 11726 properties: 11727 host: 11728 description: Host name to connect to, defaults to the 11729 pod IP. You probably want to set "Host" in httpHeaders 11730 instead. 11731 type: string 11732 httpHeaders: 11733 description: Custom headers to set in the request. HTTP 11734 allows repeated headers. 11735 items: 11736 description: HTTPHeader describes a custom header 11737 to be used in HTTP probes 11738 properties: 11739 name: 11740 description: The header field name 11741 type: string 11742 value: 11743 description: The header field value 11744 type: string 11745 required: 11746 - name 11747 - value 11748 type: object 11749 type: array 11750 path: 11751 description: Path to access on the HTTP server. 11752 type: string 11753 port: 11754 anyOf: 11755 - type: integer 11756 - type: string 11757 description: Name or number of the port to access on 11758 the container. Number must be in the range 1 to 65535. 11759 Name must be an IANA_SVC_NAME. 11760 x-kubernetes-int-or-string: true 11761 scheme: 11762 description: Scheme to use for connecting to the host. 11763 Defaults to HTTP. 11764 type: string 11765 required: 11766 - port 11767 type: object 11768 initialDelaySeconds: 11769 description: 'Number of seconds after the container has 11770 started before liveness probes are initiated. More info: 11771 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11772 format: int32 11773 type: integer 11774 periodSeconds: 11775 description: How often (in seconds) to perform the probe. 11776 Default to 10 seconds. Minimum value is 1. 11777 format: int32 11778 type: integer 11779 successThreshold: 11780 description: Minimum consecutive successes for the probe 11781 to be considered successful after having failed. Defaults 11782 to 1. Must be 1 for liveness and startup. Minimum value 11783 is 1. 11784 format: int32 11785 type: integer 11786 tcpSocket: 11787 description: 'TCPSocket specifies an action involving a 11788 TCP port. TCP hooks not yet supported TODO: implement 11789 a realistic TCP lifecycle hook' 11790 properties: 11791 host: 11792 description: 'Optional: Host name to connect to, defaults 11793 to the pod IP.' 11794 type: string 11795 port: 11796 anyOf: 11797 - type: integer 11798 - type: string 11799 description: Number or name of the port to access on 11800 the container. Number must be in the range 1 to 65535. 11801 Name must be an IANA_SVC_NAME. 11802 x-kubernetes-int-or-string: true 11803 required: 11804 - port 11805 type: object 11806 timeoutSeconds: 11807 description: 'Number of seconds after which the probe times 11808 out. Defaults to 1 second. Minimum value is 1. More info: 11809 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 11810 format: int32 11811 type: integer 11812 type: object 11813 stdin: 11814 description: Whether this container should allocate a buffer 11815 for stdin in the container runtime. If this is not set, reads 11816 from stdin in the container will always result in EOF. Default 11817 is false. 11818 type: boolean 11819 stdinOnce: 11820 description: Whether the container runtime should close the 11821 stdin channel after it has been opened by a single attach. 11822 When stdin is true the stdin stream will remain open across 11823 multiple attach sessions. If stdinOnce is set to true, stdin 11824 is opened on container start, is empty until the first client 11825 attaches to stdin, and then remains open and accepts data 11826 until the client disconnects, at which time stdin is closed 11827 and remains closed until the container is restarted. If this 11828 flag is false, a container processes that reads from stdin 11829 will never receive an EOF. Default is false 11830 type: boolean 11831 terminationMessagePath: 11832 description: 'Optional: Path at which the file to which the 11833 container''s termination message will be written is mounted 11834 into the container''s filesystem. Message written is intended 11835 to be brief final status, such as an assertion failure message. 11836 Will be truncated by the node if greater than 4096 bytes. 11837 The total message length across all containers will be limited 11838 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 11839 type: string 11840 terminationMessagePolicy: 11841 description: Indicate how the termination message should be 11842 populated. File will use the contents of terminationMessagePath 11843 to populate the container status message on both success and 11844 failure. FallbackToLogsOnError will use the last chunk of 11845 container log output if the termination message file is empty 11846 and the container exited with an error. The log output is 11847 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 11848 to File. Cannot be updated. 11849 type: string 11850 tty: 11851 description: Whether this container should allocate a TTY for 11852 itself, also requires 'stdin' to be true. Default is false. 11853 type: boolean 11854 volumeDevices: 11855 description: volumeDevices is the list of block devices to be 11856 used by the container. 11857 items: 11858 description: volumeDevice describes a mapping of a raw block 11859 device within a container. 11860 properties: 11861 devicePath: 11862 description: devicePath is the path inside of the container 11863 that the device will be mapped to. 11864 type: string 11865 name: 11866 description: name must match the name of a persistentVolumeClaim 11867 in the pod 11868 type: string 11869 required: 11870 - devicePath 11871 - name 11872 type: object 11873 type: array 11874 volumeMounts: 11875 description: Pod volumes to mount into the container's filesystem. 11876 Cannot be updated. 11877 items: 11878 description: VolumeMount describes a mounting of a Volume 11879 within a container. 11880 properties: 11881 mountPath: 11882 description: Path within the container at which the volume 11883 should be mounted. Must not contain ':'. 11884 type: string 11885 mountPropagation: 11886 description: mountPropagation determines how mounts are 11887 propagated from the host to container and the other 11888 way around. When not set, MountPropagationNone is used. 11889 This field is beta in 1.10. 11890 type: string 11891 name: 11892 description: This must match the Name of a Volume. 11893 type: string 11894 readOnly: 11895 description: Mounted read-only if true, read-write otherwise 11896 (false or unspecified). Defaults to false. 11897 type: boolean 11898 subPath: 11899 description: Path within the volume from which the container's 11900 volume should be mounted. Defaults to "" (volume's root). 11901 type: string 11902 subPathExpr: 11903 description: Expanded path within the volume from which 11904 the container's volume should be mounted. Behaves similarly 11905 to SubPath but environment variable references $(VAR_NAME) 11906 are expanded using the container's environment. Defaults 11907 to "" (volume's root). SubPathExpr and SubPath are mutually 11908 exclusive. 11909 type: string 11910 required: 11911 - mountPath 11912 - name 11913 type: object 11914 type: array 11915 workingDir: 11916 description: Container's working directory. If not specified, 11917 the container runtime's default will be used, which might 11918 be configured in the container image. Cannot be updated. 11919 type: string 11920 required: 11921 - name 11922 type: object 11923 type: array 11924 listenLocal: 11925 description: ListenLocal makes the Prometheus server listen on loopback, 11926 so that it does not bind against the Pod IP. 11927 type: boolean 11928 logFormat: 11929 description: Log format for Prometheus to be configured with. 11930 type: string 11931 logLevel: 11932 description: Log level for Prometheus to be configured with. 11933 type: string 11934 nodeSelector: 11935 additionalProperties: 11936 type: string 11937 description: Define which Nodes the Pods are scheduled on. 11938 type: object 11939 overrideHonorLabels: 11940 description: OverrideHonorLabels if set to true overrides all user 11941 configured honor_labels. If HonorLabels is set in ServiceMonitor 11942 or PodMonitor to true, this overrides honor_labels to false. 11943 type: boolean 11944 overrideHonorTimestamps: 11945 description: OverrideHonorTimestamps allows to globally enforce honoring 11946 timestamps in all scrape configs. 11947 type: boolean 11948 paused: 11949 description: When a Prometheus deployment is paused, no actions except 11950 for deletion will be performed on the underlying objects. 11951 type: boolean 11952 podMetadata: 11953 description: PodMetadata configures Labels and Annotations which are 11954 propagated to the prometheus pods. 11955 properties: 11956 annotations: 11957 additionalProperties: 11958 type: string 11959 description: 'Annotations is an unstructured key value map stored 11960 with a resource that may be set by external tools to store and 11961 retrieve arbitrary metadata. They are not queryable and should 11962 be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 11963 type: object 11964 labels: 11965 additionalProperties: 11966 type: string 11967 description: 'Map of string keys and values that can be used to 11968 organize and categorize (scope and select) objects. May match 11969 selectors of replication controllers and services. More info: 11970 http://kubernetes.io/docs/user-guide/labels' 11971 type: object 11972 name: 11973 description: 'Name must be unique within a namespace. Is required 11974 when creating resources, although some resources may allow a 11975 client to request the generation of an appropriate name automatically. 11976 Name is primarily intended for creation idempotence and configuration 11977 definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 11978 type: string 11979 type: object 11980 podMonitorNamespaceSelector: 11981 description: Namespace's labels to match for PodMonitor discovery. 11982 If nil, only check own namespace. 11983 properties: 11984 matchExpressions: 11985 description: matchExpressions is a list of label selector requirements. 11986 The requirements are ANDed. 11987 items: 11988 description: A label selector requirement is a selector that 11989 contains values, a key, and an operator that relates the key 11990 and values. 11991 properties: 11992 key: 11993 description: key is the label key that the selector applies 11994 to. 11995 type: string 11996 operator: 11997 description: operator represents a key's relationship to 11998 a set of values. Valid operators are In, NotIn, Exists 11999 and DoesNotExist. 12000 type: string 12001 values: 12002 description: values is an array of string values. If the 12003 operator is In or NotIn, the values array must be non-empty. 12004 If the operator is Exists or DoesNotExist, the values 12005 array must be empty. This array is replaced during a strategic 12006 merge patch. 12007 items: 12008 type: string 12009 type: array 12010 required: 12011 - key 12012 - operator 12013 type: object 12014 type: array 12015 matchLabels: 12016 additionalProperties: 12017 type: string 12018 description: matchLabels is a map of {key,value} pairs. A single 12019 {key,value} in the matchLabels map is equivalent to an element 12020 of matchExpressions, whose key field is "key", the operator 12021 is "In", and the values array contains only "value". The requirements 12022 are ANDed. 12023 type: object 12024 type: object 12025 podMonitorSelector: 12026 description: '*Experimental* PodMonitors to be selected for target 12027 discovery. *Deprecated:* if neither this nor serviceMonitorSelector 12028 are specified, configuration is unmanaged.' 12029 properties: 12030 matchExpressions: 12031 description: matchExpressions is a list of label selector requirements. 12032 The requirements are ANDed. 12033 items: 12034 description: A label selector requirement is a selector that 12035 contains values, a key, and an operator that relates the key 12036 and values. 12037 properties: 12038 key: 12039 description: key is the label key that the selector applies 12040 to. 12041 type: string 12042 operator: 12043 description: operator represents a key's relationship to 12044 a set of values. Valid operators are In, NotIn, Exists 12045 and DoesNotExist. 12046 type: string 12047 values: 12048 description: values is an array of string values. If the 12049 operator is In or NotIn, the values array must be non-empty. 12050 If the operator is Exists or DoesNotExist, the values 12051 array must be empty. This array is replaced during a strategic 12052 merge patch. 12053 items: 12054 type: string 12055 type: array 12056 required: 12057 - key 12058 - operator 12059 type: object 12060 type: array 12061 matchLabels: 12062 additionalProperties: 12063 type: string 12064 description: matchLabels is a map of {key,value} pairs. A single 12065 {key,value} in the matchLabels map is equivalent to an element 12066 of matchExpressions, whose key field is "key", the operator 12067 is "In", and the values array contains only "value". The requirements 12068 are ANDed. 12069 type: object 12070 type: object 12071 portName: 12072 description: Port name used for the pods and governing service. This 12073 defaults to web 12074 type: string 12075 priorityClassName: 12076 description: Priority class assigned to the Pods 12077 type: string 12078 probeNamespaceSelector: 12079 description: '*Experimental* Namespaces to be selected for Probe discovery. 12080 If nil, only check own namespace.' 12081 properties: 12082 matchExpressions: 12083 description: matchExpressions is a list of label selector requirements. 12084 The requirements are ANDed. 12085 items: 12086 description: A label selector requirement is a selector that 12087 contains values, a key, and an operator that relates the key 12088 and values. 12089 properties: 12090 key: 12091 description: key is the label key that the selector applies 12092 to. 12093 type: string 12094 operator: 12095 description: operator represents a key's relationship to 12096 a set of values. Valid operators are In, NotIn, Exists 12097 and DoesNotExist. 12098 type: string 12099 values: 12100 description: values is an array of string values. If the 12101 operator is In or NotIn, the values array must be non-empty. 12102 If the operator is Exists or DoesNotExist, the values 12103 array must be empty. This array is replaced during a strategic 12104 merge patch. 12105 items: 12106 type: string 12107 type: array 12108 required: 12109 - key 12110 - operator 12111 type: object 12112 type: array 12113 matchLabels: 12114 additionalProperties: 12115 type: string 12116 description: matchLabels is a map of {key,value} pairs. A single 12117 {key,value} in the matchLabels map is equivalent to an element 12118 of matchExpressions, whose key field is "key", the operator 12119 is "In", and the values array contains only "value". The requirements 12120 are ANDed. 12121 type: object 12122 type: object 12123 probeSelector: 12124 description: '*Experimental* Probes to be selected for target discovery.' 12125 properties: 12126 matchExpressions: 12127 description: matchExpressions is a list of label selector requirements. 12128 The requirements are ANDed. 12129 items: 12130 description: A label selector requirement is a selector that 12131 contains values, a key, and an operator that relates the key 12132 and values. 12133 properties: 12134 key: 12135 description: key is the label key that the selector applies 12136 to. 12137 type: string 12138 operator: 12139 description: operator represents a key's relationship to 12140 a set of values. Valid operators are In, NotIn, Exists 12141 and DoesNotExist. 12142 type: string 12143 values: 12144 description: values is an array of string values. If the 12145 operator is In or NotIn, the values array must be non-empty. 12146 If the operator is Exists or DoesNotExist, the values 12147 array must be empty. This array is replaced during a strategic 12148 merge patch. 12149 items: 12150 type: string 12151 type: array 12152 required: 12153 - key 12154 - operator 12155 type: object 12156 type: array 12157 matchLabels: 12158 additionalProperties: 12159 type: string 12160 description: matchLabels is a map of {key,value} pairs. A single 12161 {key,value} in the matchLabels map is equivalent to an element 12162 of matchExpressions, whose key field is "key", the operator 12163 is "In", and the values array contains only "value". The requirements 12164 are ANDed. 12165 type: object 12166 type: object 12167 prometheusExternalLabelName: 12168 description: Name of Prometheus external label used to denote Prometheus 12169 instance name. Defaults to the value of `prometheus`. External label 12170 will _not_ be added when value is set to empty string (`""`). 12171 type: string 12172 prometheusRulesExcludedFromEnforce: 12173 description: PrometheusRulesExcludedFromEnforce - list of prometheus 12174 rules to be excluded from enforcing of adding namespace labels. 12175 Works only if enforcedNamespaceLabel set to true. Make sure both 12176 ruleNamespace and ruleName are set for each pair 12177 items: 12178 description: PrometheusRuleExcludeConfig enables users to configure 12179 excluded PrometheusRule names and their namespaces to be ignored 12180 while enforcing namespace label for alerts and metrics. 12181 properties: 12182 ruleName: 12183 description: RuleNamespace - name of excluded rule 12184 type: string 12185 ruleNamespace: 12186 description: RuleNamespace - namespace of excluded rule 12187 type: string 12188 required: 12189 - ruleName 12190 - ruleNamespace 12191 type: object 12192 type: array 12193 query: 12194 description: QuerySpec defines the query command line flags when starting 12195 Prometheus. 12196 properties: 12197 lookbackDelta: 12198 description: The delta difference allowed for retrieving metrics 12199 during expression evaluations. 12200 type: string 12201 maxConcurrency: 12202 description: Number of concurrent queries that can be run at once. 12203 format: int32 12204 type: integer 12205 maxSamples: 12206 description: Maximum number of samples a single query can load 12207 into memory. Note that queries will fail if they would load 12208 more samples than this into memory, so this also limits the 12209 number of samples a query can return. 12210 format: int32 12211 type: integer 12212 timeout: 12213 description: Maximum time a query may take before being aborted. 12214 type: string 12215 type: object 12216 queryLogFile: 12217 description: QueryLogFile specifies the file to which PromQL queries 12218 are logged. Note that this location must be writable, and can be 12219 persisted using an attached volume. Alternatively, the location 12220 can be set to a stdout location such as `/dev/stdout` to log querie 12221 information to the default Prometheus log stream. This is only available 12222 in versions of Prometheus >= 2.16.0. For more details, see the Prometheus 12223 docs (https://prometheus.io/docs/guides/query-log/) 12224 type: string 12225 remoteRead: 12226 description: If specified, the remote_read spec. This is an experimental 12227 feature, it may change in any upcoming release in a breaking way. 12228 items: 12229 description: RemoteReadSpec defines the remote_read configuration 12230 for prometheus. 12231 properties: 12232 authorization: 12233 description: Authorization section for remote read 12234 properties: 12235 credentials: 12236 description: The secret's key that contains the credentials 12237 of the request 12238 properties: 12239 key: 12240 description: The key of the secret to select from. Must 12241 be a valid secret key. 12242 type: string 12243 name: 12244 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12245 TODO: Add other useful fields. apiVersion, kind, uid?' 12246 type: string 12247 optional: 12248 description: Specify whether the Secret or its key must 12249 be defined 12250 type: boolean 12251 required: 12252 - key 12253 type: object 12254 credentialsFile: 12255 description: File to read a secret from, mutually exclusive 12256 with Credentials (from SafeAuthorization) 12257 type: string 12258 type: 12259 description: Set the authentication type. Defaults to Bearer, 12260 Basic will cause an error 12261 type: string 12262 type: object 12263 basicAuth: 12264 description: BasicAuth for the URL. 12265 properties: 12266 password: 12267 description: The secret in the service monitor namespace 12268 that contains the password for authentication. 12269 properties: 12270 key: 12271 description: The key of the secret to select from. Must 12272 be a valid secret key. 12273 type: string 12274 name: 12275 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12276 TODO: Add other useful fields. apiVersion, kind, uid?' 12277 type: string 12278 optional: 12279 description: Specify whether the Secret or its key must 12280 be defined 12281 type: boolean 12282 required: 12283 - key 12284 type: object 12285 username: 12286 description: The secret in the service monitor namespace 12287 that contains the username for authentication. 12288 properties: 12289 key: 12290 description: The key of the secret to select from. Must 12291 be a valid secret key. 12292 type: string 12293 name: 12294 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12295 TODO: Add other useful fields. apiVersion, kind, uid?' 12296 type: string 12297 optional: 12298 description: Specify whether the Secret or its key must 12299 be defined 12300 type: boolean 12301 required: 12302 - key 12303 type: object 12304 type: object 12305 bearerToken: 12306 description: Bearer token for remote read. 12307 type: string 12308 bearerTokenFile: 12309 description: File to read bearer token for remote read. 12310 type: string 12311 name: 12312 description: The name of the remote read queue, must be unique 12313 if specified. The name is used in metrics and logging in order 12314 to differentiate read configurations. Only valid in Prometheus 12315 versions 2.15.0 and newer. 12316 type: string 12317 oauth2: 12318 description: OAuth2 for the URL. Only valid in Prometheus versions 12319 2.27.0 and newer. 12320 properties: 12321 clientId: 12322 description: The secret or configmap containing the OAuth2 12323 client id 12324 properties: 12325 configMap: 12326 description: ConfigMap containing data to use for the 12327 targets. 12328 properties: 12329 key: 12330 description: The key to select. 12331 type: string 12332 name: 12333 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12334 TODO: Add other useful fields. apiVersion, kind, 12335 uid?' 12336 type: string 12337 optional: 12338 description: Specify whether the ConfigMap or its 12339 key must be defined 12340 type: boolean 12341 required: 12342 - key 12343 type: object 12344 secret: 12345 description: Secret containing data to use for the targets. 12346 properties: 12347 key: 12348 description: The key of the secret to select from. Must 12349 be a valid secret key. 12350 type: string 12351 name: 12352 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12353 TODO: Add other useful fields. apiVersion, kind, 12354 uid?' 12355 type: string 12356 optional: 12357 description: Specify whether the Secret or its key 12358 must be defined 12359 type: boolean 12360 required: 12361 - key 12362 type: object 12363 type: object 12364 clientSecret: 12365 description: The secret containing the OAuth2 client secret 12366 properties: 12367 key: 12368 description: The key of the secret to select from. Must 12369 be a valid secret key. 12370 type: string 12371 name: 12372 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12373 TODO: Add other useful fields. apiVersion, kind, uid?' 12374 type: string 12375 optional: 12376 description: Specify whether the Secret or its key must 12377 be defined 12378 type: boolean 12379 required: 12380 - key 12381 type: object 12382 endpointParams: 12383 additionalProperties: 12384 type: string 12385 description: Parameters to append to the token URL 12386 type: object 12387 scopes: 12388 description: OAuth2 scopes used for the token request 12389 items: 12390 type: string 12391 type: array 12392 tokenUrl: 12393 description: The URL to fetch the token from 12394 minLength: 1 12395 type: string 12396 required: 12397 - clientId 12398 - clientSecret 12399 - tokenUrl 12400 type: object 12401 proxyUrl: 12402 description: Optional ProxyURL 12403 type: string 12404 readRecent: 12405 description: Whether reads should be made for queries for time 12406 ranges that the local storage should have complete data for. 12407 type: boolean 12408 remoteTimeout: 12409 description: Timeout for requests to the remote read endpoint. 12410 type: string 12411 requiredMatchers: 12412 additionalProperties: 12413 type: string 12414 description: An optional list of equality matchers which have 12415 to be present in a selector to query the remote read endpoint. 12416 type: object 12417 tlsConfig: 12418 description: TLS Config to use for remote read. 12419 properties: 12420 ca: 12421 description: Struct containing the CA cert to use for the 12422 targets. 12423 properties: 12424 configMap: 12425 description: ConfigMap containing data to use for the 12426 targets. 12427 properties: 12428 key: 12429 description: The key to select. 12430 type: string 12431 name: 12432 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12433 TODO: Add other useful fields. apiVersion, kind, 12434 uid?' 12435 type: string 12436 optional: 12437 description: Specify whether the ConfigMap or its 12438 key must be defined 12439 type: boolean 12440 required: 12441 - key 12442 type: object 12443 secret: 12444 description: Secret containing data to use for the targets. 12445 properties: 12446 key: 12447 description: The key of the secret to select from. Must 12448 be a valid secret key. 12449 type: string 12450 name: 12451 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12452 TODO: Add other useful fields. apiVersion, kind, 12453 uid?' 12454 type: string 12455 optional: 12456 description: Specify whether the Secret or its key 12457 must be defined 12458 type: boolean 12459 required: 12460 - key 12461 type: object 12462 type: object 12463 caFile: 12464 description: Path to the CA cert in the Prometheus container 12465 to use for the targets. 12466 type: string 12467 cert: 12468 description: Struct containing the client cert file for 12469 the targets. 12470 properties: 12471 configMap: 12472 description: ConfigMap containing data to use for the 12473 targets. 12474 properties: 12475 key: 12476 description: The key to select. 12477 type: string 12478 name: 12479 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12480 TODO: Add other useful fields. apiVersion, kind, 12481 uid?' 12482 type: string 12483 optional: 12484 description: Specify whether the ConfigMap or its 12485 key must be defined 12486 type: boolean 12487 required: 12488 - key 12489 type: object 12490 secret: 12491 description: Secret containing data to use for the targets. 12492 properties: 12493 key: 12494 description: The key of the secret to select from. Must 12495 be a valid secret key. 12496 type: string 12497 name: 12498 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12499 TODO: Add other useful fields. apiVersion, kind, 12500 uid?' 12501 type: string 12502 optional: 12503 description: Specify whether the Secret or its key 12504 must be defined 12505 type: boolean 12506 required: 12507 - key 12508 type: object 12509 type: object 12510 certFile: 12511 description: Path to the client cert file in the Prometheus 12512 container for the targets. 12513 type: string 12514 insecureSkipVerify: 12515 description: Disable target certificate validation. 12516 type: boolean 12517 keyFile: 12518 description: Path to the client key file in the Prometheus 12519 container for the targets. 12520 type: string 12521 keySecret: 12522 description: Secret containing the client key file for the 12523 targets. 12524 properties: 12525 key: 12526 description: The key of the secret to select from. Must 12527 be a valid secret key. 12528 type: string 12529 name: 12530 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12531 TODO: Add other useful fields. apiVersion, kind, uid?' 12532 type: string 12533 optional: 12534 description: Specify whether the Secret or its key must 12535 be defined 12536 type: boolean 12537 required: 12538 - key 12539 type: object 12540 serverName: 12541 description: Used to verify the hostname for the targets. 12542 type: string 12543 type: object 12544 url: 12545 description: The URL of the endpoint to send samples to. 12546 type: string 12547 required: 12548 - url 12549 type: object 12550 type: array 12551 remoteWrite: 12552 description: If specified, the remote_write spec. This is an experimental 12553 feature, it may change in any upcoming release in a breaking way. 12554 items: 12555 description: RemoteWriteSpec defines the remote_write configuration 12556 for prometheus. 12557 properties: 12558 authorization: 12559 description: Authorization section for remote write 12560 properties: 12561 credentials: 12562 description: The secret's key that contains the credentials 12563 of the request 12564 properties: 12565 key: 12566 description: The key of the secret to select from. Must 12567 be a valid secret key. 12568 type: string 12569 name: 12570 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12571 TODO: Add other useful fields. apiVersion, kind, uid?' 12572 type: string 12573 optional: 12574 description: Specify whether the Secret or its key must 12575 be defined 12576 type: boolean 12577 required: 12578 - key 12579 type: object 12580 credentialsFile: 12581 description: File to read a secret from, mutually exclusive 12582 with Credentials (from SafeAuthorization) 12583 type: string 12584 type: 12585 description: Set the authentication type. Defaults to Bearer, 12586 Basic will cause an error 12587 type: string 12588 type: object 12589 basicAuth: 12590 description: BasicAuth for the URL. 12591 properties: 12592 password: 12593 description: The secret in the service monitor namespace 12594 that contains the password for authentication. 12595 properties: 12596 key: 12597 description: The key of the secret to select from. Must 12598 be a valid secret key. 12599 type: string 12600 name: 12601 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12602 TODO: Add other useful fields. apiVersion, kind, uid?' 12603 type: string 12604 optional: 12605 description: Specify whether the Secret or its key must 12606 be defined 12607 type: boolean 12608 required: 12609 - key 12610 type: object 12611 username: 12612 description: The secret in the service monitor namespace 12613 that contains the username for authentication. 12614 properties: 12615 key: 12616 description: The key of the secret to select from. Must 12617 be a valid secret key. 12618 type: string 12619 name: 12620 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12621 TODO: Add other useful fields. apiVersion, kind, uid?' 12622 type: string 12623 optional: 12624 description: Specify whether the Secret or its key must 12625 be defined 12626 type: boolean 12627 required: 12628 - key 12629 type: object 12630 type: object 12631 bearerToken: 12632 description: Bearer token for remote write. 12633 type: string 12634 bearerTokenFile: 12635 description: File to read bearer token for remote write. 12636 type: string 12637 headers: 12638 additionalProperties: 12639 type: string 12640 description: Custom HTTP headers to be sent along with each 12641 remote write request. Be aware that headers that are set by 12642 Prometheus itself can't be overwritten. Only valid in Prometheus 12643 versions 2.25.0 and newer. 12644 type: object 12645 metadataConfig: 12646 description: MetadataConfig configures the sending of series 12647 metadata to remote storage. 12648 properties: 12649 send: 12650 description: Whether metric metadata is sent to remote storage 12651 or not. 12652 type: boolean 12653 sendInterval: 12654 description: How frequently metric metadata is sent to remote 12655 storage. 12656 type: string 12657 type: object 12658 name: 12659 description: The name of the remote write queue, must be unique 12660 if specified. The name is used in metrics and logging in order 12661 to differentiate queues. Only valid in Prometheus versions 12662 2.15.0 and newer. 12663 type: string 12664 oauth2: 12665 description: OAuth2 for the URL. Only valid in Prometheus versions 12666 2.27.0 and newer. 12667 properties: 12668 clientId: 12669 description: The secret or configmap containing the OAuth2 12670 client id 12671 properties: 12672 configMap: 12673 description: ConfigMap containing data to use for the 12674 targets. 12675 properties: 12676 key: 12677 description: The key to select. 12678 type: string 12679 name: 12680 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12681 TODO: Add other useful fields. apiVersion, kind, 12682 uid?' 12683 type: string 12684 optional: 12685 description: Specify whether the ConfigMap or its 12686 key must be defined 12687 type: boolean 12688 required: 12689 - key 12690 type: object 12691 secret: 12692 description: Secret containing data to use for the targets. 12693 properties: 12694 key: 12695 description: The key of the secret to select from. Must 12696 be a valid secret key. 12697 type: string 12698 name: 12699 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12700 TODO: Add other useful fields. apiVersion, kind, 12701 uid?' 12702 type: string 12703 optional: 12704 description: Specify whether the Secret or its key 12705 must be defined 12706 type: boolean 12707 required: 12708 - key 12709 type: object 12710 type: object 12711 clientSecret: 12712 description: The secret containing the OAuth2 client secret 12713 properties: 12714 key: 12715 description: The key of the secret to select from. Must 12716 be a valid secret key. 12717 type: string 12718 name: 12719 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12720 TODO: Add other useful fields. apiVersion, kind, uid?' 12721 type: string 12722 optional: 12723 description: Specify whether the Secret or its key must 12724 be defined 12725 type: boolean 12726 required: 12727 - key 12728 type: object 12729 endpointParams: 12730 additionalProperties: 12731 type: string 12732 description: Parameters to append to the token URL 12733 type: object 12734 scopes: 12735 description: OAuth2 scopes used for the token request 12736 items: 12737 type: string 12738 type: array 12739 tokenUrl: 12740 description: The URL to fetch the token from 12741 minLength: 1 12742 type: string 12743 required: 12744 - clientId 12745 - clientSecret 12746 - tokenUrl 12747 type: object 12748 proxyUrl: 12749 description: Optional ProxyURL 12750 type: string 12751 queueConfig: 12752 description: QueueConfig allows tuning of the remote write queue 12753 parameters. 12754 properties: 12755 batchSendDeadline: 12756 description: BatchSendDeadline is the maximum time a sample 12757 will wait in buffer. 12758 type: string 12759 capacity: 12760 description: Capacity is the number of samples to buffer 12761 per shard before we start dropping them. 12762 type: integer 12763 maxBackoff: 12764 description: MaxBackoff is the maximum retry delay. 12765 type: string 12766 maxRetries: 12767 description: MaxRetries is the maximum number of times to 12768 retry a batch on recoverable errors. 12769 type: integer 12770 maxSamplesPerSend: 12771 description: MaxSamplesPerSend is the maximum number of 12772 samples per send. 12773 type: integer 12774 maxShards: 12775 description: MaxShards is the maximum number of shards, 12776 i.e. amount of concurrency. 12777 type: integer 12778 minBackoff: 12779 description: MinBackoff is the initial retry delay. Gets 12780 doubled for every retry. 12781 type: string 12782 minShards: 12783 description: MinShards is the minimum number of shards, 12784 i.e. amount of concurrency. 12785 type: integer 12786 type: object 12787 remoteTimeout: 12788 description: Timeout for requests to the remote write endpoint. 12789 type: string 12790 sendExemplars: 12791 description: Enables sending of exemplars over remote write. 12792 Note that exemplar-storage itself must be enabled using the 12793 enableFeature option for exemplars to be scraped in the first 12794 place. Only valid in Prometheus versions 2.27.0 and newer. 12795 type: boolean 12796 tlsConfig: 12797 description: TLS Config to use for remote write. 12798 properties: 12799 ca: 12800 description: Struct containing the CA cert to use for the 12801 targets. 12802 properties: 12803 configMap: 12804 description: ConfigMap containing data to use for the 12805 targets. 12806 properties: 12807 key: 12808 description: The key to select. 12809 type: string 12810 name: 12811 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12812 TODO: Add other useful fields. apiVersion, kind, 12813 uid?' 12814 type: string 12815 optional: 12816 description: Specify whether the ConfigMap or its 12817 key must be defined 12818 type: boolean 12819 required: 12820 - key 12821 type: object 12822 secret: 12823 description: Secret containing data to use for the targets. 12824 properties: 12825 key: 12826 description: The key of the secret to select from. Must 12827 be a valid secret key. 12828 type: string 12829 name: 12830 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12831 TODO: Add other useful fields. apiVersion, kind, 12832 uid?' 12833 type: string 12834 optional: 12835 description: Specify whether the Secret or its key 12836 must be defined 12837 type: boolean 12838 required: 12839 - key 12840 type: object 12841 type: object 12842 caFile: 12843 description: Path to the CA cert in the Prometheus container 12844 to use for the targets. 12845 type: string 12846 cert: 12847 description: Struct containing the client cert file for 12848 the targets. 12849 properties: 12850 configMap: 12851 description: ConfigMap containing data to use for the 12852 targets. 12853 properties: 12854 key: 12855 description: The key to select. 12856 type: string 12857 name: 12858 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12859 TODO: Add other useful fields. apiVersion, kind, 12860 uid?' 12861 type: string 12862 optional: 12863 description: Specify whether the ConfigMap or its 12864 key must be defined 12865 type: boolean 12866 required: 12867 - key 12868 type: object 12869 secret: 12870 description: Secret containing data to use for the targets. 12871 properties: 12872 key: 12873 description: The key of the secret to select from. Must 12874 be a valid secret key. 12875 type: string 12876 name: 12877 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12878 TODO: Add other useful fields. apiVersion, kind, 12879 uid?' 12880 type: string 12881 optional: 12882 description: Specify whether the Secret or its key 12883 must be defined 12884 type: boolean 12885 required: 12886 - key 12887 type: object 12888 type: object 12889 certFile: 12890 description: Path to the client cert file in the Prometheus 12891 container for the targets. 12892 type: string 12893 insecureSkipVerify: 12894 description: Disable target certificate validation. 12895 type: boolean 12896 keyFile: 12897 description: Path to the client key file in the Prometheus 12898 container for the targets. 12899 type: string 12900 keySecret: 12901 description: Secret containing the client key file for the 12902 targets. 12903 properties: 12904 key: 12905 description: The key of the secret to select from. Must 12906 be a valid secret key. 12907 type: string 12908 name: 12909 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 12910 TODO: Add other useful fields. apiVersion, kind, uid?' 12911 type: string 12912 optional: 12913 description: Specify whether the Secret or its key must 12914 be defined 12915 type: boolean 12916 required: 12917 - key 12918 type: object 12919 serverName: 12920 description: Used to verify the hostname for the targets. 12921 type: string 12922 type: object 12923 url: 12924 description: The URL of the endpoint to send samples to. 12925 type: string 12926 writeRelabelConfigs: 12927 description: The list of remote write relabel configurations. 12928 items: 12929 description: 'RelabelConfig allows dynamic rewriting of the 12930 label set, being applied to samples before ingestion. It 12931 defines `<metric_relabel_configs>`-section of Prometheus 12932 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 12933 properties: 12934 action: 12935 description: Action to perform based on regex matching. 12936 Default is 'replace' 12937 type: string 12938 modulus: 12939 description: Modulus to take of the hash of the source 12940 label values. 12941 format: int64 12942 type: integer 12943 regex: 12944 description: Regular expression against which the extracted 12945 value is matched. Default is '(.*)' 12946 type: string 12947 replacement: 12948 description: Replacement value against which a regex replace 12949 is performed if the regular expression matches. Regex 12950 capture groups are available. Default is '$1' 12951 type: string 12952 separator: 12953 description: Separator placed between concatenated source 12954 label values. default is ';'. 12955 type: string 12956 sourceLabels: 12957 description: The source labels select values from existing 12958 labels. Their content is concatenated using the configured 12959 separator and matched against the configured regular 12960 expression for the replace, keep, and drop actions. 12961 items: 12962 type: string 12963 type: array 12964 targetLabel: 12965 description: Label to which the resulting value is written 12966 in a replace action. It is mandatory for replace actions. 12967 Regex capture groups are available. 12968 type: string 12969 type: object 12970 type: array 12971 required: 12972 - url 12973 type: object 12974 type: array 12975 replicaExternalLabelName: 12976 description: Name of Prometheus external label used to denote replica 12977 name. Defaults to the value of `prometheus_replica`. External label 12978 will _not_ be added when value is set to empty string (`""`). 12979 type: string 12980 replicas: 12981 description: Number of replicas of each shard to deploy for a Prometheus 12982 deployment. Number of replicas multiplied by shards is the total 12983 number of Pods created. 12984 format: int32 12985 type: integer 12986 resources: 12987 description: Define resources requests and limits for single Pods. 12988 properties: 12989 limits: 12990 additionalProperties: 12991 anyOf: 12992 - type: integer 12993 - type: string 12994 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 12995 x-kubernetes-int-or-string: true 12996 description: 'Limits describes the maximum amount of compute resources 12997 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 12998 type: object 12999 requests: 13000 additionalProperties: 13001 anyOf: 13002 - type: integer 13003 - type: string 13004 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13005 x-kubernetes-int-or-string: true 13006 description: 'Requests describes the minimum amount of compute 13007 resources required. If Requests is omitted for a container, 13008 it defaults to Limits if that is explicitly specified, otherwise 13009 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 13010 type: object 13011 type: object 13012 retention: 13013 description: Time duration Prometheus shall retain data for. Default 13014 is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)` 13015 (milliseconds seconds minutes hours days weeks years). 13016 type: string 13017 retentionSize: 13018 description: 'Maximum amount of disk space used by blocks. Supported 13019 units: B, KB, MB, GB, TB, PB, EB. Ex: `512MB`.' 13020 type: string 13021 routePrefix: 13022 description: The route prefix Prometheus registers HTTP handlers for. 13023 This is useful, if using ExternalURL and a proxy is rewriting HTTP 13024 routes of a request, and the actual ExternalURL is still true, but 13025 the server serves requests under a different route prefix. For example 13026 for use with `kubectl proxy`. 13027 type: string 13028 ruleNamespaceSelector: 13029 description: Namespaces to be selected for PrometheusRules discovery. 13030 If unspecified, only the same namespace as the Prometheus object 13031 is in is used. 13032 properties: 13033 matchExpressions: 13034 description: matchExpressions is a list of label selector requirements. 13035 The requirements are ANDed. 13036 items: 13037 description: A label selector requirement is a selector that 13038 contains values, a key, and an operator that relates the key 13039 and values. 13040 properties: 13041 key: 13042 description: key is the label key that the selector applies 13043 to. 13044 type: string 13045 operator: 13046 description: operator represents a key's relationship to 13047 a set of values. Valid operators are In, NotIn, Exists 13048 and DoesNotExist. 13049 type: string 13050 values: 13051 description: values is an array of string values. If the 13052 operator is In or NotIn, the values array must be non-empty. 13053 If the operator is Exists or DoesNotExist, the values 13054 array must be empty. This array is replaced during a strategic 13055 merge patch. 13056 items: 13057 type: string 13058 type: array 13059 required: 13060 - key 13061 - operator 13062 type: object 13063 type: array 13064 matchLabels: 13065 additionalProperties: 13066 type: string 13067 description: matchLabels is a map of {key,value} pairs. A single 13068 {key,value} in the matchLabels map is equivalent to an element 13069 of matchExpressions, whose key field is "key", the operator 13070 is "In", and the values array contains only "value". The requirements 13071 are ANDed. 13072 type: object 13073 type: object 13074 ruleSelector: 13075 description: A selector to select which PrometheusRules to mount for 13076 loading alerting/recording rules from. Until (excluding) Prometheus 13077 Operator v0.24.0 Prometheus Operator will migrate any legacy rule 13078 ConfigMaps to PrometheusRule custom resources selected by RuleSelector. 13079 Make sure it does not match any config maps that you do not want 13080 to be migrated. 13081 properties: 13082 matchExpressions: 13083 description: matchExpressions is a list of label selector requirements. 13084 The requirements are ANDed. 13085 items: 13086 description: A label selector requirement is a selector that 13087 contains values, a key, and an operator that relates the key 13088 and values. 13089 properties: 13090 key: 13091 description: key is the label key that the selector applies 13092 to. 13093 type: string 13094 operator: 13095 description: operator represents a key's relationship to 13096 a set of values. Valid operators are In, NotIn, Exists 13097 and DoesNotExist. 13098 type: string 13099 values: 13100 description: values is an array of string values. If the 13101 operator is In or NotIn, the values array must be non-empty. 13102 If the operator is Exists or DoesNotExist, the values 13103 array must be empty. This array is replaced during a strategic 13104 merge patch. 13105 items: 13106 type: string 13107 type: array 13108 required: 13109 - key 13110 - operator 13111 type: object 13112 type: array 13113 matchLabels: 13114 additionalProperties: 13115 type: string 13116 description: matchLabels is a map of {key,value} pairs. A single 13117 {key,value} in the matchLabels map is equivalent to an element 13118 of matchExpressions, whose key field is "key", the operator 13119 is "In", and the values array contains only "value". The requirements 13120 are ANDed. 13121 type: object 13122 type: object 13123 rules: 13124 description: /--rules.*/ command-line arguments. 13125 properties: 13126 alert: 13127 description: /--rules.alert.*/ command-line arguments 13128 properties: 13129 forGracePeriod: 13130 description: Minimum duration between alert and restored 'for' 13131 state. This is maintained only for alerts with configured 13132 'for' time greater than grace period. 13133 type: string 13134 forOutageTolerance: 13135 description: Max time to tolerate prometheus outage for restoring 13136 'for' state of alert. 13137 type: string 13138 resendDelay: 13139 description: Minimum amount of time to wait before resending 13140 an alert to Alertmanager. 13141 type: string 13142 type: object 13143 type: object 13144 scrapeInterval: 13145 description: 'Interval between consecutive scrapes. Default: `1m`' 13146 type: string 13147 scrapeTimeout: 13148 description: Number of seconds to wait for target to respond before 13149 erroring. 13150 type: string 13151 secrets: 13152 description: Secrets is a list of Secrets in the same namespace as 13153 the Prometheus object, which shall be mounted into the Prometheus 13154 Pods. The Secrets are mounted into /etc/prometheus/secrets/<secret-name>. 13155 items: 13156 type: string 13157 type: array 13158 securityContext: 13159 description: SecurityContext holds pod-level security attributes and 13160 common container settings. This defaults to the default PodSecurityContext. 13161 properties: 13162 fsGroup: 13163 description: "A special supplemental group that applies to all 13164 containers in a pod. Some volume types allow the Kubelet to 13165 change the ownership of that volume to be owned by the pod: 13166 \n 1. The owning GID will be the FSGroup 2. The setgid bit is 13167 set (new files created in the volume will be owned by FSGroup) 13168 3. The permission bits are OR'd with rw-rw---- \n If unset, 13169 the Kubelet will not modify the ownership and permissions of 13170 any volume." 13171 format: int64 13172 type: integer 13173 fsGroupChangePolicy: 13174 description: 'fsGroupChangePolicy defines behavior of changing 13175 ownership and permission of the volume before being exposed 13176 inside Pod. This field will only apply to volume types which 13177 support fsGroup based ownership(and permissions). It will have 13178 no effect on ephemeral volume types such as: secret, configmaps 13179 and emptydir. Valid values are "OnRootMismatch" and "Always". 13180 If not specified defaults to "Always".' 13181 type: string 13182 runAsGroup: 13183 description: The GID to run the entrypoint of the container process. 13184 Uses runtime default if unset. May also be set in SecurityContext. If 13185 set in both SecurityContext and PodSecurityContext, the value 13186 specified in SecurityContext takes precedence for that container. 13187 format: int64 13188 type: integer 13189 runAsNonRoot: 13190 description: Indicates that the container must run as a non-root 13191 user. If true, the Kubelet will validate the image at runtime 13192 to ensure that it does not run as UID 0 (root) and fail to start 13193 the container if it does. If unset or false, no such validation 13194 will be performed. May also be set in SecurityContext. If set 13195 in both SecurityContext and PodSecurityContext, the value specified 13196 in SecurityContext takes precedence. 13197 type: boolean 13198 runAsUser: 13199 description: The UID to run the entrypoint of the container process. 13200 Defaults to user specified in image metadata if unspecified. 13201 May also be set in SecurityContext. If set in both SecurityContext 13202 and PodSecurityContext, the value specified in SecurityContext 13203 takes precedence for that container. 13204 format: int64 13205 type: integer 13206 seLinuxOptions: 13207 description: The SELinux context to be applied to all containers. 13208 If unspecified, the container runtime will allocate a random 13209 SELinux context for each container. May also be set in SecurityContext. If 13210 set in both SecurityContext and PodSecurityContext, the value 13211 specified in SecurityContext takes precedence for that container. 13212 properties: 13213 level: 13214 description: Level is SELinux level label that applies to 13215 the container. 13216 type: string 13217 role: 13218 description: Role is a SELinux role label that applies to 13219 the container. 13220 type: string 13221 type: 13222 description: Type is a SELinux type label that applies to 13223 the container. 13224 type: string 13225 user: 13226 description: User is a SELinux user label that applies to 13227 the container. 13228 type: string 13229 type: object 13230 supplementalGroups: 13231 description: A list of groups applied to the first process run 13232 in each container, in addition to the container's primary GID. If 13233 unspecified, no groups will be added to any container. 13234 items: 13235 format: int64 13236 type: integer 13237 type: array 13238 sysctls: 13239 description: Sysctls hold a list of namespaced sysctls used for 13240 the pod. Pods with unsupported sysctls (by the container runtime) 13241 might fail to launch. 13242 items: 13243 description: Sysctl defines a kernel parameter to be set 13244 properties: 13245 name: 13246 description: Name of a property to set 13247 type: string 13248 value: 13249 description: Value of a property to set 13250 type: string 13251 required: 13252 - name 13253 - value 13254 type: object 13255 type: array 13256 windowsOptions: 13257 description: The Windows specific settings applied to all containers. 13258 If unspecified, the options within a container's SecurityContext 13259 will be used. If set in both SecurityContext and PodSecurityContext, 13260 the value specified in SecurityContext takes precedence. 13261 properties: 13262 gmsaCredentialSpec: 13263 description: GMSACredentialSpec is where the GMSA admission 13264 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 13265 inlines the contents of the GMSA credential spec named by 13266 the GMSACredentialSpecName field. 13267 type: string 13268 gmsaCredentialSpecName: 13269 description: GMSACredentialSpecName is the name of the GMSA 13270 credential spec to use. 13271 type: string 13272 runAsUserName: 13273 description: The UserName in Windows to run the entrypoint 13274 of the container process. Defaults to the user specified 13275 in image metadata if unspecified. May also be set in PodSecurityContext. 13276 If set in both SecurityContext and PodSecurityContext, the 13277 value specified in SecurityContext takes precedence. 13278 type: string 13279 type: object 13280 type: object 13281 serviceAccountName: 13282 description: ServiceAccountName is the name of the ServiceAccount 13283 to use to run the Prometheus Pods. 13284 type: string 13285 serviceMonitorNamespaceSelector: 13286 description: Namespace's labels to match for ServiceMonitor discovery. 13287 If nil, only check own namespace. 13288 properties: 13289 matchExpressions: 13290 description: matchExpressions is a list of label selector requirements. 13291 The requirements are ANDed. 13292 items: 13293 description: A label selector requirement is a selector that 13294 contains values, a key, and an operator that relates the key 13295 and values. 13296 properties: 13297 key: 13298 description: key is the label key that the selector applies 13299 to. 13300 type: string 13301 operator: 13302 description: operator represents a key's relationship to 13303 a set of values. Valid operators are In, NotIn, Exists 13304 and DoesNotExist. 13305 type: string 13306 values: 13307 description: values is an array of string values. If the 13308 operator is In or NotIn, the values array must be non-empty. 13309 If the operator is Exists or DoesNotExist, the values 13310 array must be empty. This array is replaced during a strategic 13311 merge patch. 13312 items: 13313 type: string 13314 type: array 13315 required: 13316 - key 13317 - operator 13318 type: object 13319 type: array 13320 matchLabels: 13321 additionalProperties: 13322 type: string 13323 description: matchLabels is a map of {key,value} pairs. A single 13324 {key,value} in the matchLabels map is equivalent to an element 13325 of matchExpressions, whose key field is "key", the operator 13326 is "In", and the values array contains only "value". The requirements 13327 are ANDed. 13328 type: object 13329 type: object 13330 serviceMonitorSelector: 13331 description: ServiceMonitors to be selected for target discovery. 13332 *Deprecated:* if neither this nor podMonitorSelector are specified, 13333 configuration is unmanaged. 13334 properties: 13335 matchExpressions: 13336 description: matchExpressions is a list of label selector requirements. 13337 The requirements are ANDed. 13338 items: 13339 description: A label selector requirement is a selector that 13340 contains values, a key, and an operator that relates the key 13341 and values. 13342 properties: 13343 key: 13344 description: key is the label key that the selector applies 13345 to. 13346 type: string 13347 operator: 13348 description: operator represents a key's relationship to 13349 a set of values. Valid operators are In, NotIn, Exists 13350 and DoesNotExist. 13351 type: string 13352 values: 13353 description: values is an array of string values. If the 13354 operator is In or NotIn, the values array must be non-empty. 13355 If the operator is Exists or DoesNotExist, the values 13356 array must be empty. This array is replaced during a strategic 13357 merge patch. 13358 items: 13359 type: string 13360 type: array 13361 required: 13362 - key 13363 - operator 13364 type: object 13365 type: array 13366 matchLabels: 13367 additionalProperties: 13368 type: string 13369 description: matchLabels is a map of {key,value} pairs. A single 13370 {key,value} in the matchLabels map is equivalent to an element 13371 of matchExpressions, whose key field is "key", the operator 13372 is "In", and the values array contains only "value". The requirements 13373 are ANDed. 13374 type: object 13375 type: object 13376 sha: 13377 description: 'SHA of Prometheus container image to be deployed. Defaults 13378 to the value of `version`. Similar to a tag, but the SHA explicitly 13379 deploys an immutable container image. Version and Tag are ignored 13380 if SHA is set. Deprecated: use ''image'' instead. The image digest 13381 can be specified as part of the image URL.' 13382 type: string 13383 shards: 13384 description: 'EXPERIMENTAL: Number of shards to distribute targets 13385 onto. Number of replicas multiplied by shards is the total number 13386 of Pods created. Note that scaling down shards will not reshard 13387 data onto remaining instances, it must be manually moved. Increasing 13388 shards will not reshard data either but it will continue to be available 13389 from the same instances. To query globally use Thanos sidecar and 13390 Thanos querier or remote write data to a central location. Sharding 13391 is done on the content of the `__address__` target meta-label.' 13392 format: int32 13393 type: integer 13394 storage: 13395 description: Storage spec to specify how storage shall be used. 13396 properties: 13397 disableMountSubPath: 13398 description: 'Deprecated: subPath usage will be disabled by default 13399 in a future release, this option will become unnecessary. DisableMountSubPath 13400 allows to remove any subPath usage in volume mounts.' 13401 type: boolean 13402 emptyDir: 13403 description: 'EmptyDirVolumeSource to be used by the Prometheus 13404 StatefulSets. If specified, used in place of any volumeClaimTemplate. 13405 More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' 13406 properties: 13407 medium: 13408 description: 'What type of storage medium should back this 13409 directory. The default is "" which means to use the node''s 13410 default medium. Must be an empty string (default) or Memory. 13411 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 13412 type: string 13413 sizeLimit: 13414 anyOf: 13415 - type: integer 13416 - type: string 13417 description: 'Total amount of local storage required for this 13418 EmptyDir volume. The size limit is also applicable for memory 13419 medium. The maximum usage on memory medium EmptyDir would 13420 be the minimum value between the SizeLimit specified here 13421 and the sum of memory limits of all containers in a pod. 13422 The default is nil which means that the limit is undefined. 13423 More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 13424 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13425 x-kubernetes-int-or-string: true 13426 type: object 13427 volumeClaimTemplate: 13428 description: A PVC spec to be used by the Prometheus StatefulSets. 13429 properties: 13430 apiVersion: 13431 description: 'APIVersion defines the versioned schema of this 13432 representation of an object. Servers should convert recognized 13433 schemas to the latest internal value, and may reject unrecognized 13434 values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 13435 type: string 13436 kind: 13437 description: 'Kind is a string value representing the REST 13438 resource this object represents. Servers may infer this 13439 from the endpoint the client submits requests to. Cannot 13440 be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 13441 type: string 13442 metadata: 13443 description: EmbeddedMetadata contains metadata relevant to 13444 an EmbeddedResource. 13445 properties: 13446 annotations: 13447 additionalProperties: 13448 type: string 13449 description: 'Annotations is an unstructured key value 13450 map stored with a resource that may be set by external 13451 tools to store and retrieve arbitrary metadata. They 13452 are not queryable and should be preserved when modifying 13453 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 13454 type: object 13455 labels: 13456 additionalProperties: 13457 type: string 13458 description: 'Map of string keys and values that can be 13459 used to organize and categorize (scope and select) objects. 13460 May match selectors of replication controllers and services. 13461 More info: http://kubernetes.io/docs/user-guide/labels' 13462 type: object 13463 name: 13464 description: 'Name must be unique within a namespace. 13465 Is required when creating resources, although some resources 13466 may allow a client to request the generation of an appropriate 13467 name automatically. Name is primarily intended for creation 13468 idempotence and configuration definition. Cannot be 13469 updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 13470 type: string 13471 type: object 13472 spec: 13473 description: 'Spec defines the desired characteristics of 13474 a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 13475 properties: 13476 accessModes: 13477 description: 'AccessModes contains the desired access 13478 modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 13479 items: 13480 type: string 13481 type: array 13482 dataSource: 13483 description: 'This field can be used to specify either: 13484 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot 13485 - Beta) * An existing PVC (PersistentVolumeClaim) * 13486 An existing custom resource/object that implements data 13487 population (Alpha) In order to use VolumeSnapshot object 13488 types, the appropriate feature gate must be enabled 13489 (VolumeSnapshotDataSource or AnyVolumeDataSource) If 13490 the provisioner or an external controller can support 13491 the specified data source, it will create a new volume 13492 based on the contents of the specified data source. 13493 If the specified data source is not supported, the volume 13494 will not be created and the failure will be reported 13495 as an event. In the future, we plan to support more 13496 data source types and the behavior of the provisioner 13497 may change.' 13498 properties: 13499 apiGroup: 13500 description: APIGroup is the group for the resource 13501 being referenced. If APIGroup is not specified, 13502 the specified Kind must be in the core API group. 13503 For any other third-party types, APIGroup is required. 13504 type: string 13505 kind: 13506 description: Kind is the type of resource being referenced 13507 type: string 13508 name: 13509 description: Name is the name of resource being referenced 13510 type: string 13511 required: 13512 - kind 13513 - name 13514 type: object 13515 resources: 13516 description: 'Resources represents the minimum resources 13517 the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 13518 properties: 13519 limits: 13520 additionalProperties: 13521 anyOf: 13522 - type: integer 13523 - type: string 13524 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13525 x-kubernetes-int-or-string: true 13526 description: 'Limits describes the maximum amount 13527 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 13528 type: object 13529 requests: 13530 additionalProperties: 13531 anyOf: 13532 - type: integer 13533 - type: string 13534 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13535 x-kubernetes-int-or-string: true 13536 description: 'Requests describes the minimum amount 13537 of compute resources required. If Requests is omitted 13538 for a container, it defaults to Limits if that is 13539 explicitly specified, otherwise to an implementation-defined 13540 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 13541 type: object 13542 type: object 13543 selector: 13544 description: A label query over volumes to consider for 13545 binding. 13546 properties: 13547 matchExpressions: 13548 description: matchExpressions is a list of label selector 13549 requirements. The requirements are ANDed. 13550 items: 13551 description: A label selector requirement is a selector 13552 that contains values, a key, and an operator that 13553 relates the key and values. 13554 properties: 13555 key: 13556 description: key is the label key that the selector 13557 applies to. 13558 type: string 13559 operator: 13560 description: operator represents a key's relationship 13561 to a set of values. Valid operators are In, 13562 NotIn, Exists and DoesNotExist. 13563 type: string 13564 values: 13565 description: values is an array of string values. 13566 If the operator is In or NotIn, the values 13567 array must be non-empty. If the operator is 13568 Exists or DoesNotExist, the values array must 13569 be empty. This array is replaced during a 13570 strategic merge patch. 13571 items: 13572 type: string 13573 type: array 13574 required: 13575 - key 13576 - operator 13577 type: object 13578 type: array 13579 matchLabels: 13580 additionalProperties: 13581 type: string 13582 description: matchLabels is a map of {key,value} pairs. 13583 A single {key,value} in the matchLabels map is equivalent 13584 to an element of matchExpressions, whose key field 13585 is "key", the operator is "In", and the values array 13586 contains only "value". The requirements are ANDed. 13587 type: object 13588 type: object 13589 storageClassName: 13590 description: 'Name of the StorageClass required by the 13591 claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 13592 type: string 13593 volumeMode: 13594 description: volumeMode defines what type of volume is 13595 required by the claim. Value of Filesystem is implied 13596 when not included in claim spec. 13597 type: string 13598 volumeName: 13599 description: VolumeName is the binding reference to the 13600 PersistentVolume backing this claim. 13601 type: string 13602 type: object 13603 status: 13604 description: 'Status represents the current information/status 13605 of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 13606 properties: 13607 accessModes: 13608 description: 'AccessModes contains the actual access modes 13609 the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 13610 items: 13611 type: string 13612 type: array 13613 capacity: 13614 additionalProperties: 13615 anyOf: 13616 - type: integer 13617 - type: string 13618 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13619 x-kubernetes-int-or-string: true 13620 description: Represents the actual resources of the underlying 13621 volume. 13622 type: object 13623 conditions: 13624 description: Current Condition of persistent volume claim. 13625 If underlying persistent volume is being resized then 13626 the Condition will be set to 'ResizeStarted'. 13627 items: 13628 description: PersistentVolumeClaimCondition contails 13629 details about state of pvc 13630 properties: 13631 lastProbeTime: 13632 description: Last time we probed the condition. 13633 format: date-time 13634 type: string 13635 lastTransitionTime: 13636 description: Last time the condition transitioned 13637 from one status to another. 13638 format: date-time 13639 type: string 13640 message: 13641 description: Human-readable message indicating details 13642 about last transition. 13643 type: string 13644 reason: 13645 description: Unique, this should be a short, machine 13646 understandable string that gives the reason for 13647 condition's last transition. If it reports "ResizeStarted" 13648 that means the underlying persistent volume is 13649 being resized. 13650 type: string 13651 status: 13652 type: string 13653 type: 13654 description: PersistentVolumeClaimConditionType 13655 is a valid value of PersistentVolumeClaimCondition.Type 13656 type: string 13657 required: 13658 - status 13659 - type 13660 type: object 13661 type: array 13662 phase: 13663 description: Phase represents the current phase of PersistentVolumeClaim. 13664 type: string 13665 type: object 13666 type: object 13667 type: object 13668 tag: 13669 description: 'Tag of Prometheus container image to be deployed. Defaults 13670 to the value of `version`. Version is ignored if Tag is set. Deprecated: 13671 use ''image'' instead. The image tag can be specified as part of 13672 the image URL.' 13673 type: string 13674 thanos: 13675 description: "Thanos configuration allows configuring various aspects 13676 of a Prometheus server in a Thanos environment. \n This section 13677 is experimental, it may change significantly without deprecation 13678 notice in any release. \n This is experimental and may change significantly 13679 without backward compatibility in any release." 13680 properties: 13681 baseImage: 13682 description: 'Thanos base image if other than default. Deprecated: 13683 use ''image'' instead' 13684 type: string 13685 grpcServerTlsConfig: 13686 description: 'GRPCServerTLSConfig configures the gRPC server from 13687 which Thanos Querier reads recorded rule data. Note: Currently 13688 only the CAFile, CertFile, and KeyFile fields are supported. 13689 Maps to the ''--grpc-server-tls-*'' CLI args.' 13690 properties: 13691 ca: 13692 description: Struct containing the CA cert to use for the 13693 targets. 13694 properties: 13695 configMap: 13696 description: ConfigMap containing data to use for the 13697 targets. 13698 properties: 13699 key: 13700 description: The key to select. 13701 type: string 13702 name: 13703 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13704 TODO: Add other useful fields. apiVersion, kind, 13705 uid?' 13706 type: string 13707 optional: 13708 description: Specify whether the ConfigMap or its 13709 key must be defined 13710 type: boolean 13711 required: 13712 - key 13713 type: object 13714 secret: 13715 description: Secret containing data to use for the targets. 13716 properties: 13717 key: 13718 description: The key of the secret to select from. Must 13719 be a valid secret key. 13720 type: string 13721 name: 13722 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13723 TODO: Add other useful fields. apiVersion, kind, 13724 uid?' 13725 type: string 13726 optional: 13727 description: Specify whether the Secret or its key 13728 must be defined 13729 type: boolean 13730 required: 13731 - key 13732 type: object 13733 type: object 13734 caFile: 13735 description: Path to the CA cert in the Prometheus container 13736 to use for the targets. 13737 type: string 13738 cert: 13739 description: Struct containing the client cert file for the 13740 targets. 13741 properties: 13742 configMap: 13743 description: ConfigMap containing data to use for the 13744 targets. 13745 properties: 13746 key: 13747 description: The key to select. 13748 type: string 13749 name: 13750 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13751 TODO: Add other useful fields. apiVersion, kind, 13752 uid?' 13753 type: string 13754 optional: 13755 description: Specify whether the ConfigMap or its 13756 key must be defined 13757 type: boolean 13758 required: 13759 - key 13760 type: object 13761 secret: 13762 description: Secret containing data to use for the targets. 13763 properties: 13764 key: 13765 description: The key of the secret to select from. Must 13766 be a valid secret key. 13767 type: string 13768 name: 13769 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13770 TODO: Add other useful fields. apiVersion, kind, 13771 uid?' 13772 type: string 13773 optional: 13774 description: Specify whether the Secret or its key 13775 must be defined 13776 type: boolean 13777 required: 13778 - key 13779 type: object 13780 type: object 13781 certFile: 13782 description: Path to the client cert file in the Prometheus 13783 container for the targets. 13784 type: string 13785 insecureSkipVerify: 13786 description: Disable target certificate validation. 13787 type: boolean 13788 keyFile: 13789 description: Path to the client key file in the Prometheus 13790 container for the targets. 13791 type: string 13792 keySecret: 13793 description: Secret containing the client key file for the 13794 targets. 13795 properties: 13796 key: 13797 description: The key of the secret to select from. Must 13798 be a valid secret key. 13799 type: string 13800 name: 13801 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13802 TODO: Add other useful fields. apiVersion, kind, uid?' 13803 type: string 13804 optional: 13805 description: Specify whether the Secret or its key must 13806 be defined 13807 type: boolean 13808 required: 13809 - key 13810 type: object 13811 serverName: 13812 description: Used to verify the hostname for the targets. 13813 type: string 13814 type: object 13815 image: 13816 description: Image if specified has precedence over baseImage, 13817 tag and sha combinations. Specifying the version is still necessary 13818 to ensure the Prometheus Operator knows what version of Thanos 13819 is being configured. 13820 type: string 13821 listenLocal: 13822 description: ListenLocal makes the Thanos sidecar listen on loopback, 13823 so that it does not bind against the Pod IP. 13824 type: boolean 13825 logFormat: 13826 description: LogFormat for Thanos sidecar to be configured with. 13827 type: string 13828 logLevel: 13829 description: LogLevel for Thanos sidecar to be configured with. 13830 type: string 13831 minTime: 13832 description: MinTime for Thanos sidecar to be configured with. 13833 Option can be a constant time in RFC3339 format or time duration 13834 relative to current time, such as -1d or 2h45m. Valid duration 13835 units are ms, s, m, h, d, w, y. 13836 type: string 13837 objectStorageConfig: 13838 description: ObjectStorageConfig configures object storage in 13839 Thanos. Alternative to ObjectStorageConfigFile, and lower order 13840 priority. 13841 properties: 13842 key: 13843 description: The key of the secret to select from. Must be 13844 a valid secret key. 13845 type: string 13846 name: 13847 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13848 TODO: Add other useful fields. apiVersion, kind, uid?' 13849 type: string 13850 optional: 13851 description: Specify whether the Secret or its key must be 13852 defined 13853 type: boolean 13854 required: 13855 - key 13856 type: object 13857 objectStorageConfigFile: 13858 description: ObjectStorageConfigFile specifies the path of the 13859 object storage configuration file. When used alongside with 13860 ObjectStorageConfig, ObjectStorageConfigFile takes precedence. 13861 type: string 13862 readyTimeout: 13863 description: ReadyTimeout is the maximum time Thanos sidecar will 13864 wait for Prometheus to start. Eg 10m 13865 type: string 13866 resources: 13867 description: Resources defines the resource requirements for the 13868 Thanos sidecar. If not provided, no requests/limits will be 13869 set 13870 properties: 13871 limits: 13872 additionalProperties: 13873 anyOf: 13874 - type: integer 13875 - type: string 13876 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13877 x-kubernetes-int-or-string: true 13878 description: 'Limits describes the maximum amount of compute 13879 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 13880 type: object 13881 requests: 13882 additionalProperties: 13883 anyOf: 13884 - type: integer 13885 - type: string 13886 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 13887 x-kubernetes-int-or-string: true 13888 description: 'Requests describes the minimum amount of compute 13889 resources required. If Requests is omitted for a container, 13890 it defaults to Limits if that is explicitly specified, otherwise 13891 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 13892 type: object 13893 type: object 13894 sha: 13895 description: 'SHA of Thanos container image to be deployed. Defaults 13896 to the value of `version`. Similar to a tag, but the SHA explicitly 13897 deploys an immutable container image. Version and Tag are ignored 13898 if SHA is set. Deprecated: use ''image'' instead. The image 13899 digest can be specified as part of the image URL.' 13900 type: string 13901 tag: 13902 description: 'Tag of Thanos sidecar container image to be deployed. 13903 Defaults to the value of `version`. Version is ignored if Tag 13904 is set. Deprecated: use ''image'' instead. The image tag can 13905 be specified as part of the image URL.' 13906 type: string 13907 tracingConfig: 13908 description: TracingConfig configures tracing in Thanos. This 13909 is an experimental feature, it may change in any upcoming release 13910 in a breaking way. 13911 properties: 13912 key: 13913 description: The key of the secret to select from. Must be 13914 a valid secret key. 13915 type: string 13916 name: 13917 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 13918 TODO: Add other useful fields. apiVersion, kind, uid?' 13919 type: string 13920 optional: 13921 description: Specify whether the Secret or its key must be 13922 defined 13923 type: boolean 13924 required: 13925 - key 13926 type: object 13927 tracingConfigFile: 13928 description: TracingConfig specifies the path of the tracing configuration 13929 file. When used alongside with TracingConfig, TracingConfigFile 13930 takes precedence. 13931 type: string 13932 version: 13933 description: Version describes the version of Thanos to use. 13934 type: string 13935 type: object 13936 tolerations: 13937 description: If specified, the pod's tolerations. 13938 items: 13939 description: The pod this Toleration is attached to tolerates any 13940 taint that matches the triple <key,value,effect> using the matching 13941 operator <operator>. 13942 properties: 13943 effect: 13944 description: Effect indicates the taint effect to match. Empty 13945 means match all taint effects. When specified, allowed values 13946 are NoSchedule, PreferNoSchedule and NoExecute. 13947 type: string 13948 key: 13949 description: Key is the taint key that the toleration applies 13950 to. Empty means match all taint keys. If the key is empty, 13951 operator must be Exists; this combination means to match all 13952 values and all keys. 13953 type: string 13954 operator: 13955 description: Operator represents a key's relationship to the 13956 value. Valid operators are Exists and Equal. Defaults to Equal. 13957 Exists is equivalent to wildcard for value, so that a pod 13958 can tolerate all taints of a particular category. 13959 type: string 13960 tolerationSeconds: 13961 description: TolerationSeconds represents the period of time 13962 the toleration (which must be of effect NoExecute, otherwise 13963 this field is ignored) tolerates the taint. By default, it 13964 is not set, which means tolerate the taint forever (do not 13965 evict). Zero and negative values will be treated as 0 (evict 13966 immediately) by the system. 13967 format: int64 13968 type: integer 13969 value: 13970 description: Value is the taint value the toleration matches 13971 to. If the operator is Exists, the value should be empty, 13972 otherwise just a regular string. 13973 type: string 13974 type: object 13975 type: array 13976 topologySpreadConstraints: 13977 description: If specified, the pod's topology spread constraints. 13978 items: 13979 description: TopologySpreadConstraint specifies how to spread matching 13980 pods among the given topology. 13981 properties: 13982 labelSelector: 13983 description: LabelSelector is used to find matching pods. Pods 13984 that match this label selector are counted to determine the 13985 number of pods in their corresponding topology domain. 13986 properties: 13987 matchExpressions: 13988 description: matchExpressions is a list of label selector 13989 requirements. The requirements are ANDed. 13990 items: 13991 description: A label selector requirement is a selector 13992 that contains values, a key, and an operator that relates 13993 the key and values. 13994 properties: 13995 key: 13996 description: key is the label key that the selector 13997 applies to. 13998 type: string 13999 operator: 14000 description: operator represents a key's relationship 14001 to a set of values. Valid operators are In, NotIn, 14002 Exists and DoesNotExist. 14003 type: string 14004 values: 14005 description: values is an array of string values. 14006 If the operator is In or NotIn, the values array 14007 must be non-empty. If the operator is Exists or 14008 DoesNotExist, the values array must be empty. This 14009 array is replaced during a strategic merge patch. 14010 items: 14011 type: string 14012 type: array 14013 required: 14014 - key 14015 - operator 14016 type: object 14017 type: array 14018 matchLabels: 14019 additionalProperties: 14020 type: string 14021 description: matchLabels is a map of {key,value} pairs. 14022 A single {key,value} in the matchLabels map is equivalent 14023 to an element of matchExpressions, whose key field is 14024 "key", the operator is "In", and the values array contains 14025 only "value". The requirements are ANDed. 14026 type: object 14027 type: object 14028 maxSkew: 14029 description: 'MaxSkew describes the degree to which pods may 14030 be unevenly distributed. It''s the maximum permitted difference 14031 between the number of matching pods in any two topology domains 14032 of a given topology type. For example, in a 3-zone cluster, 14033 MaxSkew is set to 1, and pods with the same labelSelector 14034 spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | 14035 - if MaxSkew is 1, incoming pod can only be scheduled to zone3 14036 to become 1/1/1; scheduling it onto zone1(zone2) would make 14037 the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - 14038 if MaxSkew is 2, incoming pod can be scheduled onto any zone. 14039 It''s a required field. Default value is 1 and 0 is not allowed.' 14040 format: int32 14041 type: integer 14042 topologyKey: 14043 description: TopologyKey is the key of node labels. Nodes that 14044 have a label with this key and identical values are considered 14045 to be in the same topology. We consider each <key, value> 14046 as a "bucket", and try to put balanced number of pods into 14047 each bucket. It's a required field. 14048 type: string 14049 whenUnsatisfiable: 14050 description: 'WhenUnsatisfiable indicates how to deal with a 14051 pod if it doesn''t satisfy the spread constraint. - DoNotSchedule 14052 (default) tells the scheduler not to schedule it - ScheduleAnyway 14053 tells the scheduler to still schedule it It''s considered 14054 as "Unsatisfiable" if and only if placing incoming pod on 14055 any topology violates "MaxSkew". For example, in a 3-zone 14056 cluster, MaxSkew is set to 1, and pods with the same labelSelector 14057 spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | 14058 If WhenUnsatisfiable is set to DoNotSchedule, incoming pod 14059 can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) 14060 as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In 14061 other words, the cluster can still be imbalanced, but scheduler 14062 won''t make it *more* imbalanced. It''s a required field.' 14063 type: string 14064 required: 14065 - maxSkew 14066 - topologyKey 14067 - whenUnsatisfiable 14068 type: object 14069 type: array 14070 version: 14071 description: Version of Prometheus to be deployed. 14072 type: string 14073 volumeMounts: 14074 description: VolumeMounts allows configuration of additional VolumeMounts 14075 on the output StatefulSet definition. VolumeMounts specified will 14076 be appended to other VolumeMounts in the prometheus container, that 14077 are generated as a result of StorageSpec objects. 14078 items: 14079 description: VolumeMount describes a mounting of a Volume within 14080 a container. 14081 properties: 14082 mountPath: 14083 description: Path within the container at which the volume should 14084 be mounted. Must not contain ':'. 14085 type: string 14086 mountPropagation: 14087 description: mountPropagation determines how mounts are propagated 14088 from the host to container and the other way around. When 14089 not set, MountPropagationNone is used. This field is beta 14090 in 1.10. 14091 type: string 14092 name: 14093 description: This must match the Name of a Volume. 14094 type: string 14095 readOnly: 14096 description: Mounted read-only if true, read-write otherwise 14097 (false or unspecified). Defaults to false. 14098 type: boolean 14099 subPath: 14100 description: Path within the volume from which the container's 14101 volume should be mounted. Defaults to "" (volume's root). 14102 type: string 14103 subPathExpr: 14104 description: Expanded path within the volume from which the 14105 container's volume should be mounted. Behaves similarly to 14106 SubPath but environment variable references $(VAR_NAME) are 14107 expanded using the container's environment. Defaults to "" 14108 (volume's root). SubPathExpr and SubPath are mutually exclusive. 14109 type: string 14110 required: 14111 - mountPath 14112 - name 14113 type: object 14114 type: array 14115 volumes: 14116 description: Volumes allows configuration of additional volumes on 14117 the output StatefulSet definition. Volumes specified will be appended 14118 to other volumes that are generated as a result of StorageSpec objects. 14119 items: 14120 description: Volume represents a named volume in a pod that may 14121 be accessed by any container in the pod. 14122 properties: 14123 awsElasticBlockStore: 14124 description: 'AWSElasticBlockStore represents an AWS Disk resource 14125 that is attached to a kubelet''s host machine and then exposed 14126 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 14127 properties: 14128 fsType: 14129 description: 'Filesystem type of the volume that you want 14130 to mount. Tip: Ensure that the filesystem type is supported 14131 by the host operating system. Examples: "ext4", "xfs", 14132 "ntfs". Implicitly inferred to be "ext4" if unspecified. 14133 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 14134 TODO: how do we prevent errors in the filesystem from 14135 compromising the machine' 14136 type: string 14137 partition: 14138 description: 'The partition in the volume that you want 14139 to mount. If omitted, the default is to mount by volume 14140 name. Examples: For volume /dev/sda1, you specify the 14141 partition as "1". Similarly, the volume partition for 14142 /dev/sda is "0" (or you can leave the property empty).' 14143 format: int32 14144 type: integer 14145 readOnly: 14146 description: 'Specify "true" to force and set the ReadOnly 14147 property in VolumeMounts to "true". If omitted, the default 14148 is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 14149 type: boolean 14150 volumeID: 14151 description: 'Unique ID of the persistent disk resource 14152 in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 14153 type: string 14154 required: 14155 - volumeID 14156 type: object 14157 azureDisk: 14158 description: AzureDisk represents an Azure Data Disk mount on 14159 the host and bind mount to the pod. 14160 properties: 14161 cachingMode: 14162 description: 'Host Caching mode: None, Read Only, Read Write.' 14163 type: string 14164 diskName: 14165 description: The Name of the data disk in the blob storage 14166 type: string 14167 diskURI: 14168 description: The URI the data disk in the blob storage 14169 type: string 14170 fsType: 14171 description: Filesystem type to mount. Must be a filesystem 14172 type supported by the host operating system. Ex. "ext4", 14173 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 14174 type: string 14175 kind: 14176 description: 'Expected values Shared: multiple blob disks 14177 per storage account Dedicated: single blob disk per storage 14178 account Managed: azure managed data disk (only in managed 14179 availability set). defaults to shared' 14180 type: string 14181 readOnly: 14182 description: Defaults to false (read/write). ReadOnly here 14183 will force the ReadOnly setting in VolumeMounts. 14184 type: boolean 14185 required: 14186 - diskName 14187 - diskURI 14188 type: object 14189 azureFile: 14190 description: AzureFile represents an Azure File Service mount 14191 on the host and bind mount to the pod. 14192 properties: 14193 readOnly: 14194 description: Defaults to false (read/write). ReadOnly here 14195 will force the ReadOnly setting in VolumeMounts. 14196 type: boolean 14197 secretName: 14198 description: the name of secret that contains Azure Storage 14199 Account Name and Key 14200 type: string 14201 shareName: 14202 description: Share Name 14203 type: string 14204 required: 14205 - secretName 14206 - shareName 14207 type: object 14208 cephfs: 14209 description: CephFS represents a Ceph FS mount on the host that 14210 shares a pod's lifetime 14211 properties: 14212 monitors: 14213 description: 'Required: Monitors is a collection of Ceph 14214 monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 14215 items: 14216 type: string 14217 type: array 14218 path: 14219 description: 'Optional: Used as the mounted root, rather 14220 than the full Ceph tree, default is /' 14221 type: string 14222 readOnly: 14223 description: 'Optional: Defaults to false (read/write). 14224 ReadOnly here will force the ReadOnly setting in VolumeMounts. 14225 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 14226 type: boolean 14227 secretFile: 14228 description: 'Optional: SecretFile is the path to key ring 14229 for User, default is /etc/ceph/user.secret More info: 14230 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 14231 type: string 14232 secretRef: 14233 description: 'Optional: SecretRef is reference to the authentication 14234 secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 14235 properties: 14236 name: 14237 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14238 TODO: Add other useful fields. apiVersion, kind, uid?' 14239 type: string 14240 type: object 14241 user: 14242 description: 'Optional: User is the rados user name, default 14243 is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 14244 type: string 14245 required: 14246 - monitors 14247 type: object 14248 cinder: 14249 description: 'Cinder represents a cinder volume attached and 14250 mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 14251 properties: 14252 fsType: 14253 description: 'Filesystem type to mount. Must be a filesystem 14254 type supported by the host operating system. Examples: 14255 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 14256 if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 14257 type: string 14258 readOnly: 14259 description: 'Optional: Defaults to false (read/write). 14260 ReadOnly here will force the ReadOnly setting in VolumeMounts. 14261 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 14262 type: boolean 14263 secretRef: 14264 description: 'Optional: points to a secret object containing 14265 parameters used to connect to OpenStack.' 14266 properties: 14267 name: 14268 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14269 TODO: Add other useful fields. apiVersion, kind, uid?' 14270 type: string 14271 type: object 14272 volumeID: 14273 description: 'volume id used to identify the volume in cinder. 14274 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 14275 type: string 14276 required: 14277 - volumeID 14278 type: object 14279 configMap: 14280 description: ConfigMap represents a configMap that should populate 14281 this volume 14282 properties: 14283 defaultMode: 14284 description: 'Optional: mode bits to use on created files 14285 by default. Must be a value between 0 and 0777. Defaults 14286 to 0644. Directories within the path are not affected 14287 by this setting. This might be in conflict with other 14288 options that affect the file mode, like fsGroup, and the 14289 result can be other mode bits set.' 14290 format: int32 14291 type: integer 14292 items: 14293 description: If unspecified, each key-value pair in the 14294 Data field of the referenced ConfigMap will be projected 14295 into the volume as a file whose name is the key and content 14296 is the value. If specified, the listed keys will be projected 14297 into the specified paths, and unlisted keys will not be 14298 present. If a key is specified which is not present in 14299 the ConfigMap, the volume setup will error unless it is 14300 marked optional. Paths must be relative and may not contain 14301 the '..' path or start with '..'. 14302 items: 14303 description: Maps a string key to a path within a volume. 14304 properties: 14305 key: 14306 description: The key to project. 14307 type: string 14308 mode: 14309 description: 'Optional: mode bits to use on this file, 14310 must be a value between 0 and 0777. If not specified, 14311 the volume defaultMode will be used. This might 14312 be in conflict with other options that affect the 14313 file mode, like fsGroup, and the result can be other 14314 mode bits set.' 14315 format: int32 14316 type: integer 14317 path: 14318 description: The relative path of the file to map 14319 the key to. May not be an absolute path. May not 14320 contain the path element '..'. May not start with 14321 the string '..'. 14322 type: string 14323 required: 14324 - key 14325 - path 14326 type: object 14327 type: array 14328 name: 14329 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14330 TODO: Add other useful fields. apiVersion, kind, uid?' 14331 type: string 14332 optional: 14333 description: Specify whether the ConfigMap or its keys must 14334 be defined 14335 type: boolean 14336 type: object 14337 csi: 14338 description: CSI (Container Storage Interface) represents storage 14339 that is handled by an external CSI driver (Alpha feature). 14340 properties: 14341 driver: 14342 description: Driver is the name of the CSI driver that handles 14343 this volume. Consult with your admin for the correct name 14344 as registered in the cluster. 14345 type: string 14346 fsType: 14347 description: Filesystem type to mount. Ex. "ext4", "xfs", 14348 "ntfs". If not provided, the empty value is passed to 14349 the associated CSI driver which will determine the default 14350 filesystem to apply. 14351 type: string 14352 nodePublishSecretRef: 14353 description: NodePublishSecretRef is a reference to the 14354 secret object containing sensitive information to pass 14355 to the CSI driver to complete the CSI NodePublishVolume 14356 and NodeUnpublishVolume calls. This field is optional, 14357 and may be empty if no secret is required. If the secret 14358 object contains more than one secret, all secret references 14359 are passed. 14360 properties: 14361 name: 14362 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14363 TODO: Add other useful fields. apiVersion, kind, uid?' 14364 type: string 14365 type: object 14366 readOnly: 14367 description: Specifies a read-only configuration for the 14368 volume. Defaults to false (read/write). 14369 type: boolean 14370 volumeAttributes: 14371 additionalProperties: 14372 type: string 14373 description: VolumeAttributes stores driver-specific properties 14374 that are passed to the CSI driver. Consult your driver's 14375 documentation for supported values. 14376 type: object 14377 required: 14378 - driver 14379 type: object 14380 downwardAPI: 14381 description: DownwardAPI represents downward API about the pod 14382 that should populate this volume 14383 properties: 14384 defaultMode: 14385 description: 'Optional: mode bits to use on created files 14386 by default. Must be a value between 0 and 0777. Defaults 14387 to 0644. Directories within the path are not affected 14388 by this setting. This might be in conflict with other 14389 options that affect the file mode, like fsGroup, and the 14390 result can be other mode bits set.' 14391 format: int32 14392 type: integer 14393 items: 14394 description: Items is a list of downward API volume file 14395 items: 14396 description: DownwardAPIVolumeFile represents information 14397 to create the file containing the pod field 14398 properties: 14399 fieldRef: 14400 description: 'Required: Selects a field of the pod: 14401 only annotations, labels, name and namespace are 14402 supported.' 14403 properties: 14404 apiVersion: 14405 description: Version of the schema the FieldPath 14406 is written in terms of, defaults to "v1". 14407 type: string 14408 fieldPath: 14409 description: Path of the field to select in the 14410 specified API version. 14411 type: string 14412 required: 14413 - fieldPath 14414 type: object 14415 mode: 14416 description: 'Optional: mode bits to use on this file, 14417 must be a value between 0 and 0777. If not specified, 14418 the volume defaultMode will be used. This might 14419 be in conflict with other options that affect the 14420 file mode, like fsGroup, and the result can be other 14421 mode bits set.' 14422 format: int32 14423 type: integer 14424 path: 14425 description: 'Required: Path is the relative path 14426 name of the file to be created. Must not be absolute 14427 or contain the ''..'' path. Must be utf-8 encoded. 14428 The first item of the relative path must not start 14429 with ''..''' 14430 type: string 14431 resourceFieldRef: 14432 description: 'Selects a resource of the container: 14433 only resources limits and requests (limits.cpu, 14434 limits.memory, requests.cpu and requests.memory) 14435 are currently supported.' 14436 properties: 14437 containerName: 14438 description: 'Container name: required for volumes, 14439 optional for env vars' 14440 type: string 14441 divisor: 14442 anyOf: 14443 - type: integer 14444 - type: string 14445 description: Specifies the output format of the 14446 exposed resources, defaults to "1" 14447 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 14448 x-kubernetes-int-or-string: true 14449 resource: 14450 description: 'Required: resource to select' 14451 type: string 14452 required: 14453 - resource 14454 type: object 14455 required: 14456 - path 14457 type: object 14458 type: array 14459 type: object 14460 emptyDir: 14461 description: 'EmptyDir represents a temporary directory that 14462 shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 14463 properties: 14464 medium: 14465 description: 'What type of storage medium should back this 14466 directory. The default is "" which means to use the node''s 14467 default medium. Must be an empty string (default) or Memory. 14468 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 14469 type: string 14470 sizeLimit: 14471 anyOf: 14472 - type: integer 14473 - type: string 14474 description: 'Total amount of local storage required for 14475 this EmptyDir volume. The size limit is also applicable 14476 for memory medium. The maximum usage on memory medium 14477 EmptyDir would be the minimum value between the SizeLimit 14478 specified here and the sum of memory limits of all containers 14479 in a pod. The default is nil which means that the limit 14480 is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 14481 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 14482 x-kubernetes-int-or-string: true 14483 type: object 14484 fc: 14485 description: FC represents a Fibre Channel resource that is 14486 attached to a kubelet's host machine and then exposed to the 14487 pod. 14488 properties: 14489 fsType: 14490 description: 'Filesystem type to mount. Must be a filesystem 14491 type supported by the host operating system. Ex. "ext4", 14492 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 14493 TODO: how do we prevent errors in the filesystem from 14494 compromising the machine' 14495 type: string 14496 lun: 14497 description: 'Optional: FC target lun number' 14498 format: int32 14499 type: integer 14500 readOnly: 14501 description: 'Optional: Defaults to false (read/write). 14502 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 14503 type: boolean 14504 targetWWNs: 14505 description: 'Optional: FC target worldwide names (WWNs)' 14506 items: 14507 type: string 14508 type: array 14509 wwids: 14510 description: 'Optional: FC volume world wide identifiers 14511 (wwids) Either wwids or combination of targetWWNs and 14512 lun must be set, but not both simultaneously.' 14513 items: 14514 type: string 14515 type: array 14516 type: object 14517 flexVolume: 14518 description: FlexVolume represents a generic volume resource 14519 that is provisioned/attached using an exec based plugin. 14520 properties: 14521 driver: 14522 description: Driver is the name of the driver to use for 14523 this volume. 14524 type: string 14525 fsType: 14526 description: Filesystem type to mount. Must be a filesystem 14527 type supported by the host operating system. Ex. "ext4", 14528 "xfs", "ntfs". The default filesystem depends on FlexVolume 14529 script. 14530 type: string 14531 options: 14532 additionalProperties: 14533 type: string 14534 description: 'Optional: Extra command options if any.' 14535 type: object 14536 readOnly: 14537 description: 'Optional: Defaults to false (read/write). 14538 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 14539 type: boolean 14540 secretRef: 14541 description: 'Optional: SecretRef is reference to the secret 14542 object containing sensitive information to pass to the 14543 plugin scripts. This may be empty if no secret object 14544 is specified. If the secret object contains more than 14545 one secret, all secrets are passed to the plugin scripts.' 14546 properties: 14547 name: 14548 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14549 TODO: Add other useful fields. apiVersion, kind, uid?' 14550 type: string 14551 type: object 14552 required: 14553 - driver 14554 type: object 14555 flocker: 14556 description: Flocker represents a Flocker volume attached to 14557 a kubelet's host machine. This depends on the Flocker control 14558 service being running 14559 properties: 14560 datasetName: 14561 description: Name of the dataset stored as metadata -> name 14562 on the dataset for Flocker should be considered as deprecated 14563 type: string 14564 datasetUUID: 14565 description: UUID of the dataset. This is unique identifier 14566 of a Flocker dataset 14567 type: string 14568 type: object 14569 gcePersistentDisk: 14570 description: 'GCEPersistentDisk represents a GCE Disk resource 14571 that is attached to a kubelet''s host machine and then exposed 14572 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 14573 properties: 14574 fsType: 14575 description: 'Filesystem type of the volume that you want 14576 to mount. Tip: Ensure that the filesystem type is supported 14577 by the host operating system. Examples: "ext4", "xfs", 14578 "ntfs". Implicitly inferred to be "ext4" if unspecified. 14579 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 14580 TODO: how do we prevent errors in the filesystem from 14581 compromising the machine' 14582 type: string 14583 partition: 14584 description: 'The partition in the volume that you want 14585 to mount. If omitted, the default is to mount by volume 14586 name. Examples: For volume /dev/sda1, you specify the 14587 partition as "1". Similarly, the volume partition for 14588 /dev/sda is "0" (or you can leave the property empty). 14589 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 14590 format: int32 14591 type: integer 14592 pdName: 14593 description: 'Unique name of the PD resource in GCE. Used 14594 to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 14595 type: string 14596 readOnly: 14597 description: 'ReadOnly here will force the ReadOnly setting 14598 in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 14599 type: boolean 14600 required: 14601 - pdName 14602 type: object 14603 gitRepo: 14604 description: 'GitRepo represents a git repository at a particular 14605 revision. DEPRECATED: GitRepo is deprecated. To provision 14606 a container with a git repo, mount an EmptyDir into an InitContainer 14607 that clones the repo using git, then mount the EmptyDir into 14608 the Pod''s container.' 14609 properties: 14610 directory: 14611 description: Target directory name. Must not contain or 14612 start with '..'. If '.' is supplied, the volume directory 14613 will be the git repository. Otherwise, if specified, 14614 the volume will contain the git repository in the subdirectory 14615 with the given name. 14616 type: string 14617 repository: 14618 description: Repository URL 14619 type: string 14620 revision: 14621 description: Commit hash for the specified revision. 14622 type: string 14623 required: 14624 - repository 14625 type: object 14626 glusterfs: 14627 description: 'Glusterfs represents a Glusterfs mount on the 14628 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 14629 properties: 14630 endpoints: 14631 description: 'EndpointsName is the endpoint name that details 14632 Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 14633 type: string 14634 path: 14635 description: 'Path is the Glusterfs volume path. More info: 14636 https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 14637 type: string 14638 readOnly: 14639 description: 'ReadOnly here will force the Glusterfs volume 14640 to be mounted with read-only permissions. Defaults to 14641 false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 14642 type: boolean 14643 required: 14644 - endpoints 14645 - path 14646 type: object 14647 hostPath: 14648 description: 'HostPath represents a pre-existing file or directory 14649 on the host machine that is directly exposed to the container. 14650 This is generally used for system agents or other privileged 14651 things that are allowed to see the host machine. Most containers 14652 will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 14653 --- TODO(jonesdl) We need to restrict who can use host directory 14654 mounts and who can/can not mount host directories as read/write.' 14655 properties: 14656 path: 14657 description: 'Path of the directory on the host. If the 14658 path is a symlink, it will follow the link to the real 14659 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 14660 type: string 14661 type: 14662 description: 'Type for HostPath Volume Defaults to "" More 14663 info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 14664 type: string 14665 required: 14666 - path 14667 type: object 14668 iscsi: 14669 description: 'ISCSI represents an ISCSI Disk resource that is 14670 attached to a kubelet''s host machine and then exposed to 14671 the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 14672 properties: 14673 chapAuthDiscovery: 14674 description: whether support iSCSI Discovery CHAP authentication 14675 type: boolean 14676 chapAuthSession: 14677 description: whether support iSCSI Session CHAP authentication 14678 type: boolean 14679 fsType: 14680 description: 'Filesystem type of the volume that you want 14681 to mount. Tip: Ensure that the filesystem type is supported 14682 by the host operating system. Examples: "ext4", "xfs", 14683 "ntfs". Implicitly inferred to be "ext4" if unspecified. 14684 More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 14685 TODO: how do we prevent errors in the filesystem from 14686 compromising the machine' 14687 type: string 14688 initiatorName: 14689 description: Custom iSCSI Initiator Name. If initiatorName 14690 is specified with iscsiInterface simultaneously, new iSCSI 14691 interface <target portal>:<volume name> will be created 14692 for the connection. 14693 type: string 14694 iqn: 14695 description: Target iSCSI Qualified Name. 14696 type: string 14697 iscsiInterface: 14698 description: iSCSI Interface Name that uses an iSCSI transport. 14699 Defaults to 'default' (tcp). 14700 type: string 14701 lun: 14702 description: iSCSI Target Lun number. 14703 format: int32 14704 type: integer 14705 portals: 14706 description: iSCSI Target Portal List. The portal is either 14707 an IP or ip_addr:port if the port is other than default 14708 (typically TCP ports 860 and 3260). 14709 items: 14710 type: string 14711 type: array 14712 readOnly: 14713 description: ReadOnly here will force the ReadOnly setting 14714 in VolumeMounts. Defaults to false. 14715 type: boolean 14716 secretRef: 14717 description: CHAP Secret for iSCSI target and initiator 14718 authentication 14719 properties: 14720 name: 14721 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14722 TODO: Add other useful fields. apiVersion, kind, uid?' 14723 type: string 14724 type: object 14725 targetPortal: 14726 description: iSCSI Target Portal. The Portal is either an 14727 IP or ip_addr:port if the port is other than default (typically 14728 TCP ports 860 and 3260). 14729 type: string 14730 required: 14731 - iqn 14732 - lun 14733 - targetPortal 14734 type: object 14735 name: 14736 description: 'Volume''s name. Must be a DNS_LABEL and unique 14737 within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 14738 type: string 14739 nfs: 14740 description: 'NFS represents an NFS mount on the host that shares 14741 a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 14742 properties: 14743 path: 14744 description: 'Path that is exported by the NFS server. More 14745 info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 14746 type: string 14747 readOnly: 14748 description: 'ReadOnly here will force the NFS export to 14749 be mounted with read-only permissions. Defaults to false. 14750 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 14751 type: boolean 14752 server: 14753 description: 'Server is the hostname or IP address of the 14754 NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 14755 type: string 14756 required: 14757 - path 14758 - server 14759 type: object 14760 persistentVolumeClaim: 14761 description: 'PersistentVolumeClaimVolumeSource represents a 14762 reference to a PersistentVolumeClaim in the same namespace. 14763 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 14764 properties: 14765 claimName: 14766 description: 'ClaimName is the name of a PersistentVolumeClaim 14767 in the same namespace as the pod using this volume. More 14768 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 14769 type: string 14770 readOnly: 14771 description: Will force the ReadOnly setting in VolumeMounts. 14772 Default false. 14773 type: boolean 14774 required: 14775 - claimName 14776 type: object 14777 photonPersistentDisk: 14778 description: PhotonPersistentDisk represents a PhotonController 14779 persistent disk attached and mounted on kubelets host machine 14780 properties: 14781 fsType: 14782 description: Filesystem type to mount. Must be a filesystem 14783 type supported by the host operating system. Ex. "ext4", 14784 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 14785 type: string 14786 pdID: 14787 description: ID that identifies Photon Controller persistent 14788 disk 14789 type: string 14790 required: 14791 - pdID 14792 type: object 14793 portworxVolume: 14794 description: PortworxVolume represents a portworx volume attached 14795 and mounted on kubelets host machine 14796 properties: 14797 fsType: 14798 description: FSType represents the filesystem type to mount 14799 Must be a filesystem type supported by the host operating 14800 system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" 14801 if unspecified. 14802 type: string 14803 readOnly: 14804 description: Defaults to false (read/write). ReadOnly here 14805 will force the ReadOnly setting in VolumeMounts. 14806 type: boolean 14807 volumeID: 14808 description: VolumeID uniquely identifies a Portworx volume 14809 type: string 14810 required: 14811 - volumeID 14812 type: object 14813 projected: 14814 description: Items for all in one resources secrets, configmaps, 14815 and downward API 14816 properties: 14817 defaultMode: 14818 description: Mode bits to use on created files by default. 14819 Must be a value between 0 and 0777. Directories within 14820 the path are not affected by this setting. This might 14821 be in conflict with other options that affect the file 14822 mode, like fsGroup, and the result can be other mode bits 14823 set. 14824 format: int32 14825 type: integer 14826 sources: 14827 description: list of volume projections 14828 items: 14829 description: Projection that may be projected along with 14830 other supported volume types 14831 properties: 14832 configMap: 14833 description: information about the configMap data 14834 to project 14835 properties: 14836 items: 14837 description: If unspecified, each key-value pair 14838 in the Data field of the referenced ConfigMap 14839 will be projected into the volume as a file 14840 whose name is the key and content is the value. 14841 If specified, the listed keys will be projected 14842 into the specified paths, and unlisted keys 14843 will not be present. If a key is specified which 14844 is not present in the ConfigMap, the volume 14845 setup will error unless it is marked optional. 14846 Paths must be relative and may not contain the 14847 '..' path or start with '..'. 14848 items: 14849 description: Maps a string key to a path within 14850 a volume. 14851 properties: 14852 key: 14853 description: The key to project. 14854 type: string 14855 mode: 14856 description: 'Optional: mode bits to use 14857 on this file, must be a value between 14858 0 and 0777. If not specified, the volume 14859 defaultMode will be used. This might be 14860 in conflict with other options that affect 14861 the file mode, like fsGroup, and the result 14862 can be other mode bits set.' 14863 format: int32 14864 type: integer 14865 path: 14866 description: The relative path of the file 14867 to map the key to. May not be an absolute 14868 path. May not contain the path element 14869 '..'. May not start with the string '..'. 14870 type: string 14871 required: 14872 - key 14873 - path 14874 type: object 14875 type: array 14876 name: 14877 description: 'Name of the referent. More info: 14878 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 14879 TODO: Add other useful fields. apiVersion, kind, 14880 uid?' 14881 type: string 14882 optional: 14883 description: Specify whether the ConfigMap or 14884 its keys must be defined 14885 type: boolean 14886 type: object 14887 downwardAPI: 14888 description: information about the downwardAPI data 14889 to project 14890 properties: 14891 items: 14892 description: Items is a list of DownwardAPIVolume 14893 file 14894 items: 14895 description: DownwardAPIVolumeFile represents 14896 information to create the file containing 14897 the pod field 14898 properties: 14899 fieldRef: 14900 description: 'Required: Selects a field 14901 of the pod: only annotations, labels, 14902 name and namespace are supported.' 14903 properties: 14904 apiVersion: 14905 description: Version of the schema the 14906 FieldPath is written in terms of, 14907 defaults to "v1". 14908 type: string 14909 fieldPath: 14910 description: Path of the field to select 14911 in the specified API version. 14912 type: string 14913 required: 14914 - fieldPath 14915 type: object 14916 mode: 14917 description: 'Optional: mode bits to use 14918 on this file, must be a value between 14919 0 and 0777. If not specified, the volume 14920 defaultMode will be used. This might be 14921 in conflict with other options that affect 14922 the file mode, like fsGroup, and the result 14923 can be other mode bits set.' 14924 format: int32 14925 type: integer 14926 path: 14927 description: 'Required: Path is the relative 14928 path name of the file to be created. Must 14929 not be absolute or contain the ''..'' 14930 path. Must be utf-8 encoded. The first 14931 item of the relative path must not start 14932 with ''..''' 14933 type: string 14934 resourceFieldRef: 14935 description: 'Selects a resource of the 14936 container: only resources limits and requests 14937 (limits.cpu, limits.memory, requests.cpu 14938 and requests.memory) are currently supported.' 14939 properties: 14940 containerName: 14941 description: 'Container name: required 14942 for volumes, optional for env vars' 14943 type: string 14944 divisor: 14945 anyOf: 14946 - type: integer 14947 - type: string 14948 description: Specifies the output format 14949 of the exposed resources, defaults 14950 to "1" 14951 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 14952 x-kubernetes-int-or-string: true 14953 resource: 14954 description: 'Required: resource to 14955 select' 14956 type: string 14957 required: 14958 - resource 14959 type: object 14960 required: 14961 - path 14962 type: object 14963 type: array 14964 type: object 14965 secret: 14966 description: information about the secret data to 14967 project 14968 properties: 14969 items: 14970 description: If unspecified, each key-value pair 14971 in the Data field of the referenced Secret will 14972 be projected into the volume as a file whose 14973 name is the key and content is the value. If 14974 specified, the listed keys will be projected 14975 into the specified paths, and unlisted keys 14976 will not be present. If a key is specified which 14977 is not present in the Secret, the volume setup 14978 will error unless it is marked optional. Paths 14979 must be relative and may not contain the '..' 14980 path or start with '..'. 14981 items: 14982 description: Maps a string key to a path within 14983 a volume. 14984 properties: 14985 key: 14986 description: The key to project. 14987 type: string 14988 mode: 14989 description: 'Optional: mode bits to use 14990 on this file, must be a value between 14991 0 and 0777. If not specified, the volume 14992 defaultMode will be used. This might be 14993 in conflict with other options that affect 14994 the file mode, like fsGroup, and the result 14995 can be other mode bits set.' 14996 format: int32 14997 type: integer 14998 path: 14999 description: The relative path of the file 15000 to map the key to. May not be an absolute 15001 path. May not contain the path element 15002 '..'. May not start with the string '..'. 15003 type: string 15004 required: 15005 - key 15006 - path 15007 type: object 15008 type: array 15009 name: 15010 description: 'Name of the referent. More info: 15011 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15012 TODO: Add other useful fields. apiVersion, kind, 15013 uid?' 15014 type: string 15015 optional: 15016 description: Specify whether the Secret or its 15017 key must be defined 15018 type: boolean 15019 type: object 15020 serviceAccountToken: 15021 description: information about the serviceAccountToken 15022 data to project 15023 properties: 15024 audience: 15025 description: Audience is the intended audience 15026 of the token. A recipient of a token must identify 15027 itself with an identifier specified in the audience 15028 of the token, and otherwise should reject the 15029 token. The audience defaults to the identifier 15030 of the apiserver. 15031 type: string 15032 expirationSeconds: 15033 description: ExpirationSeconds is the requested 15034 duration of validity of the service account 15035 token. As the token approaches expiration, the 15036 kubelet volume plugin will proactively rotate 15037 the service account token. The kubelet will 15038 start trying to rotate the token if the token 15039 is older than 80 percent of its time to live 15040 or if the token is older than 24 hours.Defaults 15041 to 1 hour and must be at least 10 minutes. 15042 format: int64 15043 type: integer 15044 path: 15045 description: Path is the path relative to the 15046 mount point of the file to project the token 15047 into. 15048 type: string 15049 required: 15050 - path 15051 type: object 15052 type: object 15053 type: array 15054 required: 15055 - sources 15056 type: object 15057 quobyte: 15058 description: Quobyte represents a Quobyte mount on the host 15059 that shares a pod's lifetime 15060 properties: 15061 group: 15062 description: Group to map volume access to Default is no 15063 group 15064 type: string 15065 readOnly: 15066 description: ReadOnly here will force the Quobyte volume 15067 to be mounted with read-only permissions. Defaults to 15068 false. 15069 type: boolean 15070 registry: 15071 description: Registry represents a single or multiple Quobyte 15072 Registry services specified as a string as host:port pair 15073 (multiple entries are separated with commas) which acts 15074 as the central registry for volumes 15075 type: string 15076 tenant: 15077 description: Tenant owning the given Quobyte volume in the 15078 Backend Used with dynamically provisioned Quobyte volumes, 15079 value is set by the plugin 15080 type: string 15081 user: 15082 description: User to map volume access to Defaults to serivceaccount 15083 user 15084 type: string 15085 volume: 15086 description: Volume is a string that references an already 15087 created Quobyte volume by name. 15088 type: string 15089 required: 15090 - registry 15091 - volume 15092 type: object 15093 rbd: 15094 description: 'RBD represents a Rados Block Device mount on the 15095 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 15096 properties: 15097 fsType: 15098 description: 'Filesystem type of the volume that you want 15099 to mount. Tip: Ensure that the filesystem type is supported 15100 by the host operating system. Examples: "ext4", "xfs", 15101 "ntfs". Implicitly inferred to be "ext4" if unspecified. 15102 More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 15103 TODO: how do we prevent errors in the filesystem from 15104 compromising the machine' 15105 type: string 15106 image: 15107 description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15108 type: string 15109 keyring: 15110 description: 'Keyring is the path to key ring for RBDUser. 15111 Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15112 type: string 15113 monitors: 15114 description: 'A collection of Ceph monitors. More info: 15115 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15116 items: 15117 type: string 15118 type: array 15119 pool: 15120 description: 'The rados pool name. Default is rbd. More 15121 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15122 type: string 15123 readOnly: 15124 description: 'ReadOnly here will force the ReadOnly setting 15125 in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15126 type: boolean 15127 secretRef: 15128 description: 'SecretRef is name of the authentication secret 15129 for RBDUser. If provided overrides keyring. Default is 15130 nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15131 properties: 15132 name: 15133 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15134 TODO: Add other useful fields. apiVersion, kind, uid?' 15135 type: string 15136 type: object 15137 user: 15138 description: 'The rados user name. Default is admin. More 15139 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 15140 type: string 15141 required: 15142 - image 15143 - monitors 15144 type: object 15145 scaleIO: 15146 description: ScaleIO represents a ScaleIO persistent volume 15147 attached and mounted on Kubernetes nodes. 15148 properties: 15149 fsType: 15150 description: Filesystem type to mount. Must be a filesystem 15151 type supported by the host operating system. Ex. "ext4", 15152 "xfs", "ntfs". Default is "xfs". 15153 type: string 15154 gateway: 15155 description: The host address of the ScaleIO API Gateway. 15156 type: string 15157 protectionDomain: 15158 description: The name of the ScaleIO Protection Domain for 15159 the configured storage. 15160 type: string 15161 readOnly: 15162 description: Defaults to false (read/write). ReadOnly here 15163 will force the ReadOnly setting in VolumeMounts. 15164 type: boolean 15165 secretRef: 15166 description: SecretRef references to the secret for ScaleIO 15167 user and other sensitive information. If this is not provided, 15168 Login operation will fail. 15169 properties: 15170 name: 15171 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15172 TODO: Add other useful fields. apiVersion, kind, uid?' 15173 type: string 15174 type: object 15175 sslEnabled: 15176 description: Flag to enable/disable SSL communication with 15177 Gateway, default false 15178 type: boolean 15179 storageMode: 15180 description: Indicates whether the storage for a volume 15181 should be ThickProvisioned or ThinProvisioned. Default 15182 is ThinProvisioned. 15183 type: string 15184 storagePool: 15185 description: The ScaleIO Storage Pool associated with the 15186 protection domain. 15187 type: string 15188 system: 15189 description: The name of the storage system as configured 15190 in ScaleIO. 15191 type: string 15192 volumeName: 15193 description: The name of a volume already created in the 15194 ScaleIO system that is associated with this volume source. 15195 type: string 15196 required: 15197 - gateway 15198 - secretRef 15199 - system 15200 type: object 15201 secret: 15202 description: 'Secret represents a secret that should populate 15203 this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 15204 properties: 15205 defaultMode: 15206 description: 'Optional: mode bits to use on created files 15207 by default. Must be a value between 0 and 0777. Defaults 15208 to 0644. Directories within the path are not affected 15209 by this setting. This might be in conflict with other 15210 options that affect the file mode, like fsGroup, and the 15211 result can be other mode bits set.' 15212 format: int32 15213 type: integer 15214 items: 15215 description: If unspecified, each key-value pair in the 15216 Data field of the referenced Secret will be projected 15217 into the volume as a file whose name is the key and content 15218 is the value. If specified, the listed keys will be projected 15219 into the specified paths, and unlisted keys will not be 15220 present. If a key is specified which is not present in 15221 the Secret, the volume setup will error unless it is marked 15222 optional. Paths must be relative and may not contain the 15223 '..' path or start with '..'. 15224 items: 15225 description: Maps a string key to a path within a volume. 15226 properties: 15227 key: 15228 description: The key to project. 15229 type: string 15230 mode: 15231 description: 'Optional: mode bits to use on this file, 15232 must be a value between 0 and 0777. If not specified, 15233 the volume defaultMode will be used. This might 15234 be in conflict with other options that affect the 15235 file mode, like fsGroup, and the result can be other 15236 mode bits set.' 15237 format: int32 15238 type: integer 15239 path: 15240 description: The relative path of the file to map 15241 the key to. May not be an absolute path. May not 15242 contain the path element '..'. May not start with 15243 the string '..'. 15244 type: string 15245 required: 15246 - key 15247 - path 15248 type: object 15249 type: array 15250 optional: 15251 description: Specify whether the Secret or its keys must 15252 be defined 15253 type: boolean 15254 secretName: 15255 description: 'Name of the secret in the pod''s namespace 15256 to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 15257 type: string 15258 type: object 15259 storageos: 15260 description: StorageOS represents a StorageOS volume attached 15261 and mounted on Kubernetes nodes. 15262 properties: 15263 fsType: 15264 description: Filesystem type to mount. Must be a filesystem 15265 type supported by the host operating system. Ex. "ext4", 15266 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 15267 type: string 15268 readOnly: 15269 description: Defaults to false (read/write). ReadOnly here 15270 will force the ReadOnly setting in VolumeMounts. 15271 type: boolean 15272 secretRef: 15273 description: SecretRef specifies the secret to use for obtaining 15274 the StorageOS API credentials. If not specified, default 15275 values will be attempted. 15276 properties: 15277 name: 15278 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15279 TODO: Add other useful fields. apiVersion, kind, uid?' 15280 type: string 15281 type: object 15282 volumeName: 15283 description: VolumeName is the human-readable name of the 15284 StorageOS volume. Volume names are only unique within 15285 a namespace. 15286 type: string 15287 volumeNamespace: 15288 description: VolumeNamespace specifies the scope of the 15289 volume within StorageOS. If no namespace is specified 15290 then the Pod's namespace will be used. This allows the 15291 Kubernetes name scoping to be mirrored within StorageOS 15292 for tighter integration. Set VolumeName to any name to 15293 override the default behaviour. Set to "default" if you 15294 are not using namespaces within StorageOS. Namespaces 15295 that do not pre-exist within StorageOS will be created. 15296 type: string 15297 type: object 15298 vsphereVolume: 15299 description: VsphereVolume represents a vSphere volume attached 15300 and mounted on kubelets host machine 15301 properties: 15302 fsType: 15303 description: Filesystem type to mount. Must be a filesystem 15304 type supported by the host operating system. Ex. "ext4", 15305 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 15306 type: string 15307 storagePolicyID: 15308 description: Storage Policy Based Management (SPBM) profile 15309 ID associated with the StoragePolicyName. 15310 type: string 15311 storagePolicyName: 15312 description: Storage Policy Based Management (SPBM) profile 15313 name. 15314 type: string 15315 volumePath: 15316 description: Path that identifies vSphere volume vmdk 15317 type: string 15318 required: 15319 - volumePath 15320 type: object 15321 required: 15322 - name 15323 type: object 15324 type: array 15325 walCompression: 15326 description: Enable compression of the write-ahead log using Snappy. 15327 This flag is only available in versions of Prometheus >= 2.11.0. 15328 type: boolean 15329 web: 15330 description: WebSpec defines the web command line flags when starting 15331 Prometheus. 15332 properties: 15333 pageTitle: 15334 description: The prometheus web page title 15335 type: string 15336 tlsConfig: 15337 description: WebTLSConfig defines the TLS parameters for HTTPS. 15338 properties: 15339 cert: 15340 description: Contains the TLS certificate for the server. 15341 properties: 15342 configMap: 15343 description: ConfigMap containing data to use for the 15344 targets. 15345 properties: 15346 key: 15347 description: The key to select. 15348 type: string 15349 name: 15350 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15351 TODO: Add other useful fields. apiVersion, kind, 15352 uid?' 15353 type: string 15354 optional: 15355 description: Specify whether the ConfigMap or its 15356 key must be defined 15357 type: boolean 15358 required: 15359 - key 15360 type: object 15361 secret: 15362 description: Secret containing data to use for the targets. 15363 properties: 15364 key: 15365 description: The key of the secret to select from. Must 15366 be a valid secret key. 15367 type: string 15368 name: 15369 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15370 TODO: Add other useful fields. apiVersion, kind, 15371 uid?' 15372 type: string 15373 optional: 15374 description: Specify whether the Secret or its key 15375 must be defined 15376 type: boolean 15377 required: 15378 - key 15379 type: object 15380 type: object 15381 cipherSuites: 15382 description: 'List of supported cipher suites for TLS versions 15383 up to TLS 1.2. If empty, Go default cipher suites are used. 15384 Available cipher suites are documented in the go documentation: 15385 https://golang.org/pkg/crypto/tls/#pkg-constants' 15386 items: 15387 type: string 15388 type: array 15389 client_ca: 15390 description: Contains the CA certificate for client certificate 15391 authentication to the server. 15392 properties: 15393 configMap: 15394 description: ConfigMap containing data to use for the 15395 targets. 15396 properties: 15397 key: 15398 description: The key to select. 15399 type: string 15400 name: 15401 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15402 TODO: Add other useful fields. apiVersion, kind, 15403 uid?' 15404 type: string 15405 optional: 15406 description: Specify whether the ConfigMap or its 15407 key must be defined 15408 type: boolean 15409 required: 15410 - key 15411 type: object 15412 secret: 15413 description: Secret containing data to use for the targets. 15414 properties: 15415 key: 15416 description: The key of the secret to select from. Must 15417 be a valid secret key. 15418 type: string 15419 name: 15420 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15421 TODO: Add other useful fields. apiVersion, kind, 15422 uid?' 15423 type: string 15424 optional: 15425 description: Specify whether the Secret or its key 15426 must be defined 15427 type: boolean 15428 required: 15429 - key 15430 type: object 15431 type: object 15432 clientAuthType: 15433 description: 'Server policy for client authentication. Maps 15434 to ClientAuth Policies. For more detail on clientAuth options: 15435 https://golang.org/pkg/crypto/tls/#ClientAuthType' 15436 type: string 15437 curvePreferences: 15438 description: 'Elliptic curves that will be used in an ECDHE 15439 handshake, in preference order. Available curves are documented 15440 in the go documentation: https://golang.org/pkg/crypto/tls/#CurveID' 15441 items: 15442 type: string 15443 type: array 15444 keySecret: 15445 description: Secret containing the TLS key for the server. 15446 properties: 15447 key: 15448 description: The key of the secret to select from. Must 15449 be a valid secret key. 15450 type: string 15451 name: 15452 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15453 TODO: Add other useful fields. apiVersion, kind, uid?' 15454 type: string 15455 optional: 15456 description: Specify whether the Secret or its key must 15457 be defined 15458 type: boolean 15459 required: 15460 - key 15461 type: object 15462 maxVersion: 15463 description: Maximum TLS version that is acceptable. Defaults 15464 to TLS13. 15465 type: string 15466 minVersion: 15467 description: Minimum TLS version that is acceptable. Defaults 15468 to TLS12. 15469 type: string 15470 preferServerCipherSuites: 15471 description: Controls whether the server selects the client's 15472 most preferred cipher suite, or the server's most preferred 15473 cipher suite. If true then the server's preference, as expressed 15474 in the order of elements in cipherSuites, is used. 15475 type: boolean 15476 required: 15477 - cert 15478 - keySecret 15479 type: object 15480 type: object 15481 type: object 15482 status: 15483 description: 'Most recent observed status of the Prometheus cluster. Read-only. 15484 Not included when requesting from the apiserver, only from the Prometheus 15485 Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 15486 properties: 15487 availableReplicas: 15488 description: Total number of available pods (ready for at least minReadySeconds) 15489 targeted by this Prometheus deployment. 15490 format: int32 15491 type: integer 15492 paused: 15493 description: Represents whether any actions on the underlying managed 15494 objects are being performed. Only delete actions will be performed. 15495 type: boolean 15496 replicas: 15497 description: Total number of non-terminated pods targeted by this 15498 Prometheus deployment (their labels match the selector). 15499 format: int32 15500 type: integer 15501 unavailableReplicas: 15502 description: Total number of unavailable pods targeted by this Prometheus 15503 deployment. 15504 format: int32 15505 type: integer 15506 updatedReplicas: 15507 description: Total number of non-terminated pods targeted by this 15508 Prometheus deployment that have the desired version spec. 15509 format: int32 15510 type: integer 15511 required: 15512 - availableReplicas 15513 - paused 15514 - replicas 15515 - unavailableReplicas 15516 - updatedReplicas 15517 type: object 15518 required: 15519 - spec 15520 type: object 15521 served: true 15522 storage: true 15523 subresources: {} 15524 status: 15525 acceptedNames: 15526 kind: "" 15527 plural: "" 15528 conditions: [] 15529 storedVersions: [] 15530 15531 --- 15532 apiVersion: apiextensions.k8s.io/v1 15533 kind: CustomResourceDefinition 15534 metadata: 15535 annotations: 15536 controller-gen.kubebuilder.io/version: v0.4.1 15537 creationTimestamp: null 15538 name: prometheusrules.monitoring.coreos.com 15539 spec: 15540 group: monitoring.coreos.com 15541 names: 15542 categories: 15543 - prometheus-operator 15544 kind: PrometheusRule 15545 listKind: PrometheusRuleList 15546 plural: prometheusrules 15547 singular: prometheusrule 15548 scope: Namespaced 15549 versions: 15550 - name: v1 15551 schema: 15552 openAPIV3Schema: 15553 description: PrometheusRule defines recording and alerting rules for a Prometheus 15554 instance 15555 properties: 15556 apiVersion: 15557 description: 'APIVersion defines the versioned schema of this representation 15558 of an object. Servers should convert recognized schemas to the latest 15559 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 15560 type: string 15561 kind: 15562 description: 'Kind is a string value representing the REST resource this 15563 object represents. Servers may infer this from the endpoint the client 15564 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 15565 type: string 15566 metadata: 15567 type: object 15568 spec: 15569 description: Specification of desired alerting rule definitions for Prometheus. 15570 properties: 15571 groups: 15572 description: Content of Prometheus rule file 15573 items: 15574 description: 'RuleGroup is a list of sequentially evaluated recording 15575 and alerting rules. Note: PartialResponseStrategy is only used 15576 by ThanosRuler and will be ignored by Prometheus instances. Valid 15577 values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response' 15578 properties: 15579 interval: 15580 type: string 15581 name: 15582 type: string 15583 partial_response_strategy: 15584 type: string 15585 rules: 15586 items: 15587 description: 'Rule describes an alerting or recording rule 15588 See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) 15589 or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules) 15590 rule' 15591 properties: 15592 alert: 15593 type: string 15594 annotations: 15595 additionalProperties: 15596 type: string 15597 type: object 15598 expr: 15599 anyOf: 15600 - type: integer 15601 - type: string 15602 x-kubernetes-int-or-string: true 15603 for: 15604 type: string 15605 labels: 15606 additionalProperties: 15607 type: string 15608 type: object 15609 record: 15610 type: string 15611 required: 15612 - expr 15613 type: object 15614 type: array 15615 required: 15616 - name 15617 - rules 15618 type: object 15619 type: array 15620 type: object 15621 required: 15622 - spec 15623 type: object 15624 served: true 15625 storage: true 15626 status: 15627 acceptedNames: 15628 kind: "" 15629 plural: "" 15630 conditions: [] 15631 storedVersions: [] 15632 15633 --- 15634 apiVersion: apiextensions.k8s.io/v1 15635 kind: CustomResourceDefinition 15636 metadata: 15637 annotations: 15638 controller-gen.kubebuilder.io/version: v0.4.1 15639 creationTimestamp: null 15640 name: servicemonitors.monitoring.coreos.com 15641 spec: 15642 group: monitoring.coreos.com 15643 names: 15644 categories: 15645 - prometheus-operator 15646 kind: ServiceMonitor 15647 listKind: ServiceMonitorList 15648 plural: servicemonitors 15649 singular: servicemonitor 15650 scope: Namespaced 15651 versions: 15652 - name: v1 15653 schema: 15654 openAPIV3Schema: 15655 description: ServiceMonitor defines monitoring for a set of services. 15656 properties: 15657 apiVersion: 15658 description: 'APIVersion defines the versioned schema of this representation 15659 of an object. Servers should convert recognized schemas to the latest 15660 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 15661 type: string 15662 kind: 15663 description: 'Kind is a string value representing the REST resource this 15664 object represents. Servers may infer this from the endpoint the client 15665 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 15666 type: string 15667 metadata: 15668 type: object 15669 spec: 15670 description: Specification of desired Service selection for target discovery 15671 by Prometheus. 15672 properties: 15673 endpoints: 15674 description: A list of endpoints allowed as part of this ServiceMonitor. 15675 items: 15676 description: Endpoint defines a scrapeable endpoint serving Prometheus 15677 metrics. 15678 properties: 15679 authorization: 15680 description: Authorization section for this endpoint 15681 properties: 15682 credentials: 15683 description: The secret's key that contains the credentials 15684 of the request 15685 properties: 15686 key: 15687 description: The key of the secret to select from. Must 15688 be a valid secret key. 15689 type: string 15690 name: 15691 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15692 TODO: Add other useful fields. apiVersion, kind, uid?' 15693 type: string 15694 optional: 15695 description: Specify whether the Secret or its key must 15696 be defined 15697 type: boolean 15698 required: 15699 - key 15700 type: object 15701 type: 15702 description: Set the authentication type. Defaults to Bearer, 15703 Basic will cause an error 15704 type: string 15705 type: object 15706 basicAuth: 15707 description: 'BasicAuth allow an endpoint to authenticate over 15708 basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' 15709 properties: 15710 password: 15711 description: The secret in the service monitor namespace 15712 that contains the password for authentication. 15713 properties: 15714 key: 15715 description: The key of the secret to select from. Must 15716 be a valid secret key. 15717 type: string 15718 name: 15719 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15720 TODO: Add other useful fields. apiVersion, kind, uid?' 15721 type: string 15722 optional: 15723 description: Specify whether the Secret or its key must 15724 be defined 15725 type: boolean 15726 required: 15727 - key 15728 type: object 15729 username: 15730 description: The secret in the service monitor namespace 15731 that contains the username for authentication. 15732 properties: 15733 key: 15734 description: The key of the secret to select from. Must 15735 be a valid secret key. 15736 type: string 15737 name: 15738 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15739 TODO: Add other useful fields. apiVersion, kind, uid?' 15740 type: string 15741 optional: 15742 description: Specify whether the Secret or its key must 15743 be defined 15744 type: boolean 15745 required: 15746 - key 15747 type: object 15748 type: object 15749 bearerTokenFile: 15750 description: File to read bearer token for scraping targets. 15751 type: string 15752 bearerTokenSecret: 15753 description: Secret to mount to read bearer token for scraping 15754 targets. The secret needs to be in the same namespace as the 15755 service monitor and accessible by the Prometheus Operator. 15756 properties: 15757 key: 15758 description: The key of the secret to select from. Must 15759 be a valid secret key. 15760 type: string 15761 name: 15762 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15763 TODO: Add other useful fields. apiVersion, kind, uid?' 15764 type: string 15765 optional: 15766 description: Specify whether the Secret or its key must 15767 be defined 15768 type: boolean 15769 required: 15770 - key 15771 type: object 15772 honorLabels: 15773 description: HonorLabels chooses the metric's labels on collisions 15774 with target labels. 15775 type: boolean 15776 honorTimestamps: 15777 description: HonorTimestamps controls whether Prometheus respects 15778 the timestamps present in scraped data. 15779 type: boolean 15780 interval: 15781 description: Interval at which metrics should be scraped 15782 type: string 15783 metricRelabelings: 15784 description: MetricRelabelConfigs to apply to samples before 15785 ingestion. 15786 items: 15787 description: 'RelabelConfig allows dynamic rewriting of the 15788 label set, being applied to samples before ingestion. It 15789 defines `<metric_relabel_configs>`-section of Prometheus 15790 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 15791 properties: 15792 action: 15793 description: Action to perform based on regex matching. 15794 Default is 'replace' 15795 type: string 15796 modulus: 15797 description: Modulus to take of the hash of the source 15798 label values. 15799 format: int64 15800 type: integer 15801 regex: 15802 description: Regular expression against which the extracted 15803 value is matched. Default is '(.*)' 15804 type: string 15805 replacement: 15806 description: Replacement value against which a regex replace 15807 is performed if the regular expression matches. Regex 15808 capture groups are available. Default is '$1' 15809 type: string 15810 separator: 15811 description: Separator placed between concatenated source 15812 label values. default is ';'. 15813 type: string 15814 sourceLabels: 15815 description: The source labels select values from existing 15816 labels. Their content is concatenated using the configured 15817 separator and matched against the configured regular 15818 expression for the replace, keep, and drop actions. 15819 items: 15820 type: string 15821 type: array 15822 targetLabel: 15823 description: Label to which the resulting value is written 15824 in a replace action. It is mandatory for replace actions. 15825 Regex capture groups are available. 15826 type: string 15827 type: object 15828 type: array 15829 oauth2: 15830 description: OAuth2 for the URL. Only valid in Prometheus versions 15831 2.27.0 and newer. 15832 properties: 15833 clientId: 15834 description: The secret or configmap containing the OAuth2 15835 client id 15836 properties: 15837 configMap: 15838 description: ConfigMap containing data to use for the 15839 targets. 15840 properties: 15841 key: 15842 description: The key to select. 15843 type: string 15844 name: 15845 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15846 TODO: Add other useful fields. apiVersion, kind, 15847 uid?' 15848 type: string 15849 optional: 15850 description: Specify whether the ConfigMap or its 15851 key must be defined 15852 type: boolean 15853 required: 15854 - key 15855 type: object 15856 secret: 15857 description: Secret containing data to use for the targets. 15858 properties: 15859 key: 15860 description: The key of the secret to select from. Must 15861 be a valid secret key. 15862 type: string 15863 name: 15864 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15865 TODO: Add other useful fields. apiVersion, kind, 15866 uid?' 15867 type: string 15868 optional: 15869 description: Specify whether the Secret or its key 15870 must be defined 15871 type: boolean 15872 required: 15873 - key 15874 type: object 15875 type: object 15876 clientSecret: 15877 description: The secret containing the OAuth2 client secret 15878 properties: 15879 key: 15880 description: The key of the secret to select from. Must 15881 be a valid secret key. 15882 type: string 15883 name: 15884 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 15885 TODO: Add other useful fields. apiVersion, kind, uid?' 15886 type: string 15887 optional: 15888 description: Specify whether the Secret or its key must 15889 be defined 15890 type: boolean 15891 required: 15892 - key 15893 type: object 15894 endpointParams: 15895 additionalProperties: 15896 type: string 15897 description: Parameters to append to the token URL 15898 type: object 15899 scopes: 15900 description: OAuth2 scopes used for the token request 15901 items: 15902 type: string 15903 type: array 15904 tokenUrl: 15905 description: The URL to fetch the token from 15906 minLength: 1 15907 type: string 15908 required: 15909 - clientId 15910 - clientSecret 15911 - tokenUrl 15912 type: object 15913 params: 15914 additionalProperties: 15915 items: 15916 type: string 15917 type: array 15918 description: Optional HTTP URL parameters 15919 type: object 15920 path: 15921 description: HTTP path to scrape for metrics. 15922 type: string 15923 port: 15924 description: Name of the service port this endpoint refers to. 15925 Mutually exclusive with targetPort. 15926 type: string 15927 proxyUrl: 15928 description: ProxyURL eg http://proxyserver:2195 Directs scrapes 15929 to proxy through this endpoint. 15930 type: string 15931 relabelings: 15932 description: 'RelabelConfigs to apply to samples before scraping. 15933 Prometheus Operator automatically adds relabelings for a few 15934 standard Kubernetes fields and replaces original scrape job 15935 name with __tmp_prometheus_job_name. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' 15936 items: 15937 description: 'RelabelConfig allows dynamic rewriting of the 15938 label set, being applied to samples before ingestion. It 15939 defines `<metric_relabel_configs>`-section of Prometheus 15940 configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' 15941 properties: 15942 action: 15943 description: Action to perform based on regex matching. 15944 Default is 'replace' 15945 type: string 15946 modulus: 15947 description: Modulus to take of the hash of the source 15948 label values. 15949 format: int64 15950 type: integer 15951 regex: 15952 description: Regular expression against which the extracted 15953 value is matched. Default is '(.*)' 15954 type: string 15955 replacement: 15956 description: Replacement value against which a regex replace 15957 is performed if the regular expression matches. Regex 15958 capture groups are available. Default is '$1' 15959 type: string 15960 separator: 15961 description: Separator placed between concatenated source 15962 label values. default is ';'. 15963 type: string 15964 sourceLabels: 15965 description: The source labels select values from existing 15966 labels. Their content is concatenated using the configured 15967 separator and matched against the configured regular 15968 expression for the replace, keep, and drop actions. 15969 items: 15970 type: string 15971 type: array 15972 targetLabel: 15973 description: Label to which the resulting value is written 15974 in a replace action. It is mandatory for replace actions. 15975 Regex capture groups are available. 15976 type: string 15977 type: object 15978 type: array 15979 scheme: 15980 description: HTTP scheme to use for scraping. 15981 type: string 15982 scrapeTimeout: 15983 description: Timeout after which the scrape is ended 15984 type: string 15985 targetPort: 15986 anyOf: 15987 - type: integer 15988 - type: string 15989 description: Name or number of the target port of the Pod behind 15990 the Service, the port must be specified with container port 15991 property. Mutually exclusive with port. 15992 x-kubernetes-int-or-string: true 15993 tlsConfig: 15994 description: TLS configuration to use when scraping the endpoint 15995 properties: 15996 ca: 15997 description: Struct containing the CA cert to use for the 15998 targets. 15999 properties: 16000 configMap: 16001 description: ConfigMap containing data to use for the 16002 targets. 16003 properties: 16004 key: 16005 description: The key to select. 16006 type: string 16007 name: 16008 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16009 TODO: Add other useful fields. apiVersion, kind, 16010 uid?' 16011 type: string 16012 optional: 16013 description: Specify whether the ConfigMap or its 16014 key must be defined 16015 type: boolean 16016 required: 16017 - key 16018 type: object 16019 secret: 16020 description: Secret containing data to use for the targets. 16021 properties: 16022 key: 16023 description: The key of the secret to select from. Must 16024 be a valid secret key. 16025 type: string 16026 name: 16027 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16028 TODO: Add other useful fields. apiVersion, kind, 16029 uid?' 16030 type: string 16031 optional: 16032 description: Specify whether the Secret or its key 16033 must be defined 16034 type: boolean 16035 required: 16036 - key 16037 type: object 16038 type: object 16039 caFile: 16040 description: Path to the CA cert in the Prometheus container 16041 to use for the targets. 16042 type: string 16043 cert: 16044 description: Struct containing the client cert file for 16045 the targets. 16046 properties: 16047 configMap: 16048 description: ConfigMap containing data to use for the 16049 targets. 16050 properties: 16051 key: 16052 description: The key to select. 16053 type: string 16054 name: 16055 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16056 TODO: Add other useful fields. apiVersion, kind, 16057 uid?' 16058 type: string 16059 optional: 16060 description: Specify whether the ConfigMap or its 16061 key must be defined 16062 type: boolean 16063 required: 16064 - key 16065 type: object 16066 secret: 16067 description: Secret containing data to use for the targets. 16068 properties: 16069 key: 16070 description: The key of the secret to select from. Must 16071 be a valid secret key. 16072 type: string 16073 name: 16074 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16075 TODO: Add other useful fields. apiVersion, kind, 16076 uid?' 16077 type: string 16078 optional: 16079 description: Specify whether the Secret or its key 16080 must be defined 16081 type: boolean 16082 required: 16083 - key 16084 type: object 16085 type: object 16086 certFile: 16087 description: Path to the client cert file in the Prometheus 16088 container for the targets. 16089 type: string 16090 insecureSkipVerify: 16091 description: Disable target certificate validation. 16092 type: boolean 16093 keyFile: 16094 description: Path to the client key file in the Prometheus 16095 container for the targets. 16096 type: string 16097 keySecret: 16098 description: Secret containing the client key file for the 16099 targets. 16100 properties: 16101 key: 16102 description: The key of the secret to select from. Must 16103 be a valid secret key. 16104 type: string 16105 name: 16106 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16107 TODO: Add other useful fields. apiVersion, kind, uid?' 16108 type: string 16109 optional: 16110 description: Specify whether the Secret or its key must 16111 be defined 16112 type: boolean 16113 required: 16114 - key 16115 type: object 16116 serverName: 16117 description: Used to verify the hostname for the targets. 16118 type: string 16119 type: object 16120 type: object 16121 type: array 16122 jobLabel: 16123 description: "Chooses the label of the Kubernetes `Endpoints`. Its 16124 value will be used for the `job`-label's value of the created metrics. 16125 \n Default & fallback value: the name of the respective Kubernetes 16126 `Endpoint`." 16127 type: string 16128 labelLimit: 16129 description: Per-scrape limit on number of labels that will be accepted 16130 for a sample. Only valid in Prometheus versions 2.27.0 and newer. 16131 format: int64 16132 type: integer 16133 labelNameLengthLimit: 16134 description: Per-scrape limit on length of labels name that will be 16135 accepted for a sample. Only valid in Prometheus versions 2.27.0 16136 and newer. 16137 format: int64 16138 type: integer 16139 labelValueLengthLimit: 16140 description: Per-scrape limit on length of labels value that will 16141 be accepted for a sample. Only valid in Prometheus versions 2.27.0 16142 and newer. 16143 format: int64 16144 type: integer 16145 namespaceSelector: 16146 description: Selector to select which namespaces the Kubernetes Endpoints 16147 objects are discovered from. 16148 properties: 16149 any: 16150 description: Boolean describing whether all namespaces are selected 16151 in contrast to a list restricting them. 16152 type: boolean 16153 matchNames: 16154 description: List of namespace names. 16155 items: 16156 type: string 16157 type: array 16158 type: object 16159 podTargetLabels: 16160 description: PodTargetLabels transfers labels on the Kubernetes `Pod` 16161 onto the created metrics. 16162 items: 16163 type: string 16164 type: array 16165 sampleLimit: 16166 description: SampleLimit defines per-scrape limit on number of scraped 16167 samples that will be accepted. 16168 format: int64 16169 type: integer 16170 selector: 16171 description: Selector to select Endpoints objects. 16172 properties: 16173 matchExpressions: 16174 description: matchExpressions is a list of label selector requirements. 16175 The requirements are ANDed. 16176 items: 16177 description: A label selector requirement is a selector that 16178 contains values, a key, and an operator that relates the key 16179 and values. 16180 properties: 16181 key: 16182 description: key is the label key that the selector applies 16183 to. 16184 type: string 16185 operator: 16186 description: operator represents a key's relationship to 16187 a set of values. Valid operators are In, NotIn, Exists 16188 and DoesNotExist. 16189 type: string 16190 values: 16191 description: values is an array of string values. If the 16192 operator is In or NotIn, the values array must be non-empty. 16193 If the operator is Exists or DoesNotExist, the values 16194 array must be empty. This array is replaced during a strategic 16195 merge patch. 16196 items: 16197 type: string 16198 type: array 16199 required: 16200 - key 16201 - operator 16202 type: object 16203 type: array 16204 matchLabels: 16205 additionalProperties: 16206 type: string 16207 description: matchLabels is a map of {key,value} pairs. A single 16208 {key,value} in the matchLabels map is equivalent to an element 16209 of matchExpressions, whose key field is "key", the operator 16210 is "In", and the values array contains only "value". The requirements 16211 are ANDed. 16212 type: object 16213 type: object 16214 targetLabels: 16215 description: TargetLabels transfers labels from the Kubernetes `Service` 16216 onto the created metrics. All labels set in `selector.matchLabels` 16217 are automatically transferred. 16218 items: 16219 type: string 16220 type: array 16221 targetLimit: 16222 description: TargetLimit defines a limit on the number of scraped 16223 targets that will be accepted. 16224 format: int64 16225 type: integer 16226 required: 16227 - endpoints 16228 - selector 16229 type: object 16230 required: 16231 - spec 16232 type: object 16233 served: true 16234 storage: true 16235 status: 16236 acceptedNames: 16237 kind: "" 16238 plural: "" 16239 conditions: [] 16240 storedVersions: [] 16241 16242 --- 16243 apiVersion: apiextensions.k8s.io/v1 16244 kind: CustomResourceDefinition 16245 metadata: 16246 annotations: 16247 controller-gen.kubebuilder.io/version: v0.4.1 16248 creationTimestamp: null 16249 name: thanosrulers.monitoring.coreos.com 16250 spec: 16251 group: monitoring.coreos.com 16252 names: 16253 categories: 16254 - prometheus-operator 16255 kind: ThanosRuler 16256 listKind: ThanosRulerList 16257 plural: thanosrulers 16258 singular: thanosruler 16259 scope: Namespaced 16260 versions: 16261 - name: v1 16262 schema: 16263 openAPIV3Schema: 16264 description: ThanosRuler defines a ThanosRuler deployment. 16265 properties: 16266 apiVersion: 16267 description: 'APIVersion defines the versioned schema of this representation 16268 of an object. Servers should convert recognized schemas to the latest 16269 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 16270 type: string 16271 kind: 16272 description: 'Kind is a string value representing the REST resource this 16273 object represents. Servers may infer this from the endpoint the client 16274 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 16275 type: string 16276 metadata: 16277 type: object 16278 spec: 16279 description: 'Specification of the desired behavior of the ThanosRuler 16280 cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 16281 properties: 16282 affinity: 16283 description: If specified, the pod's scheduling constraints. 16284 properties: 16285 nodeAffinity: 16286 description: Describes node affinity scheduling rules for the 16287 pod. 16288 properties: 16289 preferredDuringSchedulingIgnoredDuringExecution: 16290 description: The scheduler will prefer to schedule pods to 16291 nodes that satisfy the affinity expressions specified by 16292 this field, but it may choose a node that violates one or 16293 more of the expressions. The node that is most preferred 16294 is the one with the greatest sum of weights, i.e. for each 16295 node that meets all of the scheduling requirements (resource 16296 request, requiredDuringScheduling affinity expressions, 16297 etc.), compute a sum by iterating through the elements of 16298 this field and adding "weight" to the sum if the node matches 16299 the corresponding matchExpressions; the node(s) with the 16300 highest sum are the most preferred. 16301 items: 16302 description: An empty preferred scheduling term matches 16303 all objects with implicit weight 0 (i.e. it's a no-op). 16304 A null preferred scheduling term matches no objects (i.e. 16305 is also a no-op). 16306 properties: 16307 preference: 16308 description: A node selector term, associated with the 16309 corresponding weight. 16310 properties: 16311 matchExpressions: 16312 description: A list of node selector requirements 16313 by node's labels. 16314 items: 16315 description: A node selector requirement is a 16316 selector that contains values, a key, and an 16317 operator that relates the key and values. 16318 properties: 16319 key: 16320 description: The label key that the selector 16321 applies to. 16322 type: string 16323 operator: 16324 description: Represents a key's relationship 16325 to a set of values. Valid operators are 16326 In, NotIn, Exists, DoesNotExist. Gt, and 16327 Lt. 16328 type: string 16329 values: 16330 description: An array of string values. If 16331 the operator is In or NotIn, the values 16332 array must be non-empty. If the operator 16333 is Exists or DoesNotExist, the values array 16334 must be empty. If the operator is Gt or 16335 Lt, the values array must have a single 16336 element, which will be interpreted as an 16337 integer. This array is replaced during a 16338 strategic merge patch. 16339 items: 16340 type: string 16341 type: array 16342 required: 16343 - key 16344 - operator 16345 type: object 16346 type: array 16347 matchFields: 16348 description: A list of node selector requirements 16349 by node's fields. 16350 items: 16351 description: A node selector requirement is a 16352 selector that contains values, a key, and an 16353 operator that relates the key and values. 16354 properties: 16355 key: 16356 description: The label key that the selector 16357 applies to. 16358 type: string 16359 operator: 16360 description: Represents a key's relationship 16361 to a set of values. Valid operators are 16362 In, NotIn, Exists, DoesNotExist. Gt, and 16363 Lt. 16364 type: string 16365 values: 16366 description: An array of string values. If 16367 the operator is In or NotIn, the values 16368 array must be non-empty. If the operator 16369 is Exists or DoesNotExist, the values array 16370 must be empty. If the operator is Gt or 16371 Lt, the values array must have a single 16372 element, which will be interpreted as an 16373 integer. This array is replaced during a 16374 strategic merge patch. 16375 items: 16376 type: string 16377 type: array 16378 required: 16379 - key 16380 - operator 16381 type: object 16382 type: array 16383 type: object 16384 weight: 16385 description: Weight associated with matching the corresponding 16386 nodeSelectorTerm, in the range 1-100. 16387 format: int32 16388 type: integer 16389 required: 16390 - preference 16391 - weight 16392 type: object 16393 type: array 16394 requiredDuringSchedulingIgnoredDuringExecution: 16395 description: If the affinity requirements specified by this 16396 field are not met at scheduling time, the pod will not be 16397 scheduled onto the node. If the affinity requirements specified 16398 by this field cease to be met at some point during pod execution 16399 (e.g. due to an update), the system may or may not try to 16400 eventually evict the pod from its node. 16401 properties: 16402 nodeSelectorTerms: 16403 description: Required. A list of node selector terms. 16404 The terms are ORed. 16405 items: 16406 description: A null or empty node selector term matches 16407 no objects. The requirements of them are ANDed. The 16408 TopologySelectorTerm type implements a subset of the 16409 NodeSelectorTerm. 16410 properties: 16411 matchExpressions: 16412 description: A list of node selector requirements 16413 by node's labels. 16414 items: 16415 description: A node selector requirement is a 16416 selector that contains values, a key, and an 16417 operator that relates the key and values. 16418 properties: 16419 key: 16420 description: The label key that the selector 16421 applies to. 16422 type: string 16423 operator: 16424 description: Represents a key's relationship 16425 to a set of values. Valid operators are 16426 In, NotIn, Exists, DoesNotExist. Gt, and 16427 Lt. 16428 type: string 16429 values: 16430 description: An array of string values. If 16431 the operator is In or NotIn, the values 16432 array must be non-empty. If the operator 16433 is Exists or DoesNotExist, the values array 16434 must be empty. If the operator is Gt or 16435 Lt, the values array must have a single 16436 element, which will be interpreted as an 16437 integer. This array is replaced during a 16438 strategic merge patch. 16439 items: 16440 type: string 16441 type: array 16442 required: 16443 - key 16444 - operator 16445 type: object 16446 type: array 16447 matchFields: 16448 description: A list of node selector requirements 16449 by node's fields. 16450 items: 16451 description: A node selector requirement is a 16452 selector that contains values, a key, and an 16453 operator that relates the key and values. 16454 properties: 16455 key: 16456 description: The label key that the selector 16457 applies to. 16458 type: string 16459 operator: 16460 description: Represents a key's relationship 16461 to a set of values. Valid operators are 16462 In, NotIn, Exists, DoesNotExist. Gt, and 16463 Lt. 16464 type: string 16465 values: 16466 description: An array of string values. If 16467 the operator is In or NotIn, the values 16468 array must be non-empty. If the operator 16469 is Exists or DoesNotExist, the values array 16470 must be empty. If the operator is Gt or 16471 Lt, the values array must have a single 16472 element, which will be interpreted as an 16473 integer. This array is replaced during a 16474 strategic merge patch. 16475 items: 16476 type: string 16477 type: array 16478 required: 16479 - key 16480 - operator 16481 type: object 16482 type: array 16483 type: object 16484 type: array 16485 required: 16486 - nodeSelectorTerms 16487 type: object 16488 type: object 16489 podAffinity: 16490 description: Describes pod affinity scheduling rules (e.g. co-locate 16491 this pod in the same node, zone, etc. as some other pod(s)). 16492 properties: 16493 preferredDuringSchedulingIgnoredDuringExecution: 16494 description: The scheduler will prefer to schedule pods to 16495 nodes that satisfy the affinity expressions specified by 16496 this field, but it may choose a node that violates one or 16497 more of the expressions. The node that is most preferred 16498 is the one with the greatest sum of weights, i.e. for each 16499 node that meets all of the scheduling requirements (resource 16500 request, requiredDuringScheduling affinity expressions, 16501 etc.), compute a sum by iterating through the elements of 16502 this field and adding "weight" to the sum if the node has 16503 pods which matches the corresponding podAffinityTerm; the 16504 node(s) with the highest sum are the most preferred. 16505 items: 16506 description: The weights of all of the matched WeightedPodAffinityTerm 16507 fields are added per-node to find the most preferred node(s) 16508 properties: 16509 podAffinityTerm: 16510 description: Required. A pod affinity term, associated 16511 with the corresponding weight. 16512 properties: 16513 labelSelector: 16514 description: A label query over a set of resources, 16515 in this case pods. 16516 properties: 16517 matchExpressions: 16518 description: matchExpressions is a list of label 16519 selector requirements. The requirements are 16520 ANDed. 16521 items: 16522 description: A label selector requirement 16523 is a selector that contains values, a key, 16524 and an operator that relates the key and 16525 values. 16526 properties: 16527 key: 16528 description: key is the label key that 16529 the selector applies to. 16530 type: string 16531 operator: 16532 description: operator represents a key's 16533 relationship to a set of values. Valid 16534 operators are In, NotIn, Exists and 16535 DoesNotExist. 16536 type: string 16537 values: 16538 description: values is an array of string 16539 values. If the operator is In or NotIn, 16540 the values array must be non-empty. 16541 If the operator is Exists or DoesNotExist, 16542 the values array must be empty. This 16543 array is replaced during a strategic 16544 merge patch. 16545 items: 16546 type: string 16547 type: array 16548 required: 16549 - key 16550 - operator 16551 type: object 16552 type: array 16553 matchLabels: 16554 additionalProperties: 16555 type: string 16556 description: matchLabels is a map of {key,value} 16557 pairs. A single {key,value} in the matchLabels 16558 map is equivalent to an element of matchExpressions, 16559 whose key field is "key", the operator is 16560 "In", and the values array contains only "value". 16561 The requirements are ANDed. 16562 type: object 16563 type: object 16564 namespaces: 16565 description: namespaces specifies which namespaces 16566 the labelSelector applies to (matches against); 16567 null or empty list means "this pod's namespace" 16568 items: 16569 type: string 16570 type: array 16571 topologyKey: 16572 description: This pod should be co-located (affinity) 16573 or not co-located (anti-affinity) with the pods 16574 matching the labelSelector in the specified namespaces, 16575 where co-located is defined as running on a node 16576 whose value of the label with key topologyKey 16577 matches that of any node on which any of the selected 16578 pods is running. Empty topologyKey is not allowed. 16579 type: string 16580 required: 16581 - topologyKey 16582 type: object 16583 weight: 16584 description: weight associated with matching the corresponding 16585 podAffinityTerm, in the range 1-100. 16586 format: int32 16587 type: integer 16588 required: 16589 - podAffinityTerm 16590 - weight 16591 type: object 16592 type: array 16593 requiredDuringSchedulingIgnoredDuringExecution: 16594 description: If the affinity requirements specified by this 16595 field are not met at scheduling time, the pod will not be 16596 scheduled onto the node. If the affinity requirements specified 16597 by this field cease to be met at some point during pod execution 16598 (e.g. due to a pod label update), the system may or may 16599 not try to eventually evict the pod from its node. When 16600 there are multiple elements, the lists of nodes corresponding 16601 to each podAffinityTerm are intersected, i.e. all terms 16602 must be satisfied. 16603 items: 16604 description: Defines a set of pods (namely those matching 16605 the labelSelector relative to the given namespace(s)) 16606 that this pod should be co-located (affinity) or not co-located 16607 (anti-affinity) with, where co-located is defined as running 16608 on a node whose value of the label with key <topologyKey> 16609 matches that of any node on which a pod of the set of 16610 pods is running 16611 properties: 16612 labelSelector: 16613 description: A label query over a set of resources, 16614 in this case pods. 16615 properties: 16616 matchExpressions: 16617 description: matchExpressions is a list of label 16618 selector requirements. The requirements are ANDed. 16619 items: 16620 description: A label selector requirement is a 16621 selector that contains values, a key, and an 16622 operator that relates the key and values. 16623 properties: 16624 key: 16625 description: key is the label key that the 16626 selector applies to. 16627 type: string 16628 operator: 16629 description: operator represents a key's relationship 16630 to a set of values. Valid operators are 16631 In, NotIn, Exists and DoesNotExist. 16632 type: string 16633 values: 16634 description: values is an array of string 16635 values. If the operator is In or NotIn, 16636 the values array must be non-empty. If the 16637 operator is Exists or DoesNotExist, the 16638 values array must be empty. This array is 16639 replaced during a strategic merge patch. 16640 items: 16641 type: string 16642 type: array 16643 required: 16644 - key 16645 - operator 16646 type: object 16647 type: array 16648 matchLabels: 16649 additionalProperties: 16650 type: string 16651 description: matchLabels is a map of {key,value} 16652 pairs. A single {key,value} in the matchLabels 16653 map is equivalent to an element of matchExpressions, 16654 whose key field is "key", the operator is "In", 16655 and the values array contains only "value". The 16656 requirements are ANDed. 16657 type: object 16658 type: object 16659 namespaces: 16660 description: namespaces specifies which namespaces the 16661 labelSelector applies to (matches against); null or 16662 empty list means "this pod's namespace" 16663 items: 16664 type: string 16665 type: array 16666 topologyKey: 16667 description: This pod should be co-located (affinity) 16668 or not co-located (anti-affinity) with the pods matching 16669 the labelSelector in the specified namespaces, where 16670 co-located is defined as running on a node whose value 16671 of the label with key topologyKey matches that of 16672 any node on which any of the selected pods is running. 16673 Empty topologyKey is not allowed. 16674 type: string 16675 required: 16676 - topologyKey 16677 type: object 16678 type: array 16679 type: object 16680 podAntiAffinity: 16681 description: Describes pod anti-affinity scheduling rules (e.g. 16682 avoid putting this pod in the same node, zone, etc. as some 16683 other pod(s)). 16684 properties: 16685 preferredDuringSchedulingIgnoredDuringExecution: 16686 description: The scheduler will prefer to schedule pods to 16687 nodes that satisfy the anti-affinity expressions specified 16688 by this field, but it may choose a node that violates one 16689 or more of the expressions. The node that is most preferred 16690 is the one with the greatest sum of weights, i.e. for each 16691 node that meets all of the scheduling requirements (resource 16692 request, requiredDuringScheduling anti-affinity expressions, 16693 etc.), compute a sum by iterating through the elements of 16694 this field and adding "weight" to the sum if the node has 16695 pods which matches the corresponding podAffinityTerm; the 16696 node(s) with the highest sum are the most preferred. 16697 items: 16698 description: The weights of all of the matched WeightedPodAffinityTerm 16699 fields are added per-node to find the most preferred node(s) 16700 properties: 16701 podAffinityTerm: 16702 description: Required. A pod affinity term, associated 16703 with the corresponding weight. 16704 properties: 16705 labelSelector: 16706 description: A label query over a set of resources, 16707 in this case pods. 16708 properties: 16709 matchExpressions: 16710 description: matchExpressions is a list of label 16711 selector requirements. The requirements are 16712 ANDed. 16713 items: 16714 description: A label selector requirement 16715 is a selector that contains values, a key, 16716 and an operator that relates the key and 16717 values. 16718 properties: 16719 key: 16720 description: key is the label key that 16721 the selector applies to. 16722 type: string 16723 operator: 16724 description: operator represents a key's 16725 relationship to a set of values. Valid 16726 operators are In, NotIn, Exists and 16727 DoesNotExist. 16728 type: string 16729 values: 16730 description: values is an array of string 16731 values. If the operator is In or NotIn, 16732 the values array must be non-empty. 16733 If the operator is Exists or DoesNotExist, 16734 the values array must be empty. This 16735 array is replaced during a strategic 16736 merge patch. 16737 items: 16738 type: string 16739 type: array 16740 required: 16741 - key 16742 - operator 16743 type: object 16744 type: array 16745 matchLabels: 16746 additionalProperties: 16747 type: string 16748 description: matchLabels is a map of {key,value} 16749 pairs. A single {key,value} in the matchLabels 16750 map is equivalent to an element of matchExpressions, 16751 whose key field is "key", the operator is 16752 "In", and the values array contains only "value". 16753 The requirements are ANDed. 16754 type: object 16755 type: object 16756 namespaces: 16757 description: namespaces specifies which namespaces 16758 the labelSelector applies to (matches against); 16759 null or empty list means "this pod's namespace" 16760 items: 16761 type: string 16762 type: array 16763 topologyKey: 16764 description: This pod should be co-located (affinity) 16765 or not co-located (anti-affinity) with the pods 16766 matching the labelSelector in the specified namespaces, 16767 where co-located is defined as running on a node 16768 whose value of the label with key topologyKey 16769 matches that of any node on which any of the selected 16770 pods is running. Empty topologyKey is not allowed. 16771 type: string 16772 required: 16773 - topologyKey 16774 type: object 16775 weight: 16776 description: weight associated with matching the corresponding 16777 podAffinityTerm, in the range 1-100. 16778 format: int32 16779 type: integer 16780 required: 16781 - podAffinityTerm 16782 - weight 16783 type: object 16784 type: array 16785 requiredDuringSchedulingIgnoredDuringExecution: 16786 description: If the anti-affinity requirements specified by 16787 this field are not met at scheduling time, the pod will 16788 not be scheduled onto the node. If the anti-affinity requirements 16789 specified by this field cease to be met at some point during 16790 pod execution (e.g. due to a pod label update), the system 16791 may or may not try to eventually evict the pod from its 16792 node. When there are multiple elements, the lists of nodes 16793 corresponding to each podAffinityTerm are intersected, i.e. 16794 all terms must be satisfied. 16795 items: 16796 description: Defines a set of pods (namely those matching 16797 the labelSelector relative to the given namespace(s)) 16798 that this pod should be co-located (affinity) or not co-located 16799 (anti-affinity) with, where co-located is defined as running 16800 on a node whose value of the label with key <topologyKey> 16801 matches that of any node on which a pod of the set of 16802 pods is running 16803 properties: 16804 labelSelector: 16805 description: A label query over a set of resources, 16806 in this case pods. 16807 properties: 16808 matchExpressions: 16809 description: matchExpressions is a list of label 16810 selector requirements. The requirements are ANDed. 16811 items: 16812 description: A label selector requirement is a 16813 selector that contains values, a key, and an 16814 operator that relates the key and values. 16815 properties: 16816 key: 16817 description: key is the label key that the 16818 selector applies to. 16819 type: string 16820 operator: 16821 description: operator represents a key's relationship 16822 to a set of values. Valid operators are 16823 In, NotIn, Exists and DoesNotExist. 16824 type: string 16825 values: 16826 description: values is an array of string 16827 values. If the operator is In or NotIn, 16828 the values array must be non-empty. If the 16829 operator is Exists or DoesNotExist, the 16830 values array must be empty. This array is 16831 replaced during a strategic merge patch. 16832 items: 16833 type: string 16834 type: array 16835 required: 16836 - key 16837 - operator 16838 type: object 16839 type: array 16840 matchLabels: 16841 additionalProperties: 16842 type: string 16843 description: matchLabels is a map of {key,value} 16844 pairs. A single {key,value} in the matchLabels 16845 map is equivalent to an element of matchExpressions, 16846 whose key field is "key", the operator is "In", 16847 and the values array contains only "value". The 16848 requirements are ANDed. 16849 type: object 16850 type: object 16851 namespaces: 16852 description: namespaces specifies which namespaces the 16853 labelSelector applies to (matches against); null or 16854 empty list means "this pod's namespace" 16855 items: 16856 type: string 16857 type: array 16858 topologyKey: 16859 description: This pod should be co-located (affinity) 16860 or not co-located (anti-affinity) with the pods matching 16861 the labelSelector in the specified namespaces, where 16862 co-located is defined as running on a node whose value 16863 of the label with key topologyKey matches that of 16864 any node on which any of the selected pods is running. 16865 Empty topologyKey is not allowed. 16866 type: string 16867 required: 16868 - topologyKey 16869 type: object 16870 type: array 16871 type: object 16872 type: object 16873 alertDropLabels: 16874 description: AlertDropLabels configure the label names which should 16875 be dropped in ThanosRuler alerts. If `labels` field is not provided, 16876 `thanos_ruler_replica` will be dropped in alerts by default. 16877 items: 16878 type: string 16879 type: array 16880 alertQueryUrl: 16881 description: The external Query URL the Thanos Ruler will set in the 16882 'Source' field of all alerts. Maps to the '--alert.query-url' CLI 16883 arg. 16884 type: string 16885 alertmanagersConfig: 16886 description: Define configuration for connecting to alertmanager. Only 16887 available with thanos v0.10.0 and higher. Maps to the `alertmanagers.config` 16888 arg. 16889 properties: 16890 key: 16891 description: The key of the secret to select from. Must be a 16892 valid secret key. 16893 type: string 16894 name: 16895 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16896 TODO: Add other useful fields. apiVersion, kind, uid?' 16897 type: string 16898 optional: 16899 description: Specify whether the Secret or its key must be defined 16900 type: boolean 16901 required: 16902 - key 16903 type: object 16904 alertmanagersUrl: 16905 description: 'Define URLs to send alerts to Alertmanager. For Thanos 16906 v0.10.0 and higher, AlertManagersConfig should be used instead. Note: 16907 this field will be ignored if AlertManagersConfig is specified. 16908 Maps to the `alertmanagers.url` arg.' 16909 items: 16910 type: string 16911 type: array 16912 containers: 16913 description: 'Containers allows injecting additional containers or 16914 modifying operator generated containers. This can be used to allow 16915 adding an authentication proxy to a ThanosRuler pod or to change 16916 the behavior of an operator generated container. Containers described 16917 here modify an operator generated container if they share the same 16918 name and modifications are done via a strategic merge patch. The 16919 current container names are: `thanos-ruler` and `config-reloader`. 16920 Overriding containers is entirely outside the scope of what the 16921 maintainers will support and by doing so, you accept that this behaviour 16922 may break at any time without notice.' 16923 items: 16924 description: A single application container that you want to run 16925 within a pod. 16926 properties: 16927 args: 16928 description: 'Arguments to the entrypoint. The docker image''s 16929 CMD is used if this is not provided. Variable references $(VAR_NAME) 16930 are expanded using the container''s environment. If a variable 16931 cannot be resolved, the reference in the input string will 16932 be unchanged. The $(VAR_NAME) syntax can be escaped with a 16933 double $$, ie: $$(VAR_NAME). Escaped references will never 16934 be expanded, regardless of whether the variable exists or 16935 not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 16936 items: 16937 type: string 16938 type: array 16939 command: 16940 description: 'Entrypoint array. Not executed within a shell. 16941 The docker image''s ENTRYPOINT is used if this is not provided. 16942 Variable references $(VAR_NAME) are expanded using the container''s 16943 environment. If a variable cannot be resolved, the reference 16944 in the input string will be unchanged. The $(VAR_NAME) syntax 16945 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 16946 references will never be expanded, regardless of whether the 16947 variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 16948 items: 16949 type: string 16950 type: array 16951 env: 16952 description: List of environment variables to set in the container. 16953 Cannot be updated. 16954 items: 16955 description: EnvVar represents an environment variable present 16956 in a Container. 16957 properties: 16958 name: 16959 description: Name of the environment variable. Must be 16960 a C_IDENTIFIER. 16961 type: string 16962 value: 16963 description: 'Variable references $(VAR_NAME) are expanded 16964 using the previous defined environment variables in 16965 the container and any service environment variables. 16966 If a variable cannot be resolved, the reference in the 16967 input string will be unchanged. The $(VAR_NAME) syntax 16968 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 16969 references will never be expanded, regardless of whether 16970 the variable exists or not. Defaults to "".' 16971 type: string 16972 valueFrom: 16973 description: Source for the environment variable's value. 16974 Cannot be used if value is not empty. 16975 properties: 16976 configMapKeyRef: 16977 description: Selects a key of a ConfigMap. 16978 properties: 16979 key: 16980 description: The key to select. 16981 type: string 16982 name: 16983 description: 'Name of the referent. More info: 16984 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 16985 TODO: Add other useful fields. apiVersion, kind, 16986 uid?' 16987 type: string 16988 optional: 16989 description: Specify whether the ConfigMap or 16990 its key must be defined 16991 type: boolean 16992 required: 16993 - key 16994 type: object 16995 fieldRef: 16996 description: 'Selects a field of the pod: supports 16997 metadata.name, metadata.namespace, metadata.labels, 16998 metadata.annotations, spec.nodeName, spec.serviceAccountName, 16999 status.hostIP, status.podIP, status.podIPs.' 17000 properties: 17001 apiVersion: 17002 description: Version of the schema the FieldPath 17003 is written in terms of, defaults to "v1". 17004 type: string 17005 fieldPath: 17006 description: Path of the field to select in the 17007 specified API version. 17008 type: string 17009 required: 17010 - fieldPath 17011 type: object 17012 resourceFieldRef: 17013 description: 'Selects a resource of the container: 17014 only resources limits and requests (limits.cpu, 17015 limits.memory, limits.ephemeral-storage, requests.cpu, 17016 requests.memory and requests.ephemeral-storage) 17017 are currently supported.' 17018 properties: 17019 containerName: 17020 description: 'Container name: required for volumes, 17021 optional for env vars' 17022 type: string 17023 divisor: 17024 anyOf: 17025 - type: integer 17026 - type: string 17027 description: Specifies the output format of the 17028 exposed resources, defaults to "1" 17029 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 17030 x-kubernetes-int-or-string: true 17031 resource: 17032 description: 'Required: resource to select' 17033 type: string 17034 required: 17035 - resource 17036 type: object 17037 secretKeyRef: 17038 description: Selects a key of a secret in the pod's 17039 namespace 17040 properties: 17041 key: 17042 description: The key of the secret to select from. Must 17043 be a valid secret key. 17044 type: string 17045 name: 17046 description: 'Name of the referent. More info: 17047 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17048 TODO: Add other useful fields. apiVersion, kind, 17049 uid?' 17050 type: string 17051 optional: 17052 description: Specify whether the Secret or its 17053 key must be defined 17054 type: boolean 17055 required: 17056 - key 17057 type: object 17058 type: object 17059 required: 17060 - name 17061 type: object 17062 type: array 17063 envFrom: 17064 description: List of sources to populate environment variables 17065 in the container. The keys defined within a source must be 17066 a C_IDENTIFIER. All invalid keys will be reported as an event 17067 when the container is starting. When a key exists in multiple 17068 sources, the value associated with the last source will take 17069 precedence. Values defined by an Env with a duplicate key 17070 will take precedence. Cannot be updated. 17071 items: 17072 description: EnvFromSource represents the source of a set 17073 of ConfigMaps 17074 properties: 17075 configMapRef: 17076 description: The ConfigMap to select from 17077 properties: 17078 name: 17079 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17080 TODO: Add other useful fields. apiVersion, kind, 17081 uid?' 17082 type: string 17083 optional: 17084 description: Specify whether the ConfigMap must be 17085 defined 17086 type: boolean 17087 type: object 17088 prefix: 17089 description: An optional identifier to prepend to each 17090 key in the ConfigMap. Must be a C_IDENTIFIER. 17091 type: string 17092 secretRef: 17093 description: The Secret to select from 17094 properties: 17095 name: 17096 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 17097 TODO: Add other useful fields. apiVersion, kind, 17098 uid?' 17099 type: string 17100 optional: 17101 description: Specify whether the Secret must be defined 17102 type: boolean 17103 type: object 17104 type: object 17105 type: array 17106 image: 17107 description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images 17108 This field is optional to allow higher level config management 17109 to default or override container images in workload controllers 17110 like Deployments and StatefulSets.' 17111 type: string 17112 imagePullPolicy: 17113 description: 'Image pull policy. One of Always, Never, IfNotPresent. 17114 Defaults to Always if :latest tag is specified, or IfNotPresent 17115 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 17116 type: string 17117 lifecycle: 17118 description: Actions that the management system should take 17119 in response to container lifecycle events. Cannot be updated. 17120 properties: 17121 postStart: 17122 description: 'PostStart is called immediately after a container 17123 is created. If the handler fails, the container is terminated 17124 and restarted according to its restart policy. Other management 17125 of the container blocks until the hook completes. More 17126 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 17127 properties: 17128 exec: 17129 description: One and only one of the following should 17130 be specified. Exec specifies the action to take. 17131 properties: 17132 command: 17133 description: Command is the command line to execute 17134 inside the container, the working directory for 17135 the command is root ('/') in the container's 17136 filesystem. The command is simply exec'd, it is 17137 not run inside a shell, so traditional shell instructions 17138 ('|', etc) won't work. To use a shell, you need 17139 to explicitly call out to that shell. Exit status 17140 of 0 is treated as live/healthy and non-zero is 17141 unhealthy. 17142 items: 17143 type: string 17144 type: array 17145 type: object 17146 httpGet: 17147 description: HTTPGet specifies the http request to perform. 17148 properties: 17149 host: 17150 description: Host name to connect to, defaults to 17151 the pod IP. You probably want to set "Host" in 17152 httpHeaders instead. 17153 type: string 17154 httpHeaders: 17155 description: Custom headers to set in the request. 17156 HTTP allows repeated headers. 17157 items: 17158 description: HTTPHeader describes a custom header 17159 to be used in HTTP probes 17160 properties: 17161 name: 17162 description: The header field name 17163 type: string 17164 value: 17165 description: The header field value 17166 type: string 17167 required: 17168 - name 17169 - value 17170 type: object 17171 type: array 17172 path: 17173 description: Path to access on the HTTP server. 17174 type: string 17175 port: 17176 anyOf: 17177 - type: integer 17178 - type: string 17179 description: Name or number of the port to access 17180 on the container. Number must be in the range 17181 1 to 65535. Name must be an IANA_SVC_NAME. 17182 x-kubernetes-int-or-string: true 17183 scheme: 17184 description: Scheme to use for connecting to the 17185 host. Defaults to HTTP. 17186 type: string 17187 required: 17188 - port 17189 type: object 17190 tcpSocket: 17191 description: 'TCPSocket specifies an action involving 17192 a TCP port. TCP hooks not yet supported TODO: implement 17193 a realistic TCP lifecycle hook' 17194 properties: 17195 host: 17196 description: 'Optional: Host name to connect to, 17197 defaults to the pod IP.' 17198 type: string 17199 port: 17200 anyOf: 17201 - type: integer 17202 - type: string 17203 description: Number or name of the port to access 17204 on the container. Number must be in the range 17205 1 to 65535. Name must be an IANA_SVC_NAME. 17206 x-kubernetes-int-or-string: true 17207 required: 17208 - port 17209 type: object 17210 type: object 17211 preStop: 17212 description: 'PreStop is called immediately before a container 17213 is terminated due to an API request or management event 17214 such as liveness/startup probe failure, preemption, resource 17215 contention, etc. The handler is not called if the container 17216 crashes or exits. The reason for termination is passed 17217 to the handler. The Pod''s termination grace period countdown 17218 begins before the PreStop hooked is executed. Regardless 17219 of the outcome of the handler, the container will eventually 17220 terminate within the Pod''s termination grace period. 17221 Other management of the container blocks until the hook 17222 completes or until the termination grace period is reached. 17223 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 17224 properties: 17225 exec: 17226 description: One and only one of the following should 17227 be specified. Exec specifies the action to take. 17228 properties: 17229 command: 17230 description: Command is the command line to execute 17231 inside the container, the working directory for 17232 the command is root ('/') in the container's 17233 filesystem. The command is simply exec'd, it is 17234 not run inside a shell, so traditional shell instructions 17235 ('|', etc) won't work. To use a shell, you need 17236 to explicitly call out to that shell. Exit status 17237 of 0 is treated as live/healthy and non-zero is 17238 unhealthy. 17239 items: 17240 type: string 17241 type: array 17242 type: object 17243 httpGet: 17244 description: HTTPGet specifies the http request to perform. 17245 properties: 17246 host: 17247 description: Host name to connect to, defaults to 17248 the pod IP. You probably want to set "Host" in 17249 httpHeaders instead. 17250 type: string 17251 httpHeaders: 17252 description: Custom headers to set in the request. 17253 HTTP allows repeated headers. 17254 items: 17255 description: HTTPHeader describes a custom header 17256 to be used in HTTP probes 17257 properties: 17258 name: 17259 description: The header field name 17260 type: string 17261 value: 17262 description: The header field value 17263 type: string 17264 required: 17265 - name 17266 - value 17267 type: object 17268 type: array 17269 path: 17270 description: Path to access on the HTTP server. 17271 type: string 17272 port: 17273 anyOf: 17274 - type: integer 17275 - type: string 17276 description: Name or number of the port to access 17277 on the container. Number must be in the range 17278 1 to 65535. Name must be an IANA_SVC_NAME. 17279 x-kubernetes-int-or-string: true 17280 scheme: 17281 description: Scheme to use for connecting to the 17282 host. Defaults to HTTP. 17283 type: string 17284 required: 17285 - port 17286 type: object 17287 tcpSocket: 17288 description: 'TCPSocket specifies an action involving 17289 a TCP port. TCP hooks not yet supported TODO: implement 17290 a realistic TCP lifecycle hook' 17291 properties: 17292 host: 17293 description: 'Optional: Host name to connect to, 17294 defaults to the pod IP.' 17295 type: string 17296 port: 17297 anyOf: 17298 - type: integer 17299 - type: string 17300 description: Number or name of the port to access 17301 on the container. Number must be in the range 17302 1 to 65535. Name must be an IANA_SVC_NAME. 17303 x-kubernetes-int-or-string: true 17304 required: 17305 - port 17306 type: object 17307 type: object 17308 type: object 17309 livenessProbe: 17310 description: 'Periodic probe of container liveness. Container 17311 will be restarted if the probe fails. Cannot be updated. More 17312 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17313 properties: 17314 exec: 17315 description: One and only one of the following should be 17316 specified. Exec specifies the action to take. 17317 properties: 17318 command: 17319 description: Command is the command line to execute 17320 inside the container, the working directory for the 17321 command is root ('/') in the container's filesystem. 17322 The command is simply exec'd, it is not run inside 17323 a shell, so traditional shell instructions ('|', etc) 17324 won't work. To use a shell, you need to explicitly 17325 call out to that shell. Exit status of 0 is treated 17326 as live/healthy and non-zero is unhealthy. 17327 items: 17328 type: string 17329 type: array 17330 type: object 17331 failureThreshold: 17332 description: Minimum consecutive failures for the probe 17333 to be considered failed after having succeeded. Defaults 17334 to 3. Minimum value is 1. 17335 format: int32 17336 type: integer 17337 httpGet: 17338 description: HTTPGet specifies the http request to perform. 17339 properties: 17340 host: 17341 description: Host name to connect to, defaults to the 17342 pod IP. You probably want to set "Host" in httpHeaders 17343 instead. 17344 type: string 17345 httpHeaders: 17346 description: Custom headers to set in the request. HTTP 17347 allows repeated headers. 17348 items: 17349 description: HTTPHeader describes a custom header 17350 to be used in HTTP probes 17351 properties: 17352 name: 17353 description: The header field name 17354 type: string 17355 value: 17356 description: The header field value 17357 type: string 17358 required: 17359 - name 17360 - value 17361 type: object 17362 type: array 17363 path: 17364 description: Path to access on the HTTP server. 17365 type: string 17366 port: 17367 anyOf: 17368 - type: integer 17369 - type: string 17370 description: Name or number of the port to access on 17371 the container. Number must be in the range 1 to 65535. 17372 Name must be an IANA_SVC_NAME. 17373 x-kubernetes-int-or-string: true 17374 scheme: 17375 description: Scheme to use for connecting to the host. 17376 Defaults to HTTP. 17377 type: string 17378 required: 17379 - port 17380 type: object 17381 initialDelaySeconds: 17382 description: 'Number of seconds after the container has 17383 started before liveness probes are initiated. More info: 17384 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17385 format: int32 17386 type: integer 17387 periodSeconds: 17388 description: How often (in seconds) to perform the probe. 17389 Default to 10 seconds. Minimum value is 1. 17390 format: int32 17391 type: integer 17392 successThreshold: 17393 description: Minimum consecutive successes for the probe 17394 to be considered successful after having failed. Defaults 17395 to 1. Must be 1 for liveness and startup. Minimum value 17396 is 1. 17397 format: int32 17398 type: integer 17399 tcpSocket: 17400 description: 'TCPSocket specifies an action involving a 17401 TCP port. TCP hooks not yet supported TODO: implement 17402 a realistic TCP lifecycle hook' 17403 properties: 17404 host: 17405 description: 'Optional: Host name to connect to, defaults 17406 to the pod IP.' 17407 type: string 17408 port: 17409 anyOf: 17410 - type: integer 17411 - type: string 17412 description: Number or name of the port to access on 17413 the container. Number must be in the range 1 to 65535. 17414 Name must be an IANA_SVC_NAME. 17415 x-kubernetes-int-or-string: true 17416 required: 17417 - port 17418 type: object 17419 timeoutSeconds: 17420 description: 'Number of seconds after which the probe times 17421 out. Defaults to 1 second. Minimum value is 1. More info: 17422 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17423 format: int32 17424 type: integer 17425 type: object 17426 name: 17427 description: Name of the container specified as a DNS_LABEL. 17428 Each container in a pod must have a unique name (DNS_LABEL). 17429 Cannot be updated. 17430 type: string 17431 ports: 17432 description: List of ports to expose from the container. Exposing 17433 a port here gives the system additional information about 17434 the network connections a container uses, but is primarily 17435 informational. Not specifying a port here DOES NOT prevent 17436 that port from being exposed. Any port which is listening 17437 on the default "0.0.0.0" address inside a container will be 17438 accessible from the network. Cannot be updated. 17439 items: 17440 description: ContainerPort represents a network port in a 17441 single container. 17442 properties: 17443 containerPort: 17444 description: Number of port to expose on the pod's IP 17445 address. This must be a valid port number, 0 < x < 65536. 17446 format: int32 17447 type: integer 17448 hostIP: 17449 description: What host IP to bind the external port to. 17450 type: string 17451 hostPort: 17452 description: Number of port to expose on the host. If 17453 specified, this must be a valid port number, 0 < x < 17454 65536. If HostNetwork is specified, this must match 17455 ContainerPort. Most containers do not need this. 17456 format: int32 17457 type: integer 17458 name: 17459 description: If specified, this must be an IANA_SVC_NAME 17460 and unique within the pod. Each named port in a pod 17461 must have a unique name. Name for the port that can 17462 be referred to by services. 17463 type: string 17464 protocol: 17465 default: TCP 17466 description: Protocol for port. Must be UDP, TCP, or SCTP. 17467 Defaults to "TCP". 17468 type: string 17469 required: 17470 - containerPort 17471 type: object 17472 type: array 17473 x-kubernetes-list-map-keys: 17474 - containerPort 17475 - protocol 17476 x-kubernetes-list-type: map 17477 readinessProbe: 17478 description: 'Periodic probe of container service readiness. 17479 Container will be removed from service endpoints if the probe 17480 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17481 properties: 17482 exec: 17483 description: One and only one of the following should be 17484 specified. Exec specifies the action to take. 17485 properties: 17486 command: 17487 description: Command is the command line to execute 17488 inside the container, the working directory for the 17489 command is root ('/') in the container's filesystem. 17490 The command is simply exec'd, it is not run inside 17491 a shell, so traditional shell instructions ('|', etc) 17492 won't work. To use a shell, you need to explicitly 17493 call out to that shell. Exit status of 0 is treated 17494 as live/healthy and non-zero is unhealthy. 17495 items: 17496 type: string 17497 type: array 17498 type: object 17499 failureThreshold: 17500 description: Minimum consecutive failures for the probe 17501 to be considered failed after having succeeded. Defaults 17502 to 3. Minimum value is 1. 17503 format: int32 17504 type: integer 17505 httpGet: 17506 description: HTTPGet specifies the http request to perform. 17507 properties: 17508 host: 17509 description: Host name to connect to, defaults to the 17510 pod IP. You probably want to set "Host" in httpHeaders 17511 instead. 17512 type: string 17513 httpHeaders: 17514 description: Custom headers to set in the request. HTTP 17515 allows repeated headers. 17516 items: 17517 description: HTTPHeader describes a custom header 17518 to be used in HTTP probes 17519 properties: 17520 name: 17521 description: The header field name 17522 type: string 17523 value: 17524 description: The header field value 17525 type: string 17526 required: 17527 - name 17528 - value 17529 type: object 17530 type: array 17531 path: 17532 description: Path to access on the HTTP server. 17533 type: string 17534 port: 17535 anyOf: 17536 - type: integer 17537 - type: string 17538 description: Name or number of the port to access on 17539 the container. Number must be in the range 1 to 65535. 17540 Name must be an IANA_SVC_NAME. 17541 x-kubernetes-int-or-string: true 17542 scheme: 17543 description: Scheme to use for connecting to the host. 17544 Defaults to HTTP. 17545 type: string 17546 required: 17547 - port 17548 type: object 17549 initialDelaySeconds: 17550 description: 'Number of seconds after the container has 17551 started before liveness probes are initiated. More info: 17552 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17553 format: int32 17554 type: integer 17555 periodSeconds: 17556 description: How often (in seconds) to perform the probe. 17557 Default to 10 seconds. Minimum value is 1. 17558 format: int32 17559 type: integer 17560 successThreshold: 17561 description: Minimum consecutive successes for the probe 17562 to be considered successful after having failed. Defaults 17563 to 1. Must be 1 for liveness and startup. Minimum value 17564 is 1. 17565 format: int32 17566 type: integer 17567 tcpSocket: 17568 description: 'TCPSocket specifies an action involving a 17569 TCP port. TCP hooks not yet supported TODO: implement 17570 a realistic TCP lifecycle hook' 17571 properties: 17572 host: 17573 description: 'Optional: Host name to connect to, defaults 17574 to the pod IP.' 17575 type: string 17576 port: 17577 anyOf: 17578 - type: integer 17579 - type: string 17580 description: Number or name of the port to access on 17581 the container. Number must be in the range 1 to 65535. 17582 Name must be an IANA_SVC_NAME. 17583 x-kubernetes-int-or-string: true 17584 required: 17585 - port 17586 type: object 17587 timeoutSeconds: 17588 description: 'Number of seconds after which the probe times 17589 out. Defaults to 1 second. Minimum value is 1. More info: 17590 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17591 format: int32 17592 type: integer 17593 type: object 17594 resources: 17595 description: 'Compute Resources required by this container. 17596 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 17597 properties: 17598 limits: 17599 additionalProperties: 17600 anyOf: 17601 - type: integer 17602 - type: string 17603 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 17604 x-kubernetes-int-or-string: true 17605 description: 'Limits describes the maximum amount of compute 17606 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 17607 type: object 17608 requests: 17609 additionalProperties: 17610 anyOf: 17611 - type: integer 17612 - type: string 17613 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 17614 x-kubernetes-int-or-string: true 17615 description: 'Requests describes the minimum amount of compute 17616 resources required. If Requests is omitted for a container, 17617 it defaults to Limits if that is explicitly specified, 17618 otherwise to an implementation-defined value. More info: 17619 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 17620 type: object 17621 type: object 17622 securityContext: 17623 description: 'Security options the pod should run with. More 17624 info: https://kubernetes.io/docs/concepts/policy/security-context/ 17625 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 17626 properties: 17627 allowPrivilegeEscalation: 17628 description: 'AllowPrivilegeEscalation controls whether 17629 a process can gain more privileges than its parent process. 17630 This bool directly controls if the no_new_privs flag will 17631 be set on the container process. AllowPrivilegeEscalation 17632 is true always when the container is: 1) run as Privileged 17633 2) has CAP_SYS_ADMIN' 17634 type: boolean 17635 capabilities: 17636 description: The capabilities to add/drop when running containers. 17637 Defaults to the default set of capabilities granted by 17638 the container runtime. 17639 properties: 17640 add: 17641 description: Added capabilities 17642 items: 17643 description: Capability represent POSIX capabilities 17644 type 17645 type: string 17646 type: array 17647 drop: 17648 description: Removed capabilities 17649 items: 17650 description: Capability represent POSIX capabilities 17651 type 17652 type: string 17653 type: array 17654 type: object 17655 privileged: 17656 description: Run container in privileged mode. Processes 17657 in privileged containers are essentially equivalent to 17658 root on the host. Defaults to false. 17659 type: boolean 17660 procMount: 17661 description: procMount denotes the type of proc mount to 17662 use for the containers. The default is DefaultProcMount 17663 which uses the container runtime defaults for readonly 17664 paths and masked paths. This requires the ProcMountType 17665 feature flag to be enabled. 17666 type: string 17667 readOnlyRootFilesystem: 17668 description: Whether this container has a read-only root 17669 filesystem. Default is false. 17670 type: boolean 17671 runAsGroup: 17672 description: The GID to run the entrypoint of the container 17673 process. Uses runtime default if unset. May also be set 17674 in PodSecurityContext. If set in both SecurityContext 17675 and PodSecurityContext, the value specified in SecurityContext 17676 takes precedence. 17677 format: int64 17678 type: integer 17679 runAsNonRoot: 17680 description: Indicates that the container must run as a 17681 non-root user. If true, the Kubelet will validate the 17682 image at runtime to ensure that it does not run as UID 17683 0 (root) and fail to start the container if it does. If 17684 unset or false, no such validation will be performed. 17685 May also be set in PodSecurityContext. If set in both 17686 SecurityContext and PodSecurityContext, the value specified 17687 in SecurityContext takes precedence. 17688 type: boolean 17689 runAsUser: 17690 description: The UID to run the entrypoint of the container 17691 process. Defaults to user specified in image metadata 17692 if unspecified. May also be set in PodSecurityContext. If 17693 set in both SecurityContext and PodSecurityContext, the 17694 value specified in SecurityContext takes precedence. 17695 format: int64 17696 type: integer 17697 seLinuxOptions: 17698 description: The SELinux context to be applied to the container. 17699 If unspecified, the container runtime will allocate a 17700 random SELinux context for each container. May also be 17701 set in PodSecurityContext. If set in both SecurityContext 17702 and PodSecurityContext, the value specified in SecurityContext 17703 takes precedence. 17704 properties: 17705 level: 17706 description: Level is SELinux level label that applies 17707 to the container. 17708 type: string 17709 role: 17710 description: Role is a SELinux role label that applies 17711 to the container. 17712 type: string 17713 type: 17714 description: Type is a SELinux type label that applies 17715 to the container. 17716 type: string 17717 user: 17718 description: User is a SELinux user label that applies 17719 to the container. 17720 type: string 17721 type: object 17722 windowsOptions: 17723 description: The Windows specific settings applied to all 17724 containers. If unspecified, the options from the PodSecurityContext 17725 will be used. If set in both SecurityContext and PodSecurityContext, 17726 the value specified in SecurityContext takes precedence. 17727 properties: 17728 gmsaCredentialSpec: 17729 description: GMSACredentialSpec is where the GMSA admission 17730 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 17731 inlines the contents of the GMSA credential spec named 17732 by the GMSACredentialSpecName field. 17733 type: string 17734 gmsaCredentialSpecName: 17735 description: GMSACredentialSpecName is the name of the 17736 GMSA credential spec to use. 17737 type: string 17738 runAsUserName: 17739 description: The UserName in Windows to run the entrypoint 17740 of the container process. Defaults to the user specified 17741 in image metadata if unspecified. May also be set 17742 in PodSecurityContext. If set in both SecurityContext 17743 and PodSecurityContext, the value specified in SecurityContext 17744 takes precedence. 17745 type: string 17746 type: object 17747 type: object 17748 startupProbe: 17749 description: 'StartupProbe indicates that the Pod has successfully 17750 initialized. If specified, no other probes are executed until 17751 this completes successfully. If this probe fails, the Pod 17752 will be restarted, just as if the livenessProbe failed. This 17753 can be used to provide different probe parameters at the beginning 17754 of a Pod''s lifecycle, when it might take a long time to load 17755 data or warm a cache, than during steady-state operation. 17756 This cannot be updated. This is a beta feature enabled by 17757 the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17758 properties: 17759 exec: 17760 description: One and only one of the following should be 17761 specified. Exec specifies the action to take. 17762 properties: 17763 command: 17764 description: Command is the command line to execute 17765 inside the container, the working directory for the 17766 command is root ('/') in the container's filesystem. 17767 The command is simply exec'd, it is not run inside 17768 a shell, so traditional shell instructions ('|', etc) 17769 won't work. To use a shell, you need to explicitly 17770 call out to that shell. Exit status of 0 is treated 17771 as live/healthy and non-zero is unhealthy. 17772 items: 17773 type: string 17774 type: array 17775 type: object 17776 failureThreshold: 17777 description: Minimum consecutive failures for the probe 17778 to be considered failed after having succeeded. Defaults 17779 to 3. Minimum value is 1. 17780 format: int32 17781 type: integer 17782 httpGet: 17783 description: HTTPGet specifies the http request to perform. 17784 properties: 17785 host: 17786 description: Host name to connect to, defaults to the 17787 pod IP. You probably want to set "Host" in httpHeaders 17788 instead. 17789 type: string 17790 httpHeaders: 17791 description: Custom headers to set in the request. HTTP 17792 allows repeated headers. 17793 items: 17794 description: HTTPHeader describes a custom header 17795 to be used in HTTP probes 17796 properties: 17797 name: 17798 description: The header field name 17799 type: string 17800 value: 17801 description: The header field value 17802 type: string 17803 required: 17804 - name 17805 - value 17806 type: object 17807 type: array 17808 path: 17809 description: Path to access on the HTTP server. 17810 type: string 17811 port: 17812 anyOf: 17813 - type: integer 17814 - type: string 17815 description: Name or number of the port to access on 17816 the container. Number must be in the range 1 to 65535. 17817 Name must be an IANA_SVC_NAME. 17818 x-kubernetes-int-or-string: true 17819 scheme: 17820 description: Scheme to use for connecting to the host. 17821 Defaults to HTTP. 17822 type: string 17823 required: 17824 - port 17825 type: object 17826 initialDelaySeconds: 17827 description: 'Number of seconds after the container has 17828 started before liveness probes are initiated. More info: 17829 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17830 format: int32 17831 type: integer 17832 periodSeconds: 17833 description: How often (in seconds) to perform the probe. 17834 Default to 10 seconds. Minimum value is 1. 17835 format: int32 17836 type: integer 17837 successThreshold: 17838 description: Minimum consecutive successes for the probe 17839 to be considered successful after having failed. Defaults 17840 to 1. Must be 1 for liveness and startup. Minimum value 17841 is 1. 17842 format: int32 17843 type: integer 17844 tcpSocket: 17845 description: 'TCPSocket specifies an action involving a 17846 TCP port. TCP hooks not yet supported TODO: implement 17847 a realistic TCP lifecycle hook' 17848 properties: 17849 host: 17850 description: 'Optional: Host name to connect to, defaults 17851 to the pod IP.' 17852 type: string 17853 port: 17854 anyOf: 17855 - type: integer 17856 - type: string 17857 description: Number or name of the port to access on 17858 the container. Number must be in the range 1 to 65535. 17859 Name must be an IANA_SVC_NAME. 17860 x-kubernetes-int-or-string: true 17861 required: 17862 - port 17863 type: object 17864 timeoutSeconds: 17865 description: 'Number of seconds after which the probe times 17866 out. Defaults to 1 second. Minimum value is 1. More info: 17867 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 17868 format: int32 17869 type: integer 17870 type: object 17871 stdin: 17872 description: Whether this container should allocate a buffer 17873 for stdin in the container runtime. If this is not set, reads 17874 from stdin in the container will always result in EOF. Default 17875 is false. 17876 type: boolean 17877 stdinOnce: 17878 description: Whether the container runtime should close the 17879 stdin channel after it has been opened by a single attach. 17880 When stdin is true the stdin stream will remain open across 17881 multiple attach sessions. If stdinOnce is set to true, stdin 17882 is opened on container start, is empty until the first client 17883 attaches to stdin, and then remains open and accepts data 17884 until the client disconnects, at which time stdin is closed 17885 and remains closed until the container is restarted. If this 17886 flag is false, a container processes that reads from stdin 17887 will never receive an EOF. Default is false 17888 type: boolean 17889 terminationMessagePath: 17890 description: 'Optional: Path at which the file to which the 17891 container''s termination message will be written is mounted 17892 into the container''s filesystem. Message written is intended 17893 to be brief final status, such as an assertion failure message. 17894 Will be truncated by the node if greater than 4096 bytes. 17895 The total message length across all containers will be limited 17896 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 17897 type: string 17898 terminationMessagePolicy: 17899 description: Indicate how the termination message should be 17900 populated. File will use the contents of terminationMessagePath 17901 to populate the container status message on both success and 17902 failure. FallbackToLogsOnError will use the last chunk of 17903 container log output if the termination message file is empty 17904 and the container exited with an error. The log output is 17905 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 17906 to File. Cannot be updated. 17907 type: string 17908 tty: 17909 description: Whether this container should allocate a TTY for 17910 itself, also requires 'stdin' to be true. Default is false. 17911 type: boolean 17912 volumeDevices: 17913 description: volumeDevices is the list of block devices to be 17914 used by the container. 17915 items: 17916 description: volumeDevice describes a mapping of a raw block 17917 device within a container. 17918 properties: 17919 devicePath: 17920 description: devicePath is the path inside of the container 17921 that the device will be mapped to. 17922 type: string 17923 name: 17924 description: name must match the name of a persistentVolumeClaim 17925 in the pod 17926 type: string 17927 required: 17928 - devicePath 17929 - name 17930 type: object 17931 type: array 17932 volumeMounts: 17933 description: Pod volumes to mount into the container's filesystem. 17934 Cannot be updated. 17935 items: 17936 description: VolumeMount describes a mounting of a Volume 17937 within a container. 17938 properties: 17939 mountPath: 17940 description: Path within the container at which the volume 17941 should be mounted. Must not contain ':'. 17942 type: string 17943 mountPropagation: 17944 description: mountPropagation determines how mounts are 17945 propagated from the host to container and the other 17946 way around. When not set, MountPropagationNone is used. 17947 This field is beta in 1.10. 17948 type: string 17949 name: 17950 description: This must match the Name of a Volume. 17951 type: string 17952 readOnly: 17953 description: Mounted read-only if true, read-write otherwise 17954 (false or unspecified). Defaults to false. 17955 type: boolean 17956 subPath: 17957 description: Path within the volume from which the container's 17958 volume should be mounted. Defaults to "" (volume's root). 17959 type: string 17960 subPathExpr: 17961 description: Expanded path within the volume from which 17962 the container's volume should be mounted. Behaves similarly 17963 to SubPath but environment variable references $(VAR_NAME) 17964 are expanded using the container's environment. Defaults 17965 to "" (volume's root). SubPathExpr and SubPath are mutually 17966 exclusive. 17967 type: string 17968 required: 17969 - mountPath 17970 - name 17971 type: object 17972 type: array 17973 workingDir: 17974 description: Container's working directory. If not specified, 17975 the container runtime's default will be used, which might 17976 be configured in the container image. Cannot be updated. 17977 type: string 17978 required: 17979 - name 17980 type: object 17981 type: array 17982 enforcedNamespaceLabel: 17983 description: EnforcedNamespaceLabel enforces adding a namespace label 17984 of origin for each alert and metric that is user created. The label 17985 value will always be the namespace of the object that is being created. 17986 type: string 17987 evaluationInterval: 17988 description: Interval between consecutive evaluations. 17989 type: string 17990 externalPrefix: 17991 description: The external URL the Thanos Ruler instances will be available 17992 under. This is necessary to generate correct URLs. This is necessary 17993 if Thanos Ruler is not served from root of a DNS name. 17994 type: string 17995 grpcServerTlsConfig: 17996 description: 'GRPCServerTLSConfig configures the gRPC server from 17997 which Thanos Querier reads recorded rule data. Note: Currently only 17998 the CAFile, CertFile, and KeyFile fields are supported. Maps to 17999 the ''--grpc-server-tls-*'' CLI args.' 18000 properties: 18001 ca: 18002 description: Struct containing the CA cert to use for the targets. 18003 properties: 18004 configMap: 18005 description: ConfigMap containing data to use for the targets. 18006 properties: 18007 key: 18008 description: The key to select. 18009 type: string 18010 name: 18011 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18012 TODO: Add other useful fields. apiVersion, kind, uid?' 18013 type: string 18014 optional: 18015 description: Specify whether the ConfigMap or its key 18016 must be defined 18017 type: boolean 18018 required: 18019 - key 18020 type: object 18021 secret: 18022 description: Secret containing data to use for the targets. 18023 properties: 18024 key: 18025 description: The key of the secret to select from. Must 18026 be a valid secret key. 18027 type: string 18028 name: 18029 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18030 TODO: Add other useful fields. apiVersion, kind, uid?' 18031 type: string 18032 optional: 18033 description: Specify whether the Secret or its key must 18034 be defined 18035 type: boolean 18036 required: 18037 - key 18038 type: object 18039 type: object 18040 caFile: 18041 description: Path to the CA cert in the Prometheus container to 18042 use for the targets. 18043 type: string 18044 cert: 18045 description: Struct containing the client cert file for the targets. 18046 properties: 18047 configMap: 18048 description: ConfigMap containing data to use for the targets. 18049 properties: 18050 key: 18051 description: The key to select. 18052 type: string 18053 name: 18054 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18055 TODO: Add other useful fields. apiVersion, kind, uid?' 18056 type: string 18057 optional: 18058 description: Specify whether the ConfigMap or its key 18059 must be defined 18060 type: boolean 18061 required: 18062 - key 18063 type: object 18064 secret: 18065 description: Secret containing data to use for the targets. 18066 properties: 18067 key: 18068 description: The key of the secret to select from. Must 18069 be a valid secret key. 18070 type: string 18071 name: 18072 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18073 TODO: Add other useful fields. apiVersion, kind, uid?' 18074 type: string 18075 optional: 18076 description: Specify whether the Secret or its key must 18077 be defined 18078 type: boolean 18079 required: 18080 - key 18081 type: object 18082 type: object 18083 certFile: 18084 description: Path to the client cert file in the Prometheus container 18085 for the targets. 18086 type: string 18087 insecureSkipVerify: 18088 description: Disable target certificate validation. 18089 type: boolean 18090 keyFile: 18091 description: Path to the client key file in the Prometheus container 18092 for the targets. 18093 type: string 18094 keySecret: 18095 description: Secret containing the client key file for the targets. 18096 properties: 18097 key: 18098 description: The key of the secret to select from. Must be 18099 a valid secret key. 18100 type: string 18101 name: 18102 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18103 TODO: Add other useful fields. apiVersion, kind, uid?' 18104 type: string 18105 optional: 18106 description: Specify whether the Secret or its key must be 18107 defined 18108 type: boolean 18109 required: 18110 - key 18111 type: object 18112 serverName: 18113 description: Used to verify the hostname for the targets. 18114 type: string 18115 type: object 18116 image: 18117 description: Thanos container image URL. 18118 type: string 18119 imagePullSecrets: 18120 description: An optional list of references to secrets in the same 18121 namespace to use for pulling thanos images from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod 18122 items: 18123 description: LocalObjectReference contains enough information to 18124 let you locate the referenced object inside the same namespace. 18125 properties: 18126 name: 18127 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18128 TODO: Add other useful fields. apiVersion, kind, uid?' 18129 type: string 18130 type: object 18131 type: array 18132 initContainers: 18133 description: 'InitContainers allows adding initContainers to the pod 18134 definition. Those can be used to e.g. fetch secrets for injection 18135 into the ThanosRuler configuration from external sources. Any errors 18136 during the execution of an initContainer will lead to a restart 18137 of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ 18138 Using initContainers for any use case other then secret fetching 18139 is entirely outside the scope of what the maintainers will support 18140 and by doing so, you accept that this behaviour may break at any 18141 time without notice.' 18142 items: 18143 description: A single application container that you want to run 18144 within a pod. 18145 properties: 18146 args: 18147 description: 'Arguments to the entrypoint. The docker image''s 18148 CMD is used if this is not provided. Variable references $(VAR_NAME) 18149 are expanded using the container''s environment. If a variable 18150 cannot be resolved, the reference in the input string will 18151 be unchanged. The $(VAR_NAME) syntax can be escaped with a 18152 double $$, ie: $$(VAR_NAME). Escaped references will never 18153 be expanded, regardless of whether the variable exists or 18154 not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 18155 items: 18156 type: string 18157 type: array 18158 command: 18159 description: 'Entrypoint array. Not executed within a shell. 18160 The docker image''s ENTRYPOINT is used if this is not provided. 18161 Variable references $(VAR_NAME) are expanded using the container''s 18162 environment. If a variable cannot be resolved, the reference 18163 in the input string will be unchanged. The $(VAR_NAME) syntax 18164 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 18165 references will never be expanded, regardless of whether the 18166 variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell' 18167 items: 18168 type: string 18169 type: array 18170 env: 18171 description: List of environment variables to set in the container. 18172 Cannot be updated. 18173 items: 18174 description: EnvVar represents an environment variable present 18175 in a Container. 18176 properties: 18177 name: 18178 description: Name of the environment variable. Must be 18179 a C_IDENTIFIER. 18180 type: string 18181 value: 18182 description: 'Variable references $(VAR_NAME) are expanded 18183 using the previous defined environment variables in 18184 the container and any service environment variables. 18185 If a variable cannot be resolved, the reference in the 18186 input string will be unchanged. The $(VAR_NAME) syntax 18187 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped 18188 references will never be expanded, regardless of whether 18189 the variable exists or not. Defaults to "".' 18190 type: string 18191 valueFrom: 18192 description: Source for the environment variable's value. 18193 Cannot be used if value is not empty. 18194 properties: 18195 configMapKeyRef: 18196 description: Selects a key of a ConfigMap. 18197 properties: 18198 key: 18199 description: The key to select. 18200 type: string 18201 name: 18202 description: 'Name of the referent. More info: 18203 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18204 TODO: Add other useful fields. apiVersion, kind, 18205 uid?' 18206 type: string 18207 optional: 18208 description: Specify whether the ConfigMap or 18209 its key must be defined 18210 type: boolean 18211 required: 18212 - key 18213 type: object 18214 fieldRef: 18215 description: 'Selects a field of the pod: supports 18216 metadata.name, metadata.namespace, metadata.labels, 18217 metadata.annotations, spec.nodeName, spec.serviceAccountName, 18218 status.hostIP, status.podIP, status.podIPs.' 18219 properties: 18220 apiVersion: 18221 description: Version of the schema the FieldPath 18222 is written in terms of, defaults to "v1". 18223 type: string 18224 fieldPath: 18225 description: Path of the field to select in the 18226 specified API version. 18227 type: string 18228 required: 18229 - fieldPath 18230 type: object 18231 resourceFieldRef: 18232 description: 'Selects a resource of the container: 18233 only resources limits and requests (limits.cpu, 18234 limits.memory, limits.ephemeral-storage, requests.cpu, 18235 requests.memory and requests.ephemeral-storage) 18236 are currently supported.' 18237 properties: 18238 containerName: 18239 description: 'Container name: required for volumes, 18240 optional for env vars' 18241 type: string 18242 divisor: 18243 anyOf: 18244 - type: integer 18245 - type: string 18246 description: Specifies the output format of the 18247 exposed resources, defaults to "1" 18248 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18249 x-kubernetes-int-or-string: true 18250 resource: 18251 description: 'Required: resource to select' 18252 type: string 18253 required: 18254 - resource 18255 type: object 18256 secretKeyRef: 18257 description: Selects a key of a secret in the pod's 18258 namespace 18259 properties: 18260 key: 18261 description: The key of the secret to select from. Must 18262 be a valid secret key. 18263 type: string 18264 name: 18265 description: 'Name of the referent. More info: 18266 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18267 TODO: Add other useful fields. apiVersion, kind, 18268 uid?' 18269 type: string 18270 optional: 18271 description: Specify whether the Secret or its 18272 key must be defined 18273 type: boolean 18274 required: 18275 - key 18276 type: object 18277 type: object 18278 required: 18279 - name 18280 type: object 18281 type: array 18282 envFrom: 18283 description: List of sources to populate environment variables 18284 in the container. The keys defined within a source must be 18285 a C_IDENTIFIER. All invalid keys will be reported as an event 18286 when the container is starting. When a key exists in multiple 18287 sources, the value associated with the last source will take 18288 precedence. Values defined by an Env with a duplicate key 18289 will take precedence. Cannot be updated. 18290 items: 18291 description: EnvFromSource represents the source of a set 18292 of ConfigMaps 18293 properties: 18294 configMapRef: 18295 description: The ConfigMap to select from 18296 properties: 18297 name: 18298 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18299 TODO: Add other useful fields. apiVersion, kind, 18300 uid?' 18301 type: string 18302 optional: 18303 description: Specify whether the ConfigMap must be 18304 defined 18305 type: boolean 18306 type: object 18307 prefix: 18308 description: An optional identifier to prepend to each 18309 key in the ConfigMap. Must be a C_IDENTIFIER. 18310 type: string 18311 secretRef: 18312 description: The Secret to select from 18313 properties: 18314 name: 18315 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 18316 TODO: Add other useful fields. apiVersion, kind, 18317 uid?' 18318 type: string 18319 optional: 18320 description: Specify whether the Secret must be defined 18321 type: boolean 18322 type: object 18323 type: object 18324 type: array 18325 image: 18326 description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images 18327 This field is optional to allow higher level config management 18328 to default or override container images in workload controllers 18329 like Deployments and StatefulSets.' 18330 type: string 18331 imagePullPolicy: 18332 description: 'Image pull policy. One of Always, Never, IfNotPresent. 18333 Defaults to Always if :latest tag is specified, or IfNotPresent 18334 otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images' 18335 type: string 18336 lifecycle: 18337 description: Actions that the management system should take 18338 in response to container lifecycle events. Cannot be updated. 18339 properties: 18340 postStart: 18341 description: 'PostStart is called immediately after a container 18342 is created. If the handler fails, the container is terminated 18343 and restarted according to its restart policy. Other management 18344 of the container blocks until the hook completes. More 18345 info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 18346 properties: 18347 exec: 18348 description: One and only one of the following should 18349 be specified. Exec specifies the action to take. 18350 properties: 18351 command: 18352 description: Command is the command line to execute 18353 inside the container, the working directory for 18354 the command is root ('/') in the container's 18355 filesystem. The command is simply exec'd, it is 18356 not run inside a shell, so traditional shell instructions 18357 ('|', etc) won't work. To use a shell, you need 18358 to explicitly call out to that shell. Exit status 18359 of 0 is treated as live/healthy and non-zero is 18360 unhealthy. 18361 items: 18362 type: string 18363 type: array 18364 type: object 18365 httpGet: 18366 description: HTTPGet specifies the http request to perform. 18367 properties: 18368 host: 18369 description: Host name to connect to, defaults to 18370 the pod IP. You probably want to set "Host" in 18371 httpHeaders instead. 18372 type: string 18373 httpHeaders: 18374 description: Custom headers to set in the request. 18375 HTTP allows repeated headers. 18376 items: 18377 description: HTTPHeader describes a custom header 18378 to be used in HTTP probes 18379 properties: 18380 name: 18381 description: The header field name 18382 type: string 18383 value: 18384 description: The header field value 18385 type: string 18386 required: 18387 - name 18388 - value 18389 type: object 18390 type: array 18391 path: 18392 description: Path to access on the HTTP server. 18393 type: string 18394 port: 18395 anyOf: 18396 - type: integer 18397 - type: string 18398 description: Name or number of the port to access 18399 on the container. Number must be in the range 18400 1 to 65535. Name must be an IANA_SVC_NAME. 18401 x-kubernetes-int-or-string: true 18402 scheme: 18403 description: Scheme to use for connecting to the 18404 host. Defaults to HTTP. 18405 type: string 18406 required: 18407 - port 18408 type: object 18409 tcpSocket: 18410 description: 'TCPSocket specifies an action involving 18411 a TCP port. TCP hooks not yet supported TODO: implement 18412 a realistic TCP lifecycle hook' 18413 properties: 18414 host: 18415 description: 'Optional: Host name to connect to, 18416 defaults to the pod IP.' 18417 type: string 18418 port: 18419 anyOf: 18420 - type: integer 18421 - type: string 18422 description: Number or name of the port to access 18423 on the container. Number must be in the range 18424 1 to 65535. Name must be an IANA_SVC_NAME. 18425 x-kubernetes-int-or-string: true 18426 required: 18427 - port 18428 type: object 18429 type: object 18430 preStop: 18431 description: 'PreStop is called immediately before a container 18432 is terminated due to an API request or management event 18433 such as liveness/startup probe failure, preemption, resource 18434 contention, etc. The handler is not called if the container 18435 crashes or exits. The reason for termination is passed 18436 to the handler. The Pod''s termination grace period countdown 18437 begins before the PreStop hooked is executed. Regardless 18438 of the outcome of the handler, the container will eventually 18439 terminate within the Pod''s termination grace period. 18440 Other management of the container blocks until the hook 18441 completes or until the termination grace period is reached. 18442 More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks' 18443 properties: 18444 exec: 18445 description: One and only one of the following should 18446 be specified. Exec specifies the action to take. 18447 properties: 18448 command: 18449 description: Command is the command line to execute 18450 inside the container, the working directory for 18451 the command is root ('/') in the container's 18452 filesystem. The command is simply exec'd, it is 18453 not run inside a shell, so traditional shell instructions 18454 ('|', etc) won't work. To use a shell, you need 18455 to explicitly call out to that shell. Exit status 18456 of 0 is treated as live/healthy and non-zero is 18457 unhealthy. 18458 items: 18459 type: string 18460 type: array 18461 type: object 18462 httpGet: 18463 description: HTTPGet specifies the http request to perform. 18464 properties: 18465 host: 18466 description: Host name to connect to, defaults to 18467 the pod IP. You probably want to set "Host" in 18468 httpHeaders instead. 18469 type: string 18470 httpHeaders: 18471 description: Custom headers to set in the request. 18472 HTTP allows repeated headers. 18473 items: 18474 description: HTTPHeader describes a custom header 18475 to be used in HTTP probes 18476 properties: 18477 name: 18478 description: The header field name 18479 type: string 18480 value: 18481 description: The header field value 18482 type: string 18483 required: 18484 - name 18485 - value 18486 type: object 18487 type: array 18488 path: 18489 description: Path to access on the HTTP server. 18490 type: string 18491 port: 18492 anyOf: 18493 - type: integer 18494 - type: string 18495 description: Name or number of the port to access 18496 on the container. Number must be in the range 18497 1 to 65535. Name must be an IANA_SVC_NAME. 18498 x-kubernetes-int-or-string: true 18499 scheme: 18500 description: Scheme to use for connecting to the 18501 host. Defaults to HTTP. 18502 type: string 18503 required: 18504 - port 18505 type: object 18506 tcpSocket: 18507 description: 'TCPSocket specifies an action involving 18508 a TCP port. TCP hooks not yet supported TODO: implement 18509 a realistic TCP lifecycle hook' 18510 properties: 18511 host: 18512 description: 'Optional: Host name to connect to, 18513 defaults to the pod IP.' 18514 type: string 18515 port: 18516 anyOf: 18517 - type: integer 18518 - type: string 18519 description: Number or name of the port to access 18520 on the container. Number must be in the range 18521 1 to 65535. Name must be an IANA_SVC_NAME. 18522 x-kubernetes-int-or-string: true 18523 required: 18524 - port 18525 type: object 18526 type: object 18527 type: object 18528 livenessProbe: 18529 description: 'Periodic probe of container liveness. Container 18530 will be restarted if the probe fails. Cannot be updated. More 18531 info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18532 properties: 18533 exec: 18534 description: One and only one of the following should be 18535 specified. Exec specifies the action to take. 18536 properties: 18537 command: 18538 description: Command is the command line to execute 18539 inside the container, the working directory for the 18540 command is root ('/') in the container's filesystem. 18541 The command is simply exec'd, it is not run inside 18542 a shell, so traditional shell instructions ('|', etc) 18543 won't work. To use a shell, you need to explicitly 18544 call out to that shell. Exit status of 0 is treated 18545 as live/healthy and non-zero is unhealthy. 18546 items: 18547 type: string 18548 type: array 18549 type: object 18550 failureThreshold: 18551 description: Minimum consecutive failures for the probe 18552 to be considered failed after having succeeded. Defaults 18553 to 3. Minimum value is 1. 18554 format: int32 18555 type: integer 18556 httpGet: 18557 description: HTTPGet specifies the http request to perform. 18558 properties: 18559 host: 18560 description: Host name to connect to, defaults to the 18561 pod IP. You probably want to set "Host" in httpHeaders 18562 instead. 18563 type: string 18564 httpHeaders: 18565 description: Custom headers to set in the request. HTTP 18566 allows repeated headers. 18567 items: 18568 description: HTTPHeader describes a custom header 18569 to be used in HTTP probes 18570 properties: 18571 name: 18572 description: The header field name 18573 type: string 18574 value: 18575 description: The header field value 18576 type: string 18577 required: 18578 - name 18579 - value 18580 type: object 18581 type: array 18582 path: 18583 description: Path to access on the HTTP server. 18584 type: string 18585 port: 18586 anyOf: 18587 - type: integer 18588 - type: string 18589 description: Name or number of the port to access on 18590 the container. Number must be in the range 1 to 65535. 18591 Name must be an IANA_SVC_NAME. 18592 x-kubernetes-int-or-string: true 18593 scheme: 18594 description: Scheme to use for connecting to the host. 18595 Defaults to HTTP. 18596 type: string 18597 required: 18598 - port 18599 type: object 18600 initialDelaySeconds: 18601 description: 'Number of seconds after the container has 18602 started before liveness probes are initiated. More info: 18603 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18604 format: int32 18605 type: integer 18606 periodSeconds: 18607 description: How often (in seconds) to perform the probe. 18608 Default to 10 seconds. Minimum value is 1. 18609 format: int32 18610 type: integer 18611 successThreshold: 18612 description: Minimum consecutive successes for the probe 18613 to be considered successful after having failed. Defaults 18614 to 1. Must be 1 for liveness and startup. Minimum value 18615 is 1. 18616 format: int32 18617 type: integer 18618 tcpSocket: 18619 description: 'TCPSocket specifies an action involving a 18620 TCP port. TCP hooks not yet supported TODO: implement 18621 a realistic TCP lifecycle hook' 18622 properties: 18623 host: 18624 description: 'Optional: Host name to connect to, defaults 18625 to the pod IP.' 18626 type: string 18627 port: 18628 anyOf: 18629 - type: integer 18630 - type: string 18631 description: Number or name of the port to access on 18632 the container. Number must be in the range 1 to 65535. 18633 Name must be an IANA_SVC_NAME. 18634 x-kubernetes-int-or-string: true 18635 required: 18636 - port 18637 type: object 18638 timeoutSeconds: 18639 description: 'Number of seconds after which the probe times 18640 out. Defaults to 1 second. Minimum value is 1. More info: 18641 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18642 format: int32 18643 type: integer 18644 type: object 18645 name: 18646 description: Name of the container specified as a DNS_LABEL. 18647 Each container in a pod must have a unique name (DNS_LABEL). 18648 Cannot be updated. 18649 type: string 18650 ports: 18651 description: List of ports to expose from the container. Exposing 18652 a port here gives the system additional information about 18653 the network connections a container uses, but is primarily 18654 informational. Not specifying a port here DOES NOT prevent 18655 that port from being exposed. Any port which is listening 18656 on the default "0.0.0.0" address inside a container will be 18657 accessible from the network. Cannot be updated. 18658 items: 18659 description: ContainerPort represents a network port in a 18660 single container. 18661 properties: 18662 containerPort: 18663 description: Number of port to expose on the pod's IP 18664 address. This must be a valid port number, 0 < x < 65536. 18665 format: int32 18666 type: integer 18667 hostIP: 18668 description: What host IP to bind the external port to. 18669 type: string 18670 hostPort: 18671 description: Number of port to expose on the host. If 18672 specified, this must be a valid port number, 0 < x < 18673 65536. If HostNetwork is specified, this must match 18674 ContainerPort. Most containers do not need this. 18675 format: int32 18676 type: integer 18677 name: 18678 description: If specified, this must be an IANA_SVC_NAME 18679 and unique within the pod. Each named port in a pod 18680 must have a unique name. Name for the port that can 18681 be referred to by services. 18682 type: string 18683 protocol: 18684 default: TCP 18685 description: Protocol for port. Must be UDP, TCP, or SCTP. 18686 Defaults to "TCP". 18687 type: string 18688 required: 18689 - containerPort 18690 type: object 18691 type: array 18692 x-kubernetes-list-map-keys: 18693 - containerPort 18694 - protocol 18695 x-kubernetes-list-type: map 18696 readinessProbe: 18697 description: 'Periodic probe of container service readiness. 18698 Container will be removed from service endpoints if the probe 18699 fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18700 properties: 18701 exec: 18702 description: One and only one of the following should be 18703 specified. Exec specifies the action to take. 18704 properties: 18705 command: 18706 description: Command is the command line to execute 18707 inside the container, the working directory for the 18708 command is root ('/') in the container's filesystem. 18709 The command is simply exec'd, it is not run inside 18710 a shell, so traditional shell instructions ('|', etc) 18711 won't work. To use a shell, you need to explicitly 18712 call out to that shell. Exit status of 0 is treated 18713 as live/healthy and non-zero is unhealthy. 18714 items: 18715 type: string 18716 type: array 18717 type: object 18718 failureThreshold: 18719 description: Minimum consecutive failures for the probe 18720 to be considered failed after having succeeded. Defaults 18721 to 3. Minimum value is 1. 18722 format: int32 18723 type: integer 18724 httpGet: 18725 description: HTTPGet specifies the http request to perform. 18726 properties: 18727 host: 18728 description: Host name to connect to, defaults to the 18729 pod IP. You probably want to set "Host" in httpHeaders 18730 instead. 18731 type: string 18732 httpHeaders: 18733 description: Custom headers to set in the request. HTTP 18734 allows repeated headers. 18735 items: 18736 description: HTTPHeader describes a custom header 18737 to be used in HTTP probes 18738 properties: 18739 name: 18740 description: The header field name 18741 type: string 18742 value: 18743 description: The header field value 18744 type: string 18745 required: 18746 - name 18747 - value 18748 type: object 18749 type: array 18750 path: 18751 description: Path to access on the HTTP server. 18752 type: string 18753 port: 18754 anyOf: 18755 - type: integer 18756 - type: string 18757 description: Name or number of the port to access on 18758 the container. Number must be in the range 1 to 65535. 18759 Name must be an IANA_SVC_NAME. 18760 x-kubernetes-int-or-string: true 18761 scheme: 18762 description: Scheme to use for connecting to the host. 18763 Defaults to HTTP. 18764 type: string 18765 required: 18766 - port 18767 type: object 18768 initialDelaySeconds: 18769 description: 'Number of seconds after the container has 18770 started before liveness probes are initiated. More info: 18771 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18772 format: int32 18773 type: integer 18774 periodSeconds: 18775 description: How often (in seconds) to perform the probe. 18776 Default to 10 seconds. Minimum value is 1. 18777 format: int32 18778 type: integer 18779 successThreshold: 18780 description: Minimum consecutive successes for the probe 18781 to be considered successful after having failed. Defaults 18782 to 1. Must be 1 for liveness and startup. Minimum value 18783 is 1. 18784 format: int32 18785 type: integer 18786 tcpSocket: 18787 description: 'TCPSocket specifies an action involving a 18788 TCP port. TCP hooks not yet supported TODO: implement 18789 a realistic TCP lifecycle hook' 18790 properties: 18791 host: 18792 description: 'Optional: Host name to connect to, defaults 18793 to the pod IP.' 18794 type: string 18795 port: 18796 anyOf: 18797 - type: integer 18798 - type: string 18799 description: Number or name of the port to access on 18800 the container. Number must be in the range 1 to 65535. 18801 Name must be an IANA_SVC_NAME. 18802 x-kubernetes-int-or-string: true 18803 required: 18804 - port 18805 type: object 18806 timeoutSeconds: 18807 description: 'Number of seconds after which the probe times 18808 out. Defaults to 1 second. Minimum value is 1. More info: 18809 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18810 format: int32 18811 type: integer 18812 type: object 18813 resources: 18814 description: 'Compute Resources required by this container. 18815 Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 18816 properties: 18817 limits: 18818 additionalProperties: 18819 anyOf: 18820 - type: integer 18821 - type: string 18822 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18823 x-kubernetes-int-or-string: true 18824 description: 'Limits describes the maximum amount of compute 18825 resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 18826 type: object 18827 requests: 18828 additionalProperties: 18829 anyOf: 18830 - type: integer 18831 - type: string 18832 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 18833 x-kubernetes-int-or-string: true 18834 description: 'Requests describes the minimum amount of compute 18835 resources required. If Requests is omitted for a container, 18836 it defaults to Limits if that is explicitly specified, 18837 otherwise to an implementation-defined value. More info: 18838 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 18839 type: object 18840 type: object 18841 securityContext: 18842 description: 'Security options the pod should run with. More 18843 info: https://kubernetes.io/docs/concepts/policy/security-context/ 18844 More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/' 18845 properties: 18846 allowPrivilegeEscalation: 18847 description: 'AllowPrivilegeEscalation controls whether 18848 a process can gain more privileges than its parent process. 18849 This bool directly controls if the no_new_privs flag will 18850 be set on the container process. AllowPrivilegeEscalation 18851 is true always when the container is: 1) run as Privileged 18852 2) has CAP_SYS_ADMIN' 18853 type: boolean 18854 capabilities: 18855 description: The capabilities to add/drop when running containers. 18856 Defaults to the default set of capabilities granted by 18857 the container runtime. 18858 properties: 18859 add: 18860 description: Added capabilities 18861 items: 18862 description: Capability represent POSIX capabilities 18863 type 18864 type: string 18865 type: array 18866 drop: 18867 description: Removed capabilities 18868 items: 18869 description: Capability represent POSIX capabilities 18870 type 18871 type: string 18872 type: array 18873 type: object 18874 privileged: 18875 description: Run container in privileged mode. Processes 18876 in privileged containers are essentially equivalent to 18877 root on the host. Defaults to false. 18878 type: boolean 18879 procMount: 18880 description: procMount denotes the type of proc mount to 18881 use for the containers. The default is DefaultProcMount 18882 which uses the container runtime defaults for readonly 18883 paths and masked paths. This requires the ProcMountType 18884 feature flag to be enabled. 18885 type: string 18886 readOnlyRootFilesystem: 18887 description: Whether this container has a read-only root 18888 filesystem. Default is false. 18889 type: boolean 18890 runAsGroup: 18891 description: The GID to run the entrypoint of the container 18892 process. Uses runtime default if unset. May also be set 18893 in PodSecurityContext. If set in both SecurityContext 18894 and PodSecurityContext, the value specified in SecurityContext 18895 takes precedence. 18896 format: int64 18897 type: integer 18898 runAsNonRoot: 18899 description: Indicates that the container must run as a 18900 non-root user. If true, the Kubelet will validate the 18901 image at runtime to ensure that it does not run as UID 18902 0 (root) and fail to start the container if it does. If 18903 unset or false, no such validation will be performed. 18904 May also be set in PodSecurityContext. If set in both 18905 SecurityContext and PodSecurityContext, the value specified 18906 in SecurityContext takes precedence. 18907 type: boolean 18908 runAsUser: 18909 description: The UID to run the entrypoint of the container 18910 process. Defaults to user specified in image metadata 18911 if unspecified. May also be set in PodSecurityContext. If 18912 set in both SecurityContext and PodSecurityContext, the 18913 value specified in SecurityContext takes precedence. 18914 format: int64 18915 type: integer 18916 seLinuxOptions: 18917 description: The SELinux context to be applied to the container. 18918 If unspecified, the container runtime will allocate a 18919 random SELinux context for each container. May also be 18920 set in PodSecurityContext. If set in both SecurityContext 18921 and PodSecurityContext, the value specified in SecurityContext 18922 takes precedence. 18923 properties: 18924 level: 18925 description: Level is SELinux level label that applies 18926 to the container. 18927 type: string 18928 role: 18929 description: Role is a SELinux role label that applies 18930 to the container. 18931 type: string 18932 type: 18933 description: Type is a SELinux type label that applies 18934 to the container. 18935 type: string 18936 user: 18937 description: User is a SELinux user label that applies 18938 to the container. 18939 type: string 18940 type: object 18941 windowsOptions: 18942 description: The Windows specific settings applied to all 18943 containers. If unspecified, the options from the PodSecurityContext 18944 will be used. If set in both SecurityContext and PodSecurityContext, 18945 the value specified in SecurityContext takes precedence. 18946 properties: 18947 gmsaCredentialSpec: 18948 description: GMSACredentialSpec is where the GMSA admission 18949 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 18950 inlines the contents of the GMSA credential spec named 18951 by the GMSACredentialSpecName field. 18952 type: string 18953 gmsaCredentialSpecName: 18954 description: GMSACredentialSpecName is the name of the 18955 GMSA credential spec to use. 18956 type: string 18957 runAsUserName: 18958 description: The UserName in Windows to run the entrypoint 18959 of the container process. Defaults to the user specified 18960 in image metadata if unspecified. May also be set 18961 in PodSecurityContext. If set in both SecurityContext 18962 and PodSecurityContext, the value specified in SecurityContext 18963 takes precedence. 18964 type: string 18965 type: object 18966 type: object 18967 startupProbe: 18968 description: 'StartupProbe indicates that the Pod has successfully 18969 initialized. If specified, no other probes are executed until 18970 this completes successfully. If this probe fails, the Pod 18971 will be restarted, just as if the livenessProbe failed. This 18972 can be used to provide different probe parameters at the beginning 18973 of a Pod''s lifecycle, when it might take a long time to load 18974 data or warm a cache, than during steady-state operation. 18975 This cannot be updated. This is a beta feature enabled by 18976 the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 18977 properties: 18978 exec: 18979 description: One and only one of the following should be 18980 specified. Exec specifies the action to take. 18981 properties: 18982 command: 18983 description: Command is the command line to execute 18984 inside the container, the working directory for the 18985 command is root ('/') in the container's filesystem. 18986 The command is simply exec'd, it is not run inside 18987 a shell, so traditional shell instructions ('|', etc) 18988 won't work. To use a shell, you need to explicitly 18989 call out to that shell. Exit status of 0 is treated 18990 as live/healthy and non-zero is unhealthy. 18991 items: 18992 type: string 18993 type: array 18994 type: object 18995 failureThreshold: 18996 description: Minimum consecutive failures for the probe 18997 to be considered failed after having succeeded. Defaults 18998 to 3. Minimum value is 1. 18999 format: int32 19000 type: integer 19001 httpGet: 19002 description: HTTPGet specifies the http request to perform. 19003 properties: 19004 host: 19005 description: Host name to connect to, defaults to the 19006 pod IP. You probably want to set "Host" in httpHeaders 19007 instead. 19008 type: string 19009 httpHeaders: 19010 description: Custom headers to set in the request. HTTP 19011 allows repeated headers. 19012 items: 19013 description: HTTPHeader describes a custom header 19014 to be used in HTTP probes 19015 properties: 19016 name: 19017 description: The header field name 19018 type: string 19019 value: 19020 description: The header field value 19021 type: string 19022 required: 19023 - name 19024 - value 19025 type: object 19026 type: array 19027 path: 19028 description: Path to access on the HTTP server. 19029 type: string 19030 port: 19031 anyOf: 19032 - type: integer 19033 - type: string 19034 description: Name or number of the port to access on 19035 the container. Number must be in the range 1 to 65535. 19036 Name must be an IANA_SVC_NAME. 19037 x-kubernetes-int-or-string: true 19038 scheme: 19039 description: Scheme to use for connecting to the host. 19040 Defaults to HTTP. 19041 type: string 19042 required: 19043 - port 19044 type: object 19045 initialDelaySeconds: 19046 description: 'Number of seconds after the container has 19047 started before liveness probes are initiated. More info: 19048 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 19049 format: int32 19050 type: integer 19051 periodSeconds: 19052 description: How often (in seconds) to perform the probe. 19053 Default to 10 seconds. Minimum value is 1. 19054 format: int32 19055 type: integer 19056 successThreshold: 19057 description: Minimum consecutive successes for the probe 19058 to be considered successful after having failed. Defaults 19059 to 1. Must be 1 for liveness and startup. Minimum value 19060 is 1. 19061 format: int32 19062 type: integer 19063 tcpSocket: 19064 description: 'TCPSocket specifies an action involving a 19065 TCP port. TCP hooks not yet supported TODO: implement 19066 a realistic TCP lifecycle hook' 19067 properties: 19068 host: 19069 description: 'Optional: Host name to connect to, defaults 19070 to the pod IP.' 19071 type: string 19072 port: 19073 anyOf: 19074 - type: integer 19075 - type: string 19076 description: Number or name of the port to access on 19077 the container. Number must be in the range 1 to 65535. 19078 Name must be an IANA_SVC_NAME. 19079 x-kubernetes-int-or-string: true 19080 required: 19081 - port 19082 type: object 19083 timeoutSeconds: 19084 description: 'Number of seconds after which the probe times 19085 out. Defaults to 1 second. Minimum value is 1. More info: 19086 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' 19087 format: int32 19088 type: integer 19089 type: object 19090 stdin: 19091 description: Whether this container should allocate a buffer 19092 for stdin in the container runtime. If this is not set, reads 19093 from stdin in the container will always result in EOF. Default 19094 is false. 19095 type: boolean 19096 stdinOnce: 19097 description: Whether the container runtime should close the 19098 stdin channel after it has been opened by a single attach. 19099 When stdin is true the stdin stream will remain open across 19100 multiple attach sessions. If stdinOnce is set to true, stdin 19101 is opened on container start, is empty until the first client 19102 attaches to stdin, and then remains open and accepts data 19103 until the client disconnects, at which time stdin is closed 19104 and remains closed until the container is restarted. If this 19105 flag is false, a container processes that reads from stdin 19106 will never receive an EOF. Default is false 19107 type: boolean 19108 terminationMessagePath: 19109 description: 'Optional: Path at which the file to which the 19110 container''s termination message will be written is mounted 19111 into the container''s filesystem. Message written is intended 19112 to be brief final status, such as an assertion failure message. 19113 Will be truncated by the node if greater than 4096 bytes. 19114 The total message length across all containers will be limited 19115 to 12kb. Defaults to /dev/termination-log. Cannot be updated.' 19116 type: string 19117 terminationMessagePolicy: 19118 description: Indicate how the termination message should be 19119 populated. File will use the contents of terminationMessagePath 19120 to populate the container status message on both success and 19121 failure. FallbackToLogsOnError will use the last chunk of 19122 container log output if the termination message file is empty 19123 and the container exited with an error. The log output is 19124 limited to 2048 bytes or 80 lines, whichever is smaller. Defaults 19125 to File. Cannot be updated. 19126 type: string 19127 tty: 19128 description: Whether this container should allocate a TTY for 19129 itself, also requires 'stdin' to be true. Default is false. 19130 type: boolean 19131 volumeDevices: 19132 description: volumeDevices is the list of block devices to be 19133 used by the container. 19134 items: 19135 description: volumeDevice describes a mapping of a raw block 19136 device within a container. 19137 properties: 19138 devicePath: 19139 description: devicePath is the path inside of the container 19140 that the device will be mapped to. 19141 type: string 19142 name: 19143 description: name must match the name of a persistentVolumeClaim 19144 in the pod 19145 type: string 19146 required: 19147 - devicePath 19148 - name 19149 type: object 19150 type: array 19151 volumeMounts: 19152 description: Pod volumes to mount into the container's filesystem. 19153 Cannot be updated. 19154 items: 19155 description: VolumeMount describes a mounting of a Volume 19156 within a container. 19157 properties: 19158 mountPath: 19159 description: Path within the container at which the volume 19160 should be mounted. Must not contain ':'. 19161 type: string 19162 mountPropagation: 19163 description: mountPropagation determines how mounts are 19164 propagated from the host to container and the other 19165 way around. When not set, MountPropagationNone is used. 19166 This field is beta in 1.10. 19167 type: string 19168 name: 19169 description: This must match the Name of a Volume. 19170 type: string 19171 readOnly: 19172 description: Mounted read-only if true, read-write otherwise 19173 (false or unspecified). Defaults to false. 19174 type: boolean 19175 subPath: 19176 description: Path within the volume from which the container's 19177 volume should be mounted. Defaults to "" (volume's root). 19178 type: string 19179 subPathExpr: 19180 description: Expanded path within the volume from which 19181 the container's volume should be mounted. Behaves similarly 19182 to SubPath but environment variable references $(VAR_NAME) 19183 are expanded using the container's environment. Defaults 19184 to "" (volume's root). SubPathExpr and SubPath are mutually 19185 exclusive. 19186 type: string 19187 required: 19188 - mountPath 19189 - name 19190 type: object 19191 type: array 19192 workingDir: 19193 description: Container's working directory. If not specified, 19194 the container runtime's default will be used, which might 19195 be configured in the container image. Cannot be updated. 19196 type: string 19197 required: 19198 - name 19199 type: object 19200 type: array 19201 labels: 19202 additionalProperties: 19203 type: string 19204 description: Labels configure the external label pairs to ThanosRuler. 19205 If not provided, default replica label `thanos_ruler_replica` will 19206 be added as a label and be dropped in alerts. 19207 type: object 19208 listenLocal: 19209 description: ListenLocal makes the Thanos ruler listen on loopback, 19210 so that it does not bind against the Pod IP. 19211 type: boolean 19212 logFormat: 19213 description: Log format for ThanosRuler to be configured with. 19214 type: string 19215 logLevel: 19216 description: Log level for ThanosRuler to be configured with. 19217 type: string 19218 nodeSelector: 19219 additionalProperties: 19220 type: string 19221 description: Define which Nodes the Pods are scheduled on. 19222 type: object 19223 objectStorageConfig: 19224 description: ObjectStorageConfig configures object storage in Thanos. 19225 Alternative to ObjectStorageConfigFile, and lower order priority. 19226 properties: 19227 key: 19228 description: The key of the secret to select from. Must be a 19229 valid secret key. 19230 type: string 19231 name: 19232 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 19233 TODO: Add other useful fields. apiVersion, kind, uid?' 19234 type: string 19235 optional: 19236 description: Specify whether the Secret or its key must be defined 19237 type: boolean 19238 required: 19239 - key 19240 type: object 19241 objectStorageConfigFile: 19242 description: ObjectStorageConfigFile specifies the path of the object 19243 storage configuration file. When used alongside with ObjectStorageConfig, 19244 ObjectStorageConfigFile takes precedence. 19245 type: string 19246 paused: 19247 description: When a ThanosRuler deployment is paused, no actions except 19248 for deletion will be performed on the underlying objects. 19249 type: boolean 19250 podMetadata: 19251 description: PodMetadata contains Labels and Annotations gets propagated 19252 to the thanos ruler pods. 19253 properties: 19254 annotations: 19255 additionalProperties: 19256 type: string 19257 description: 'Annotations is an unstructured key value map stored 19258 with a resource that may be set by external tools to store and 19259 retrieve arbitrary metadata. They are not queryable and should 19260 be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations' 19261 type: object 19262 labels: 19263 additionalProperties: 19264 type: string 19265 description: 'Map of string keys and values that can be used to 19266 organize and categorize (scope and select) objects. May match 19267 selectors of replication controllers and services. More info: 19268 http://kubernetes.io/docs/user-guide/labels' 19269 type: object 19270 name: 19271 description: 'Name must be unique within a namespace. Is required 19272 when creating resources, although some resources may allow a 19273 client to request the generation of an appropriate name automatically. 19274 Name is primarily intended for creation idempotence and configuration 19275 definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 19276 type: string 19277 type: object 19278 portName: 19279 description: Port name used for the pods and governing service. This 19280 defaults to web 19281 type: string 19282 priorityClassName: 19283 description: Priority class assigned to the Pods 19284 type: string 19285 prometheusRulesExcludedFromEnforce: 19286 description: PrometheusRulesExcludedFromEnforce - list of Prometheus 19287 rules to be excluded from enforcing of adding namespace labels. 19288 Works only if enforcedNamespaceLabel set to true. Make sure both 19289 ruleNamespace and ruleName are set for each pair 19290 items: 19291 description: PrometheusRuleExcludeConfig enables users to configure 19292 excluded PrometheusRule names and their namespaces to be ignored 19293 while enforcing namespace label for alerts and metrics. 19294 properties: 19295 ruleName: 19296 description: RuleNamespace - name of excluded rule 19297 type: string 19298 ruleNamespace: 19299 description: RuleNamespace - namespace of excluded rule 19300 type: string 19301 required: 19302 - ruleName 19303 - ruleNamespace 19304 type: object 19305 type: array 19306 queryConfig: 19307 description: Define configuration for connecting to thanos query instances. 19308 If this is defined, the QueryEndpoints field will be ignored. Maps 19309 to the `query.config` CLI argument. Only available with thanos v0.11.0 19310 and higher. 19311 properties: 19312 key: 19313 description: The key of the secret to select from. Must be a 19314 valid secret key. 19315 type: string 19316 name: 19317 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 19318 TODO: Add other useful fields. apiVersion, kind, uid?' 19319 type: string 19320 optional: 19321 description: Specify whether the Secret or its key must be defined 19322 type: boolean 19323 required: 19324 - key 19325 type: object 19326 queryEndpoints: 19327 description: QueryEndpoints defines Thanos querier endpoints from 19328 which to query metrics. Maps to the --query flag of thanos ruler. 19329 items: 19330 type: string 19331 type: array 19332 replicas: 19333 description: Number of thanos ruler instances to deploy. 19334 format: int32 19335 type: integer 19336 resources: 19337 description: Resources defines the resource requirements for single 19338 Pods. If not provided, no requests/limits will be set 19339 properties: 19340 limits: 19341 additionalProperties: 19342 anyOf: 19343 - type: integer 19344 - type: string 19345 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19346 x-kubernetes-int-or-string: true 19347 description: 'Limits describes the maximum amount of compute resources 19348 allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 19349 type: object 19350 requests: 19351 additionalProperties: 19352 anyOf: 19353 - type: integer 19354 - type: string 19355 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19356 x-kubernetes-int-or-string: true 19357 description: 'Requests describes the minimum amount of compute 19358 resources required. If Requests is omitted for a container, 19359 it defaults to Limits if that is explicitly specified, otherwise 19360 to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 19361 type: object 19362 type: object 19363 retention: 19364 description: Time duration ThanosRuler shall retain data for. Default 19365 is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)` 19366 (milliseconds seconds minutes hours days weeks years). 19367 type: string 19368 routePrefix: 19369 description: The route prefix ThanosRuler registers HTTP handlers 19370 for. This allows thanos UI to be served on a sub-path. 19371 type: string 19372 ruleNamespaceSelector: 19373 description: Namespaces to be selected for Rules discovery. If unspecified, 19374 only the same namespace as the ThanosRuler object is in is used. 19375 properties: 19376 matchExpressions: 19377 description: matchExpressions is a list of label selector requirements. 19378 The requirements are ANDed. 19379 items: 19380 description: A label selector requirement is a selector that 19381 contains values, a key, and an operator that relates the key 19382 and values. 19383 properties: 19384 key: 19385 description: key is the label key that the selector applies 19386 to. 19387 type: string 19388 operator: 19389 description: operator represents a key's relationship to 19390 a set of values. Valid operators are In, NotIn, Exists 19391 and DoesNotExist. 19392 type: string 19393 values: 19394 description: values is an array of string values. If the 19395 operator is In or NotIn, the values array must be non-empty. 19396 If the operator is Exists or DoesNotExist, the values 19397 array must be empty. This array is replaced during a strategic 19398 merge patch. 19399 items: 19400 type: string 19401 type: array 19402 required: 19403 - key 19404 - operator 19405 type: object 19406 type: array 19407 matchLabels: 19408 additionalProperties: 19409 type: string 19410 description: matchLabels is a map of {key,value} pairs. A single 19411 {key,value} in the matchLabels map is equivalent to an element 19412 of matchExpressions, whose key field is "key", the operator 19413 is "In", and the values array contains only "value". The requirements 19414 are ANDed. 19415 type: object 19416 type: object 19417 ruleSelector: 19418 description: A label selector to select which PrometheusRules to mount 19419 for alerting and recording. 19420 properties: 19421 matchExpressions: 19422 description: matchExpressions is a list of label selector requirements. 19423 The requirements are ANDed. 19424 items: 19425 description: A label selector requirement is a selector that 19426 contains values, a key, and an operator that relates the key 19427 and values. 19428 properties: 19429 key: 19430 description: key is the label key that the selector applies 19431 to. 19432 type: string 19433 operator: 19434 description: operator represents a key's relationship to 19435 a set of values. Valid operators are In, NotIn, Exists 19436 and DoesNotExist. 19437 type: string 19438 values: 19439 description: values is an array of string values. If the 19440 operator is In or NotIn, the values array must be non-empty. 19441 If the operator is Exists or DoesNotExist, the values 19442 array must be empty. This array is replaced during a strategic 19443 merge patch. 19444 items: 19445 type: string 19446 type: array 19447 required: 19448 - key 19449 - operator 19450 type: object 19451 type: array 19452 matchLabels: 19453 additionalProperties: 19454 type: string 19455 description: matchLabels is a map of {key,value} pairs. A single 19456 {key,value} in the matchLabels map is equivalent to an element 19457 of matchExpressions, whose key field is "key", the operator 19458 is "In", and the values array contains only "value". The requirements 19459 are ANDed. 19460 type: object 19461 type: object 19462 securityContext: 19463 description: SecurityContext holds pod-level security attributes and 19464 common container settings. This defaults to the default PodSecurityContext. 19465 properties: 19466 fsGroup: 19467 description: "A special supplemental group that applies to all 19468 containers in a pod. Some volume types allow the Kubelet to 19469 change the ownership of that volume to be owned by the pod: 19470 \n 1. The owning GID will be the FSGroup 2. The setgid bit is 19471 set (new files created in the volume will be owned by FSGroup) 19472 3. The permission bits are OR'd with rw-rw---- \n If unset, 19473 the Kubelet will not modify the ownership and permissions of 19474 any volume." 19475 format: int64 19476 type: integer 19477 fsGroupChangePolicy: 19478 description: 'fsGroupChangePolicy defines behavior of changing 19479 ownership and permission of the volume before being exposed 19480 inside Pod. This field will only apply to volume types which 19481 support fsGroup based ownership(and permissions). It will have 19482 no effect on ephemeral volume types such as: secret, configmaps 19483 and emptydir. Valid values are "OnRootMismatch" and "Always". 19484 If not specified defaults to "Always".' 19485 type: string 19486 runAsGroup: 19487 description: The GID to run the entrypoint of the container process. 19488 Uses runtime default if unset. May also be set in SecurityContext. If 19489 set in both SecurityContext and PodSecurityContext, the value 19490 specified in SecurityContext takes precedence for that container. 19491 format: int64 19492 type: integer 19493 runAsNonRoot: 19494 description: Indicates that the container must run as a non-root 19495 user. If true, the Kubelet will validate the image at runtime 19496 to ensure that it does not run as UID 0 (root) and fail to start 19497 the container if it does. If unset or false, no such validation 19498 will be performed. May also be set in SecurityContext. If set 19499 in both SecurityContext and PodSecurityContext, the value specified 19500 in SecurityContext takes precedence. 19501 type: boolean 19502 runAsUser: 19503 description: The UID to run the entrypoint of the container process. 19504 Defaults to user specified in image metadata if unspecified. 19505 May also be set in SecurityContext. If set in both SecurityContext 19506 and PodSecurityContext, the value specified in SecurityContext 19507 takes precedence for that container. 19508 format: int64 19509 type: integer 19510 seLinuxOptions: 19511 description: The SELinux context to be applied to all containers. 19512 If unspecified, the container runtime will allocate a random 19513 SELinux context for each container. May also be set in SecurityContext. If 19514 set in both SecurityContext and PodSecurityContext, the value 19515 specified in SecurityContext takes precedence for that container. 19516 properties: 19517 level: 19518 description: Level is SELinux level label that applies to 19519 the container. 19520 type: string 19521 role: 19522 description: Role is a SELinux role label that applies to 19523 the container. 19524 type: string 19525 type: 19526 description: Type is a SELinux type label that applies to 19527 the container. 19528 type: string 19529 user: 19530 description: User is a SELinux user label that applies to 19531 the container. 19532 type: string 19533 type: object 19534 supplementalGroups: 19535 description: A list of groups applied to the first process run 19536 in each container, in addition to the container's primary GID. If 19537 unspecified, no groups will be added to any container. 19538 items: 19539 format: int64 19540 type: integer 19541 type: array 19542 sysctls: 19543 description: Sysctls hold a list of namespaced sysctls used for 19544 the pod. Pods with unsupported sysctls (by the container runtime) 19545 might fail to launch. 19546 items: 19547 description: Sysctl defines a kernel parameter to be set 19548 properties: 19549 name: 19550 description: Name of a property to set 19551 type: string 19552 value: 19553 description: Value of a property to set 19554 type: string 19555 required: 19556 - name 19557 - value 19558 type: object 19559 type: array 19560 windowsOptions: 19561 description: The Windows specific settings applied to all containers. 19562 If unspecified, the options within a container's SecurityContext 19563 will be used. If set in both SecurityContext and PodSecurityContext, 19564 the value specified in SecurityContext takes precedence. 19565 properties: 19566 gmsaCredentialSpec: 19567 description: GMSACredentialSpec is where the GMSA admission 19568 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 19569 inlines the contents of the GMSA credential spec named by 19570 the GMSACredentialSpecName field. 19571 type: string 19572 gmsaCredentialSpecName: 19573 description: GMSACredentialSpecName is the name of the GMSA 19574 credential spec to use. 19575 type: string 19576 runAsUserName: 19577 description: The UserName in Windows to run the entrypoint 19578 of the container process. Defaults to the user specified 19579 in image metadata if unspecified. May also be set in PodSecurityContext. 19580 If set in both SecurityContext and PodSecurityContext, the 19581 value specified in SecurityContext takes precedence. 19582 type: string 19583 type: object 19584 type: object 19585 serviceAccountName: 19586 description: ServiceAccountName is the name of the ServiceAccount 19587 to use to run the Thanos Ruler Pods. 19588 type: string 19589 storage: 19590 description: Storage spec to specify how storage shall be used. 19591 properties: 19592 disableMountSubPath: 19593 description: 'Deprecated: subPath usage will be disabled by default 19594 in a future release, this option will become unnecessary. DisableMountSubPath 19595 allows to remove any subPath usage in volume mounts.' 19596 type: boolean 19597 emptyDir: 19598 description: 'EmptyDirVolumeSource to be used by the Prometheus 19599 StatefulSets. If specified, used in place of any volumeClaimTemplate. 19600 More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' 19601 properties: 19602 medium: 19603 description: 'What type of storage medium should back this 19604 directory. The default is "" which means to use the node''s 19605 default medium. Must be an empty string (default) or Memory. 19606 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 19607 type: string 19608 sizeLimit: 19609 anyOf: 19610 - type: integer 19611 - type: string 19612 description: 'Total amount of local storage required for this 19613 EmptyDir volume. The size limit is also applicable for memory 19614 medium. The maximum usage on memory medium EmptyDir would 19615 be the minimum value between the SizeLimit specified here 19616 and the sum of memory limits of all containers in a pod. 19617 The default is nil which means that the limit is undefined. 19618 More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 19619 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19620 x-kubernetes-int-or-string: true 19621 type: object 19622 volumeClaimTemplate: 19623 description: A PVC spec to be used by the Prometheus StatefulSets. 19624 properties: 19625 apiVersion: 19626 description: 'APIVersion defines the versioned schema of this 19627 representation of an object. Servers should convert recognized 19628 schemas to the latest internal value, and may reject unrecognized 19629 values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 19630 type: string 19631 kind: 19632 description: 'Kind is a string value representing the REST 19633 resource this object represents. Servers may infer this 19634 from the endpoint the client submits requests to. Cannot 19635 be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 19636 type: string 19637 metadata: 19638 description: EmbeddedMetadata contains metadata relevant to 19639 an EmbeddedResource. 19640 properties: 19641 annotations: 19642 additionalProperties: 19643 type: string 19644 description: 'Annotations is an unstructured key value 19645 map stored with a resource that may be set by external 19646 tools to store and retrieve arbitrary metadata. They 19647 are not queryable and should be preserved when modifying 19648 objects. More info: http://kubernetes.io/docs/user-guide/annotations' 19649 type: object 19650 labels: 19651 additionalProperties: 19652 type: string 19653 description: 'Map of string keys and values that can be 19654 used to organize and categorize (scope and select) objects. 19655 May match selectors of replication controllers and services. 19656 More info: http://kubernetes.io/docs/user-guide/labels' 19657 type: object 19658 name: 19659 description: 'Name must be unique within a namespace. 19660 Is required when creating resources, although some resources 19661 may allow a client to request the generation of an appropriate 19662 name automatically. Name is primarily intended for creation 19663 idempotence and configuration definition. Cannot be 19664 updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names' 19665 type: string 19666 type: object 19667 spec: 19668 description: 'Spec defines the desired characteristics of 19669 a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 19670 properties: 19671 accessModes: 19672 description: 'AccessModes contains the desired access 19673 modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 19674 items: 19675 type: string 19676 type: array 19677 dataSource: 19678 description: 'This field can be used to specify either: 19679 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot 19680 - Beta) * An existing PVC (PersistentVolumeClaim) * 19681 An existing custom resource/object that implements data 19682 population (Alpha) In order to use VolumeSnapshot object 19683 types, the appropriate feature gate must be enabled 19684 (VolumeSnapshotDataSource or AnyVolumeDataSource) If 19685 the provisioner or an external controller can support 19686 the specified data source, it will create a new volume 19687 based on the contents of the specified data source. 19688 If the specified data source is not supported, the volume 19689 will not be created and the failure will be reported 19690 as an event. In the future, we plan to support more 19691 data source types and the behavior of the provisioner 19692 may change.' 19693 properties: 19694 apiGroup: 19695 description: APIGroup is the group for the resource 19696 being referenced. If APIGroup is not specified, 19697 the specified Kind must be in the core API group. 19698 For any other third-party types, APIGroup is required. 19699 type: string 19700 kind: 19701 description: Kind is the type of resource being referenced 19702 type: string 19703 name: 19704 description: Name is the name of resource being referenced 19705 type: string 19706 required: 19707 - kind 19708 - name 19709 type: object 19710 resources: 19711 description: 'Resources represents the minimum resources 19712 the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' 19713 properties: 19714 limits: 19715 additionalProperties: 19716 anyOf: 19717 - type: integer 19718 - type: string 19719 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19720 x-kubernetes-int-or-string: true 19721 description: 'Limits describes the maximum amount 19722 of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 19723 type: object 19724 requests: 19725 additionalProperties: 19726 anyOf: 19727 - type: integer 19728 - type: string 19729 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19730 x-kubernetes-int-or-string: true 19731 description: 'Requests describes the minimum amount 19732 of compute resources required. If Requests is omitted 19733 for a container, it defaults to Limits if that is 19734 explicitly specified, otherwise to an implementation-defined 19735 value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' 19736 type: object 19737 type: object 19738 selector: 19739 description: A label query over volumes to consider for 19740 binding. 19741 properties: 19742 matchExpressions: 19743 description: matchExpressions is a list of label selector 19744 requirements. The requirements are ANDed. 19745 items: 19746 description: A label selector requirement is a selector 19747 that contains values, a key, and an operator that 19748 relates the key and values. 19749 properties: 19750 key: 19751 description: key is the label key that the selector 19752 applies to. 19753 type: string 19754 operator: 19755 description: operator represents a key's relationship 19756 to a set of values. Valid operators are In, 19757 NotIn, Exists and DoesNotExist. 19758 type: string 19759 values: 19760 description: values is an array of string values. 19761 If the operator is In or NotIn, the values 19762 array must be non-empty. If the operator is 19763 Exists or DoesNotExist, the values array must 19764 be empty. This array is replaced during a 19765 strategic merge patch. 19766 items: 19767 type: string 19768 type: array 19769 required: 19770 - key 19771 - operator 19772 type: object 19773 type: array 19774 matchLabels: 19775 additionalProperties: 19776 type: string 19777 description: matchLabels is a map of {key,value} pairs. 19778 A single {key,value} in the matchLabels map is equivalent 19779 to an element of matchExpressions, whose key field 19780 is "key", the operator is "In", and the values array 19781 contains only "value". The requirements are ANDed. 19782 type: object 19783 type: object 19784 storageClassName: 19785 description: 'Name of the StorageClass required by the 19786 claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' 19787 type: string 19788 volumeMode: 19789 description: volumeMode defines what type of volume is 19790 required by the claim. Value of Filesystem is implied 19791 when not included in claim spec. 19792 type: string 19793 volumeName: 19794 description: VolumeName is the binding reference to the 19795 PersistentVolume backing this claim. 19796 type: string 19797 type: object 19798 status: 19799 description: 'Status represents the current information/status 19800 of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 19801 properties: 19802 accessModes: 19803 description: 'AccessModes contains the actual access modes 19804 the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' 19805 items: 19806 type: string 19807 type: array 19808 capacity: 19809 additionalProperties: 19810 anyOf: 19811 - type: integer 19812 - type: string 19813 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 19814 x-kubernetes-int-or-string: true 19815 description: Represents the actual resources of the underlying 19816 volume. 19817 type: object 19818 conditions: 19819 description: Current Condition of persistent volume claim. 19820 If underlying persistent volume is being resized then 19821 the Condition will be set to 'ResizeStarted'. 19822 items: 19823 description: PersistentVolumeClaimCondition contails 19824 details about state of pvc 19825 properties: 19826 lastProbeTime: 19827 description: Last time we probed the condition. 19828 format: date-time 19829 type: string 19830 lastTransitionTime: 19831 description: Last time the condition transitioned 19832 from one status to another. 19833 format: date-time 19834 type: string 19835 message: 19836 description: Human-readable message indicating details 19837 about last transition. 19838 type: string 19839 reason: 19840 description: Unique, this should be a short, machine 19841 understandable string that gives the reason for 19842 condition's last transition. If it reports "ResizeStarted" 19843 that means the underlying persistent volume is 19844 being resized. 19845 type: string 19846 status: 19847 type: string 19848 type: 19849 description: PersistentVolumeClaimConditionType 19850 is a valid value of PersistentVolumeClaimCondition.Type 19851 type: string 19852 required: 19853 - status 19854 - type 19855 type: object 19856 type: array 19857 phase: 19858 description: Phase represents the current phase of PersistentVolumeClaim. 19859 type: string 19860 type: object 19861 type: object 19862 type: object 19863 tolerations: 19864 description: If specified, the pod's tolerations. 19865 items: 19866 description: The pod this Toleration is attached to tolerates any 19867 taint that matches the triple <key,value,effect> using the matching 19868 operator <operator>. 19869 properties: 19870 effect: 19871 description: Effect indicates the taint effect to match. Empty 19872 means match all taint effects. When specified, allowed values 19873 are NoSchedule, PreferNoSchedule and NoExecute. 19874 type: string 19875 key: 19876 description: Key is the taint key that the toleration applies 19877 to. Empty means match all taint keys. If the key is empty, 19878 operator must be Exists; this combination means to match all 19879 values and all keys. 19880 type: string 19881 operator: 19882 description: Operator represents a key's relationship to the 19883 value. Valid operators are Exists and Equal. Defaults to Equal. 19884 Exists is equivalent to wildcard for value, so that a pod 19885 can tolerate all taints of a particular category. 19886 type: string 19887 tolerationSeconds: 19888 description: TolerationSeconds represents the period of time 19889 the toleration (which must be of effect NoExecute, otherwise 19890 this field is ignored) tolerates the taint. By default, it 19891 is not set, which means tolerate the taint forever (do not 19892 evict). Zero and negative values will be treated as 0 (evict 19893 immediately) by the system. 19894 format: int64 19895 type: integer 19896 value: 19897 description: Value is the taint value the toleration matches 19898 to. If the operator is Exists, the value should be empty, 19899 otherwise just a regular string. 19900 type: string 19901 type: object 19902 type: array 19903 topologySpreadConstraints: 19904 description: If specified, the pod's topology spread constraints. 19905 items: 19906 description: TopologySpreadConstraint specifies how to spread matching 19907 pods among the given topology. 19908 properties: 19909 labelSelector: 19910 description: LabelSelector is used to find matching pods. Pods 19911 that match this label selector are counted to determine the 19912 number of pods in their corresponding topology domain. 19913 properties: 19914 matchExpressions: 19915 description: matchExpressions is a list of label selector 19916 requirements. The requirements are ANDed. 19917 items: 19918 description: A label selector requirement is a selector 19919 that contains values, a key, and an operator that relates 19920 the key and values. 19921 properties: 19922 key: 19923 description: key is the label key that the selector 19924 applies to. 19925 type: string 19926 operator: 19927 description: operator represents a key's relationship 19928 to a set of values. Valid operators are In, NotIn, 19929 Exists and DoesNotExist. 19930 type: string 19931 values: 19932 description: values is an array of string values. 19933 If the operator is In or NotIn, the values array 19934 must be non-empty. If the operator is Exists or 19935 DoesNotExist, the values array must be empty. This 19936 array is replaced during a strategic merge patch. 19937 items: 19938 type: string 19939 type: array 19940 required: 19941 - key 19942 - operator 19943 type: object 19944 type: array 19945 matchLabels: 19946 additionalProperties: 19947 type: string 19948 description: matchLabels is a map of {key,value} pairs. 19949 A single {key,value} in the matchLabels map is equivalent 19950 to an element of matchExpressions, whose key field is 19951 "key", the operator is "In", and the values array contains 19952 only "value". The requirements are ANDed. 19953 type: object 19954 type: object 19955 maxSkew: 19956 description: 'MaxSkew describes the degree to which pods may 19957 be unevenly distributed. It''s the maximum permitted difference 19958 between the number of matching pods in any two topology domains 19959 of a given topology type. For example, in a 3-zone cluster, 19960 MaxSkew is set to 1, and pods with the same labelSelector 19961 spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | 19962 - if MaxSkew is 1, incoming pod can only be scheduled to zone3 19963 to become 1/1/1; scheduling it onto zone1(zone2) would make 19964 the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - 19965 if MaxSkew is 2, incoming pod can be scheduled onto any zone. 19966 It''s a required field. Default value is 1 and 0 is not allowed.' 19967 format: int32 19968 type: integer 19969 topologyKey: 19970 description: TopologyKey is the key of node labels. Nodes that 19971 have a label with this key and identical values are considered 19972 to be in the same topology. We consider each <key, value> 19973 as a "bucket", and try to put balanced number of pods into 19974 each bucket. It's a required field. 19975 type: string 19976 whenUnsatisfiable: 19977 description: 'WhenUnsatisfiable indicates how to deal with a 19978 pod if it doesn''t satisfy the spread constraint. - DoNotSchedule 19979 (default) tells the scheduler not to schedule it - ScheduleAnyway 19980 tells the scheduler to still schedule it It''s considered 19981 as "Unsatisfiable" if and only if placing incoming pod on 19982 any topology violates "MaxSkew". For example, in a 3-zone 19983 cluster, MaxSkew is set to 1, and pods with the same labelSelector 19984 spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | 19985 If WhenUnsatisfiable is set to DoNotSchedule, incoming pod 19986 can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) 19987 as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In 19988 other words, the cluster can still be imbalanced, but scheduler 19989 won''t make it *more* imbalanced. It''s a required field.' 19990 type: string 19991 required: 19992 - maxSkew 19993 - topologyKey 19994 - whenUnsatisfiable 19995 type: object 19996 type: array 19997 tracingConfig: 19998 description: TracingConfig configures tracing in Thanos. This is an 19999 experimental feature, it may change in any upcoming release in a 20000 breaking way. 20001 properties: 20002 key: 20003 description: The key of the secret to select from. Must be a 20004 valid secret key. 20005 type: string 20006 name: 20007 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20008 TODO: Add other useful fields. apiVersion, kind, uid?' 20009 type: string 20010 optional: 20011 description: Specify whether the Secret or its key must be defined 20012 type: boolean 20013 required: 20014 - key 20015 type: object 20016 volumes: 20017 description: Volumes allows configuration of additional volumes on 20018 the output StatefulSet definition. Volumes specified will be appended 20019 to other volumes that are generated as a result of StorageSpec objects. 20020 items: 20021 description: Volume represents a named volume in a pod that may 20022 be accessed by any container in the pod. 20023 properties: 20024 awsElasticBlockStore: 20025 description: 'AWSElasticBlockStore represents an AWS Disk resource 20026 that is attached to a kubelet''s host machine and then exposed 20027 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 20028 properties: 20029 fsType: 20030 description: 'Filesystem type of the volume that you want 20031 to mount. Tip: Ensure that the filesystem type is supported 20032 by the host operating system. Examples: "ext4", "xfs", 20033 "ntfs". Implicitly inferred to be "ext4" if unspecified. 20034 More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 20035 TODO: how do we prevent errors in the filesystem from 20036 compromising the machine' 20037 type: string 20038 partition: 20039 description: 'The partition in the volume that you want 20040 to mount. If omitted, the default is to mount by volume 20041 name. Examples: For volume /dev/sda1, you specify the 20042 partition as "1". Similarly, the volume partition for 20043 /dev/sda is "0" (or you can leave the property empty).' 20044 format: int32 20045 type: integer 20046 readOnly: 20047 description: 'Specify "true" to force and set the ReadOnly 20048 property in VolumeMounts to "true". If omitted, the default 20049 is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 20050 type: boolean 20051 volumeID: 20052 description: 'Unique ID of the persistent disk resource 20053 in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore' 20054 type: string 20055 required: 20056 - volumeID 20057 type: object 20058 azureDisk: 20059 description: AzureDisk represents an Azure Data Disk mount on 20060 the host and bind mount to the pod. 20061 properties: 20062 cachingMode: 20063 description: 'Host Caching mode: None, Read Only, Read Write.' 20064 type: string 20065 diskName: 20066 description: The Name of the data disk in the blob storage 20067 type: string 20068 diskURI: 20069 description: The URI the data disk in the blob storage 20070 type: string 20071 fsType: 20072 description: Filesystem type to mount. Must be a filesystem 20073 type supported by the host operating system. Ex. "ext4", 20074 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 20075 type: string 20076 kind: 20077 description: 'Expected values Shared: multiple blob disks 20078 per storage account Dedicated: single blob disk per storage 20079 account Managed: azure managed data disk (only in managed 20080 availability set). defaults to shared' 20081 type: string 20082 readOnly: 20083 description: Defaults to false (read/write). ReadOnly here 20084 will force the ReadOnly setting in VolumeMounts. 20085 type: boolean 20086 required: 20087 - diskName 20088 - diskURI 20089 type: object 20090 azureFile: 20091 description: AzureFile represents an Azure File Service mount 20092 on the host and bind mount to the pod. 20093 properties: 20094 readOnly: 20095 description: Defaults to false (read/write). ReadOnly here 20096 will force the ReadOnly setting in VolumeMounts. 20097 type: boolean 20098 secretName: 20099 description: the name of secret that contains Azure Storage 20100 Account Name and Key 20101 type: string 20102 shareName: 20103 description: Share Name 20104 type: string 20105 required: 20106 - secretName 20107 - shareName 20108 type: object 20109 cephfs: 20110 description: CephFS represents a Ceph FS mount on the host that 20111 shares a pod's lifetime 20112 properties: 20113 monitors: 20114 description: 'Required: Monitors is a collection of Ceph 20115 monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20116 items: 20117 type: string 20118 type: array 20119 path: 20120 description: 'Optional: Used as the mounted root, rather 20121 than the full Ceph tree, default is /' 20122 type: string 20123 readOnly: 20124 description: 'Optional: Defaults to false (read/write). 20125 ReadOnly here will force the ReadOnly setting in VolumeMounts. 20126 More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20127 type: boolean 20128 secretFile: 20129 description: 'Optional: SecretFile is the path to key ring 20130 for User, default is /etc/ceph/user.secret More info: 20131 https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20132 type: string 20133 secretRef: 20134 description: 'Optional: SecretRef is reference to the authentication 20135 secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20136 properties: 20137 name: 20138 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20139 TODO: Add other useful fields. apiVersion, kind, uid?' 20140 type: string 20141 type: object 20142 user: 20143 description: 'Optional: User is the rados user name, default 20144 is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it' 20145 type: string 20146 required: 20147 - monitors 20148 type: object 20149 cinder: 20150 description: 'Cinder represents a cinder volume attached and 20151 mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20152 properties: 20153 fsType: 20154 description: 'Filesystem type to mount. Must be a filesystem 20155 type supported by the host operating system. Examples: 20156 "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" 20157 if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20158 type: string 20159 readOnly: 20160 description: 'Optional: Defaults to false (read/write). 20161 ReadOnly here will force the ReadOnly setting in VolumeMounts. 20162 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20163 type: boolean 20164 secretRef: 20165 description: 'Optional: points to a secret object containing 20166 parameters used to connect to OpenStack.' 20167 properties: 20168 name: 20169 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20170 TODO: Add other useful fields. apiVersion, kind, uid?' 20171 type: string 20172 type: object 20173 volumeID: 20174 description: 'volume id used to identify the volume in cinder. 20175 More info: https://examples.k8s.io/mysql-cinder-pd/README.md' 20176 type: string 20177 required: 20178 - volumeID 20179 type: object 20180 configMap: 20181 description: ConfigMap represents a configMap that should populate 20182 this volume 20183 properties: 20184 defaultMode: 20185 description: 'Optional: mode bits to use on created files 20186 by default. Must be a value between 0 and 0777. Defaults 20187 to 0644. Directories within the path are not affected 20188 by this setting. This might be in conflict with other 20189 options that affect the file mode, like fsGroup, and the 20190 result can be other mode bits set.' 20191 format: int32 20192 type: integer 20193 items: 20194 description: If unspecified, each key-value pair in the 20195 Data field of the referenced ConfigMap will be projected 20196 into the volume as a file whose name is the key and content 20197 is the value. If specified, the listed keys will be projected 20198 into the specified paths, and unlisted keys will not be 20199 present. If a key is specified which is not present in 20200 the ConfigMap, the volume setup will error unless it is 20201 marked optional. Paths must be relative and may not contain 20202 the '..' path or start with '..'. 20203 items: 20204 description: Maps a string key to a path within a volume. 20205 properties: 20206 key: 20207 description: The key to project. 20208 type: string 20209 mode: 20210 description: 'Optional: mode bits to use on this file, 20211 must be a value between 0 and 0777. If not specified, 20212 the volume defaultMode will be used. This might 20213 be in conflict with other options that affect the 20214 file mode, like fsGroup, and the result can be other 20215 mode bits set.' 20216 format: int32 20217 type: integer 20218 path: 20219 description: The relative path of the file to map 20220 the key to. May not be an absolute path. May not 20221 contain the path element '..'. May not start with 20222 the string '..'. 20223 type: string 20224 required: 20225 - key 20226 - path 20227 type: object 20228 type: array 20229 name: 20230 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20231 TODO: Add other useful fields. apiVersion, kind, uid?' 20232 type: string 20233 optional: 20234 description: Specify whether the ConfigMap or its keys must 20235 be defined 20236 type: boolean 20237 type: object 20238 csi: 20239 description: CSI (Container Storage Interface) represents storage 20240 that is handled by an external CSI driver (Alpha feature). 20241 properties: 20242 driver: 20243 description: Driver is the name of the CSI driver that handles 20244 this volume. Consult with your admin for the correct name 20245 as registered in the cluster. 20246 type: string 20247 fsType: 20248 description: Filesystem type to mount. Ex. "ext4", "xfs", 20249 "ntfs". If not provided, the empty value is passed to 20250 the associated CSI driver which will determine the default 20251 filesystem to apply. 20252 type: string 20253 nodePublishSecretRef: 20254 description: NodePublishSecretRef is a reference to the 20255 secret object containing sensitive information to pass 20256 to the CSI driver to complete the CSI NodePublishVolume 20257 and NodeUnpublishVolume calls. This field is optional, 20258 and may be empty if no secret is required. If the secret 20259 object contains more than one secret, all secret references 20260 are passed. 20261 properties: 20262 name: 20263 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20264 TODO: Add other useful fields. apiVersion, kind, uid?' 20265 type: string 20266 type: object 20267 readOnly: 20268 description: Specifies a read-only configuration for the 20269 volume. Defaults to false (read/write). 20270 type: boolean 20271 volumeAttributes: 20272 additionalProperties: 20273 type: string 20274 description: VolumeAttributes stores driver-specific properties 20275 that are passed to the CSI driver. Consult your driver's 20276 documentation for supported values. 20277 type: object 20278 required: 20279 - driver 20280 type: object 20281 downwardAPI: 20282 description: DownwardAPI represents downward API about the pod 20283 that should populate this volume 20284 properties: 20285 defaultMode: 20286 description: 'Optional: mode bits to use on created files 20287 by default. Must be a value between 0 and 0777. Defaults 20288 to 0644. Directories within the path are not affected 20289 by this setting. This might be in conflict with other 20290 options that affect the file mode, like fsGroup, and the 20291 result can be other mode bits set.' 20292 format: int32 20293 type: integer 20294 items: 20295 description: Items is a list of downward API volume file 20296 items: 20297 description: DownwardAPIVolumeFile represents information 20298 to create the file containing the pod field 20299 properties: 20300 fieldRef: 20301 description: 'Required: Selects a field of the pod: 20302 only annotations, labels, name and namespace are 20303 supported.' 20304 properties: 20305 apiVersion: 20306 description: Version of the schema the FieldPath 20307 is written in terms of, defaults to "v1". 20308 type: string 20309 fieldPath: 20310 description: Path of the field to select in the 20311 specified API version. 20312 type: string 20313 required: 20314 - fieldPath 20315 type: object 20316 mode: 20317 description: 'Optional: mode bits to use on this file, 20318 must be a value between 0 and 0777. If not specified, 20319 the volume defaultMode will be used. This might 20320 be in conflict with other options that affect the 20321 file mode, like fsGroup, and the result can be other 20322 mode bits set.' 20323 format: int32 20324 type: integer 20325 path: 20326 description: 'Required: Path is the relative path 20327 name of the file to be created. Must not be absolute 20328 or contain the ''..'' path. Must be utf-8 encoded. 20329 The first item of the relative path must not start 20330 with ''..''' 20331 type: string 20332 resourceFieldRef: 20333 description: 'Selects a resource of the container: 20334 only resources limits and requests (limits.cpu, 20335 limits.memory, requests.cpu and requests.memory) 20336 are currently supported.' 20337 properties: 20338 containerName: 20339 description: 'Container name: required for volumes, 20340 optional for env vars' 20341 type: string 20342 divisor: 20343 anyOf: 20344 - type: integer 20345 - type: string 20346 description: Specifies the output format of the 20347 exposed resources, defaults to "1" 20348 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20349 x-kubernetes-int-or-string: true 20350 resource: 20351 description: 'Required: resource to select' 20352 type: string 20353 required: 20354 - resource 20355 type: object 20356 required: 20357 - path 20358 type: object 20359 type: array 20360 type: object 20361 emptyDir: 20362 description: 'EmptyDir represents a temporary directory that 20363 shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 20364 properties: 20365 medium: 20366 description: 'What type of storage medium should back this 20367 directory. The default is "" which means to use the node''s 20368 default medium. Must be an empty string (default) or Memory. 20369 More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' 20370 type: string 20371 sizeLimit: 20372 anyOf: 20373 - type: integer 20374 - type: string 20375 description: 'Total amount of local storage required for 20376 this EmptyDir volume. The size limit is also applicable 20377 for memory medium. The maximum usage on memory medium 20378 EmptyDir would be the minimum value between the SizeLimit 20379 specified here and the sum of memory limits of all containers 20380 in a pod. The default is nil which means that the limit 20381 is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' 20382 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20383 x-kubernetes-int-or-string: true 20384 type: object 20385 fc: 20386 description: FC represents a Fibre Channel resource that is 20387 attached to a kubelet's host machine and then exposed to the 20388 pod. 20389 properties: 20390 fsType: 20391 description: 'Filesystem type to mount. Must be a filesystem 20392 type supported by the host operating system. Ex. "ext4", 20393 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 20394 TODO: how do we prevent errors in the filesystem from 20395 compromising the machine' 20396 type: string 20397 lun: 20398 description: 'Optional: FC target lun number' 20399 format: int32 20400 type: integer 20401 readOnly: 20402 description: 'Optional: Defaults to false (read/write). 20403 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 20404 type: boolean 20405 targetWWNs: 20406 description: 'Optional: FC target worldwide names (WWNs)' 20407 items: 20408 type: string 20409 type: array 20410 wwids: 20411 description: 'Optional: FC volume world wide identifiers 20412 (wwids) Either wwids or combination of targetWWNs and 20413 lun must be set, but not both simultaneously.' 20414 items: 20415 type: string 20416 type: array 20417 type: object 20418 flexVolume: 20419 description: FlexVolume represents a generic volume resource 20420 that is provisioned/attached using an exec based plugin. 20421 properties: 20422 driver: 20423 description: Driver is the name of the driver to use for 20424 this volume. 20425 type: string 20426 fsType: 20427 description: Filesystem type to mount. Must be a filesystem 20428 type supported by the host operating system. Ex. "ext4", 20429 "xfs", "ntfs". The default filesystem depends on FlexVolume 20430 script. 20431 type: string 20432 options: 20433 additionalProperties: 20434 type: string 20435 description: 'Optional: Extra command options if any.' 20436 type: object 20437 readOnly: 20438 description: 'Optional: Defaults to false (read/write). 20439 ReadOnly here will force the ReadOnly setting in VolumeMounts.' 20440 type: boolean 20441 secretRef: 20442 description: 'Optional: SecretRef is reference to the secret 20443 object containing sensitive information to pass to the 20444 plugin scripts. This may be empty if no secret object 20445 is specified. If the secret object contains more than 20446 one secret, all secrets are passed to the plugin scripts.' 20447 properties: 20448 name: 20449 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20450 TODO: Add other useful fields. apiVersion, kind, uid?' 20451 type: string 20452 type: object 20453 required: 20454 - driver 20455 type: object 20456 flocker: 20457 description: Flocker represents a Flocker volume attached to 20458 a kubelet's host machine. This depends on the Flocker control 20459 service being running 20460 properties: 20461 datasetName: 20462 description: Name of the dataset stored as metadata -> name 20463 on the dataset for Flocker should be considered as deprecated 20464 type: string 20465 datasetUUID: 20466 description: UUID of the dataset. This is unique identifier 20467 of a Flocker dataset 20468 type: string 20469 type: object 20470 gcePersistentDisk: 20471 description: 'GCEPersistentDisk represents a GCE Disk resource 20472 that is attached to a kubelet''s host machine and then exposed 20473 to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20474 properties: 20475 fsType: 20476 description: 'Filesystem type of the volume that you want 20477 to mount. Tip: Ensure that the filesystem type is supported 20478 by the host operating system. Examples: "ext4", "xfs", 20479 "ntfs". Implicitly inferred to be "ext4" if unspecified. 20480 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 20481 TODO: how do we prevent errors in the filesystem from 20482 compromising the machine' 20483 type: string 20484 partition: 20485 description: 'The partition in the volume that you want 20486 to mount. If omitted, the default is to mount by volume 20487 name. Examples: For volume /dev/sda1, you specify the 20488 partition as "1". Similarly, the volume partition for 20489 /dev/sda is "0" (or you can leave the property empty). 20490 More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20491 format: int32 20492 type: integer 20493 pdName: 20494 description: 'Unique name of the PD resource in GCE. Used 20495 to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20496 type: string 20497 readOnly: 20498 description: 'ReadOnly here will force the ReadOnly setting 20499 in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk' 20500 type: boolean 20501 required: 20502 - pdName 20503 type: object 20504 gitRepo: 20505 description: 'GitRepo represents a git repository at a particular 20506 revision. DEPRECATED: GitRepo is deprecated. To provision 20507 a container with a git repo, mount an EmptyDir into an InitContainer 20508 that clones the repo using git, then mount the EmptyDir into 20509 the Pod''s container.' 20510 properties: 20511 directory: 20512 description: Target directory name. Must not contain or 20513 start with '..'. If '.' is supplied, the volume directory 20514 will be the git repository. Otherwise, if specified, 20515 the volume will contain the git repository in the subdirectory 20516 with the given name. 20517 type: string 20518 repository: 20519 description: Repository URL 20520 type: string 20521 revision: 20522 description: Commit hash for the specified revision. 20523 type: string 20524 required: 20525 - repository 20526 type: object 20527 glusterfs: 20528 description: 'Glusterfs represents a Glusterfs mount on the 20529 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md' 20530 properties: 20531 endpoints: 20532 description: 'EndpointsName is the endpoint name that details 20533 Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 20534 type: string 20535 path: 20536 description: 'Path is the Glusterfs volume path. More info: 20537 https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 20538 type: string 20539 readOnly: 20540 description: 'ReadOnly here will force the Glusterfs volume 20541 to be mounted with read-only permissions. Defaults to 20542 false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod' 20543 type: boolean 20544 required: 20545 - endpoints 20546 - path 20547 type: object 20548 hostPath: 20549 description: 'HostPath represents a pre-existing file or directory 20550 on the host machine that is directly exposed to the container. 20551 This is generally used for system agents or other privileged 20552 things that are allowed to see the host machine. Most containers 20553 will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath 20554 --- TODO(jonesdl) We need to restrict who can use host directory 20555 mounts and who can/can not mount host directories as read/write.' 20556 properties: 20557 path: 20558 description: 'Path of the directory on the host. If the 20559 path is a symlink, it will follow the link to the real 20560 path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 20561 type: string 20562 type: 20563 description: 'Type for HostPath Volume Defaults to "" More 20564 info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath' 20565 type: string 20566 required: 20567 - path 20568 type: object 20569 iscsi: 20570 description: 'ISCSI represents an ISCSI Disk resource that is 20571 attached to a kubelet''s host machine and then exposed to 20572 the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md' 20573 properties: 20574 chapAuthDiscovery: 20575 description: whether support iSCSI Discovery CHAP authentication 20576 type: boolean 20577 chapAuthSession: 20578 description: whether support iSCSI Session CHAP authentication 20579 type: boolean 20580 fsType: 20581 description: 'Filesystem type of the volume that you want 20582 to mount. Tip: Ensure that the filesystem type is supported 20583 by the host operating system. Examples: "ext4", "xfs", 20584 "ntfs". Implicitly inferred to be "ext4" if unspecified. 20585 More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi 20586 TODO: how do we prevent errors in the filesystem from 20587 compromising the machine' 20588 type: string 20589 initiatorName: 20590 description: Custom iSCSI Initiator Name. If initiatorName 20591 is specified with iscsiInterface simultaneously, new iSCSI 20592 interface <target portal>:<volume name> will be created 20593 for the connection. 20594 type: string 20595 iqn: 20596 description: Target iSCSI Qualified Name. 20597 type: string 20598 iscsiInterface: 20599 description: iSCSI Interface Name that uses an iSCSI transport. 20600 Defaults to 'default' (tcp). 20601 type: string 20602 lun: 20603 description: iSCSI Target Lun number. 20604 format: int32 20605 type: integer 20606 portals: 20607 description: iSCSI Target Portal List. The portal is either 20608 an IP or ip_addr:port if the port is other than default 20609 (typically TCP ports 860 and 3260). 20610 items: 20611 type: string 20612 type: array 20613 readOnly: 20614 description: ReadOnly here will force the ReadOnly setting 20615 in VolumeMounts. Defaults to false. 20616 type: boolean 20617 secretRef: 20618 description: CHAP Secret for iSCSI target and initiator 20619 authentication 20620 properties: 20621 name: 20622 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20623 TODO: Add other useful fields. apiVersion, kind, uid?' 20624 type: string 20625 type: object 20626 targetPortal: 20627 description: iSCSI Target Portal. The Portal is either an 20628 IP or ip_addr:port if the port is other than default (typically 20629 TCP ports 860 and 3260). 20630 type: string 20631 required: 20632 - iqn 20633 - lun 20634 - targetPortal 20635 type: object 20636 name: 20637 description: 'Volume''s name. Must be a DNS_LABEL and unique 20638 within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' 20639 type: string 20640 nfs: 20641 description: 'NFS represents an NFS mount on the host that shares 20642 a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20643 properties: 20644 path: 20645 description: 'Path that is exported by the NFS server. More 20646 info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20647 type: string 20648 readOnly: 20649 description: 'ReadOnly here will force the NFS export to 20650 be mounted with read-only permissions. Defaults to false. 20651 More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20652 type: boolean 20653 server: 20654 description: 'Server is the hostname or IP address of the 20655 NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs' 20656 type: string 20657 required: 20658 - path 20659 - server 20660 type: object 20661 persistentVolumeClaim: 20662 description: 'PersistentVolumeClaimVolumeSource represents a 20663 reference to a PersistentVolumeClaim in the same namespace. 20664 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 20665 properties: 20666 claimName: 20667 description: 'ClaimName is the name of a PersistentVolumeClaim 20668 in the same namespace as the pod using this volume. More 20669 info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' 20670 type: string 20671 readOnly: 20672 description: Will force the ReadOnly setting in VolumeMounts. 20673 Default false. 20674 type: boolean 20675 required: 20676 - claimName 20677 type: object 20678 photonPersistentDisk: 20679 description: PhotonPersistentDisk represents a PhotonController 20680 persistent disk attached and mounted on kubelets host machine 20681 properties: 20682 fsType: 20683 description: Filesystem type to mount. Must be a filesystem 20684 type supported by the host operating system. Ex. "ext4", 20685 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 20686 type: string 20687 pdID: 20688 description: ID that identifies Photon Controller persistent 20689 disk 20690 type: string 20691 required: 20692 - pdID 20693 type: object 20694 portworxVolume: 20695 description: PortworxVolume represents a portworx volume attached 20696 and mounted on kubelets host machine 20697 properties: 20698 fsType: 20699 description: FSType represents the filesystem type to mount 20700 Must be a filesystem type supported by the host operating 20701 system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" 20702 if unspecified. 20703 type: string 20704 readOnly: 20705 description: Defaults to false (read/write). ReadOnly here 20706 will force the ReadOnly setting in VolumeMounts. 20707 type: boolean 20708 volumeID: 20709 description: VolumeID uniquely identifies a Portworx volume 20710 type: string 20711 required: 20712 - volumeID 20713 type: object 20714 projected: 20715 description: Items for all in one resources secrets, configmaps, 20716 and downward API 20717 properties: 20718 defaultMode: 20719 description: Mode bits to use on created files by default. 20720 Must be a value between 0 and 0777. Directories within 20721 the path are not affected by this setting. This might 20722 be in conflict with other options that affect the file 20723 mode, like fsGroup, and the result can be other mode bits 20724 set. 20725 format: int32 20726 type: integer 20727 sources: 20728 description: list of volume projections 20729 items: 20730 description: Projection that may be projected along with 20731 other supported volume types 20732 properties: 20733 configMap: 20734 description: information about the configMap data 20735 to project 20736 properties: 20737 items: 20738 description: If unspecified, each key-value pair 20739 in the Data field of the referenced ConfigMap 20740 will be projected into the volume as a file 20741 whose name is the key and content is the value. 20742 If specified, the listed keys will be projected 20743 into the specified paths, and unlisted keys 20744 will not be present. If a key is specified which 20745 is not present in the ConfigMap, the volume 20746 setup will error unless it is marked optional. 20747 Paths must be relative and may not contain the 20748 '..' path or start with '..'. 20749 items: 20750 description: Maps a string key to a path within 20751 a volume. 20752 properties: 20753 key: 20754 description: The key to project. 20755 type: string 20756 mode: 20757 description: 'Optional: mode bits to use 20758 on this file, must be a value between 20759 0 and 0777. If not specified, the volume 20760 defaultMode will be used. This might be 20761 in conflict with other options that affect 20762 the file mode, like fsGroup, and the result 20763 can be other mode bits set.' 20764 format: int32 20765 type: integer 20766 path: 20767 description: The relative path of the file 20768 to map the key to. May not be an absolute 20769 path. May not contain the path element 20770 '..'. May not start with the string '..'. 20771 type: string 20772 required: 20773 - key 20774 - path 20775 type: object 20776 type: array 20777 name: 20778 description: 'Name of the referent. More info: 20779 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20780 TODO: Add other useful fields. apiVersion, kind, 20781 uid?' 20782 type: string 20783 optional: 20784 description: Specify whether the ConfigMap or 20785 its keys must be defined 20786 type: boolean 20787 type: object 20788 downwardAPI: 20789 description: information about the downwardAPI data 20790 to project 20791 properties: 20792 items: 20793 description: Items is a list of DownwardAPIVolume 20794 file 20795 items: 20796 description: DownwardAPIVolumeFile represents 20797 information to create the file containing 20798 the pod field 20799 properties: 20800 fieldRef: 20801 description: 'Required: Selects a field 20802 of the pod: only annotations, labels, 20803 name and namespace are supported.' 20804 properties: 20805 apiVersion: 20806 description: Version of the schema the 20807 FieldPath is written in terms of, 20808 defaults to "v1". 20809 type: string 20810 fieldPath: 20811 description: Path of the field to select 20812 in the specified API version. 20813 type: string 20814 required: 20815 - fieldPath 20816 type: object 20817 mode: 20818 description: 'Optional: mode bits to use 20819 on this file, must be a value between 20820 0 and 0777. If not specified, the volume 20821 defaultMode will be used. This might be 20822 in conflict with other options that affect 20823 the file mode, like fsGroup, and the result 20824 can be other mode bits set.' 20825 format: int32 20826 type: integer 20827 path: 20828 description: 'Required: Path is the relative 20829 path name of the file to be created. Must 20830 not be absolute or contain the ''..'' 20831 path. Must be utf-8 encoded. The first 20832 item of the relative path must not start 20833 with ''..''' 20834 type: string 20835 resourceFieldRef: 20836 description: 'Selects a resource of the 20837 container: only resources limits and requests 20838 (limits.cpu, limits.memory, requests.cpu 20839 and requests.memory) are currently supported.' 20840 properties: 20841 containerName: 20842 description: 'Container name: required 20843 for volumes, optional for env vars' 20844 type: string 20845 divisor: 20846 anyOf: 20847 - type: integer 20848 - type: string 20849 description: Specifies the output format 20850 of the exposed resources, defaults 20851 to "1" 20852 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 20853 x-kubernetes-int-or-string: true 20854 resource: 20855 description: 'Required: resource to 20856 select' 20857 type: string 20858 required: 20859 - resource 20860 type: object 20861 required: 20862 - path 20863 type: object 20864 type: array 20865 type: object 20866 secret: 20867 description: information about the secret data to 20868 project 20869 properties: 20870 items: 20871 description: If unspecified, each key-value pair 20872 in the Data field of the referenced Secret will 20873 be projected into the volume as a file whose 20874 name is the key and content is the value. If 20875 specified, the listed keys will be projected 20876 into the specified paths, and unlisted keys 20877 will not be present. If a key is specified which 20878 is not present in the Secret, the volume setup 20879 will error unless it is marked optional. Paths 20880 must be relative and may not contain the '..' 20881 path or start with '..'. 20882 items: 20883 description: Maps a string key to a path within 20884 a volume. 20885 properties: 20886 key: 20887 description: The key to project. 20888 type: string 20889 mode: 20890 description: 'Optional: mode bits to use 20891 on this file, must be a value between 20892 0 and 0777. If not specified, the volume 20893 defaultMode will be used. This might be 20894 in conflict with other options that affect 20895 the file mode, like fsGroup, and the result 20896 can be other mode bits set.' 20897 format: int32 20898 type: integer 20899 path: 20900 description: The relative path of the file 20901 to map the key to. May not be an absolute 20902 path. May not contain the path element 20903 '..'. May not start with the string '..'. 20904 type: string 20905 required: 20906 - key 20907 - path 20908 type: object 20909 type: array 20910 name: 20911 description: 'Name of the referent. More info: 20912 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 20913 TODO: Add other useful fields. apiVersion, kind, 20914 uid?' 20915 type: string 20916 optional: 20917 description: Specify whether the Secret or its 20918 key must be defined 20919 type: boolean 20920 type: object 20921 serviceAccountToken: 20922 description: information about the serviceAccountToken 20923 data to project 20924 properties: 20925 audience: 20926 description: Audience is the intended audience 20927 of the token. A recipient of a token must identify 20928 itself with an identifier specified in the audience 20929 of the token, and otherwise should reject the 20930 token. The audience defaults to the identifier 20931 of the apiserver. 20932 type: string 20933 expirationSeconds: 20934 description: ExpirationSeconds is the requested 20935 duration of validity of the service account 20936 token. As the token approaches expiration, the 20937 kubelet volume plugin will proactively rotate 20938 the service account token. The kubelet will 20939 start trying to rotate the token if the token 20940 is older than 80 percent of its time to live 20941 or if the token is older than 24 hours.Defaults 20942 to 1 hour and must be at least 10 minutes. 20943 format: int64 20944 type: integer 20945 path: 20946 description: Path is the path relative to the 20947 mount point of the file to project the token 20948 into. 20949 type: string 20950 required: 20951 - path 20952 type: object 20953 type: object 20954 type: array 20955 required: 20956 - sources 20957 type: object 20958 quobyte: 20959 description: Quobyte represents a Quobyte mount on the host 20960 that shares a pod's lifetime 20961 properties: 20962 group: 20963 description: Group to map volume access to Default is no 20964 group 20965 type: string 20966 readOnly: 20967 description: ReadOnly here will force the Quobyte volume 20968 to be mounted with read-only permissions. Defaults to 20969 false. 20970 type: boolean 20971 registry: 20972 description: Registry represents a single or multiple Quobyte 20973 Registry services specified as a string as host:port pair 20974 (multiple entries are separated with commas) which acts 20975 as the central registry for volumes 20976 type: string 20977 tenant: 20978 description: Tenant owning the given Quobyte volume in the 20979 Backend Used with dynamically provisioned Quobyte volumes, 20980 value is set by the plugin 20981 type: string 20982 user: 20983 description: User to map volume access to Defaults to serivceaccount 20984 user 20985 type: string 20986 volume: 20987 description: Volume is a string that references an already 20988 created Quobyte volume by name. 20989 type: string 20990 required: 20991 - registry 20992 - volume 20993 type: object 20994 rbd: 20995 description: 'RBD represents a Rados Block Device mount on the 20996 host that shares a pod''s lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md' 20997 properties: 20998 fsType: 20999 description: 'Filesystem type of the volume that you want 21000 to mount. Tip: Ensure that the filesystem type is supported 21001 by the host operating system. Examples: "ext4", "xfs", 21002 "ntfs". Implicitly inferred to be "ext4" if unspecified. 21003 More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd 21004 TODO: how do we prevent errors in the filesystem from 21005 compromising the machine' 21006 type: string 21007 image: 21008 description: 'The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21009 type: string 21010 keyring: 21011 description: 'Keyring is the path to key ring for RBDUser. 21012 Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21013 type: string 21014 monitors: 21015 description: 'A collection of Ceph monitors. More info: 21016 https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21017 items: 21018 type: string 21019 type: array 21020 pool: 21021 description: 'The rados pool name. Default is rbd. More 21022 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21023 type: string 21024 readOnly: 21025 description: 'ReadOnly here will force the ReadOnly setting 21026 in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21027 type: boolean 21028 secretRef: 21029 description: 'SecretRef is name of the authentication secret 21030 for RBDUser. If provided overrides keyring. Default is 21031 nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21032 properties: 21033 name: 21034 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21035 TODO: Add other useful fields. apiVersion, kind, uid?' 21036 type: string 21037 type: object 21038 user: 21039 description: 'The rados user name. Default is admin. More 21040 info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it' 21041 type: string 21042 required: 21043 - image 21044 - monitors 21045 type: object 21046 scaleIO: 21047 description: ScaleIO represents a ScaleIO persistent volume 21048 attached and mounted on Kubernetes nodes. 21049 properties: 21050 fsType: 21051 description: Filesystem type to mount. Must be a filesystem 21052 type supported by the host operating system. Ex. "ext4", 21053 "xfs", "ntfs". Default is "xfs". 21054 type: string 21055 gateway: 21056 description: The host address of the ScaleIO API Gateway. 21057 type: string 21058 protectionDomain: 21059 description: The name of the ScaleIO Protection Domain for 21060 the configured storage. 21061 type: string 21062 readOnly: 21063 description: Defaults to false (read/write). ReadOnly here 21064 will force the ReadOnly setting in VolumeMounts. 21065 type: boolean 21066 secretRef: 21067 description: SecretRef references to the secret for ScaleIO 21068 user and other sensitive information. If this is not provided, 21069 Login operation will fail. 21070 properties: 21071 name: 21072 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21073 TODO: Add other useful fields. apiVersion, kind, uid?' 21074 type: string 21075 type: object 21076 sslEnabled: 21077 description: Flag to enable/disable SSL communication with 21078 Gateway, default false 21079 type: boolean 21080 storageMode: 21081 description: Indicates whether the storage for a volume 21082 should be ThickProvisioned or ThinProvisioned. Default 21083 is ThinProvisioned. 21084 type: string 21085 storagePool: 21086 description: The ScaleIO Storage Pool associated with the 21087 protection domain. 21088 type: string 21089 system: 21090 description: The name of the storage system as configured 21091 in ScaleIO. 21092 type: string 21093 volumeName: 21094 description: The name of a volume already created in the 21095 ScaleIO system that is associated with this volume source. 21096 type: string 21097 required: 21098 - gateway 21099 - secretRef 21100 - system 21101 type: object 21102 secret: 21103 description: 'Secret represents a secret that should populate 21104 this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 21105 properties: 21106 defaultMode: 21107 description: 'Optional: mode bits to use on created files 21108 by default. Must be a value between 0 and 0777. Defaults 21109 to 0644. Directories within the path are not affected 21110 by this setting. This might be in conflict with other 21111 options that affect the file mode, like fsGroup, and the 21112 result can be other mode bits set.' 21113 format: int32 21114 type: integer 21115 items: 21116 description: If unspecified, each key-value pair in the 21117 Data field of the referenced Secret will be projected 21118 into the volume as a file whose name is the key and content 21119 is the value. If specified, the listed keys will be projected 21120 into the specified paths, and unlisted keys will not be 21121 present. If a key is specified which is not present in 21122 the Secret, the volume setup will error unless it is marked 21123 optional. Paths must be relative and may not contain the 21124 '..' path or start with '..'. 21125 items: 21126 description: Maps a string key to a path within a volume. 21127 properties: 21128 key: 21129 description: The key to project. 21130 type: string 21131 mode: 21132 description: 'Optional: mode bits to use on this file, 21133 must be a value between 0 and 0777. If not specified, 21134 the volume defaultMode will be used. This might 21135 be in conflict with other options that affect the 21136 file mode, like fsGroup, and the result can be other 21137 mode bits set.' 21138 format: int32 21139 type: integer 21140 path: 21141 description: The relative path of the file to map 21142 the key to. May not be an absolute path. May not 21143 contain the path element '..'. May not start with 21144 the string '..'. 21145 type: string 21146 required: 21147 - key 21148 - path 21149 type: object 21150 type: array 21151 optional: 21152 description: Specify whether the Secret or its keys must 21153 be defined 21154 type: boolean 21155 secretName: 21156 description: 'Name of the secret in the pod''s namespace 21157 to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret' 21158 type: string 21159 type: object 21160 storageos: 21161 description: StorageOS represents a StorageOS volume attached 21162 and mounted on Kubernetes nodes. 21163 properties: 21164 fsType: 21165 description: Filesystem type to mount. Must be a filesystem 21166 type supported by the host operating system. Ex. "ext4", 21167 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 21168 type: string 21169 readOnly: 21170 description: Defaults to false (read/write). ReadOnly here 21171 will force the ReadOnly setting in VolumeMounts. 21172 type: boolean 21173 secretRef: 21174 description: SecretRef specifies the secret to use for obtaining 21175 the StorageOS API credentials. If not specified, default 21176 values will be attempted. 21177 properties: 21178 name: 21179 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 21180 TODO: Add other useful fields. apiVersion, kind, uid?' 21181 type: string 21182 type: object 21183 volumeName: 21184 description: VolumeName is the human-readable name of the 21185 StorageOS volume. Volume names are only unique within 21186 a namespace. 21187 type: string 21188 volumeNamespace: 21189 description: VolumeNamespace specifies the scope of the 21190 volume within StorageOS. If no namespace is specified 21191 then the Pod's namespace will be used. This allows the 21192 Kubernetes name scoping to be mirrored within StorageOS 21193 for tighter integration. Set VolumeName to any name to 21194 override the default behaviour. Set to "default" if you 21195 are not using namespaces within StorageOS. Namespaces 21196 that do not pre-exist within StorageOS will be created. 21197 type: string 21198 type: object 21199 vsphereVolume: 21200 description: VsphereVolume represents a vSphere volume attached 21201 and mounted on kubelets host machine 21202 properties: 21203 fsType: 21204 description: Filesystem type to mount. Must be a filesystem 21205 type supported by the host operating system. Ex. "ext4", 21206 "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. 21207 type: string 21208 storagePolicyID: 21209 description: Storage Policy Based Management (SPBM) profile 21210 ID associated with the StoragePolicyName. 21211 type: string 21212 storagePolicyName: 21213 description: Storage Policy Based Management (SPBM) profile 21214 name. 21215 type: string 21216 volumePath: 21217 description: Path that identifies vSphere volume vmdk 21218 type: string 21219 required: 21220 - volumePath 21221 type: object 21222 required: 21223 - name 21224 type: object 21225 type: array 21226 type: object 21227 status: 21228 description: 'Most recent observed status of the ThanosRuler cluster. 21229 Read-only. Not included when requesting from the apiserver, only from 21230 the ThanosRuler Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' 21231 properties: 21232 availableReplicas: 21233 description: Total number of available pods (ready for at least minReadySeconds) 21234 targeted by this ThanosRuler deployment. 21235 format: int32 21236 type: integer 21237 paused: 21238 description: Represents whether any actions on the underlying managed 21239 objects are being performed. Only delete actions will be performed. 21240 type: boolean 21241 replicas: 21242 description: Total number of non-terminated pods targeted by this 21243 ThanosRuler deployment (their labels match the selector). 21244 format: int32 21245 type: integer 21246 unavailableReplicas: 21247 description: Total number of unavailable pods targeted by this ThanosRuler 21248 deployment. 21249 format: int32 21250 type: integer 21251 updatedReplicas: 21252 description: Total number of non-terminated pods targeted by this 21253 ThanosRuler deployment that have the desired version spec. 21254 format: int32 21255 type: integer 21256 required: 21257 - availableReplicas 21258 - paused 21259 - replicas 21260 - unavailableReplicas 21261 - updatedReplicas 21262 type: object 21263 required: 21264 - spec 21265 type: object 21266 served: true 21267 storage: true 21268 status: 21269 acceptedNames: 21270 kind: "" 21271 plural: "" 21272 conditions: [] 21273 storedVersions: []