github.com/projectcontour/contour@v1.28.2/site/content/docs/v1.5.1/api-reference.html (about) 1 <p>Packages:</p> 2 <ul> 3 <li> 4 <a href="#projectcontour.io%2fv1">projectcontour.io/v1</a> 5 </li> 6 </ul> 7 <h2 id="projectcontour.io/v1">projectcontour.io/v1</h2> 8 <p> 9 <p>Package v1 is the v1 version of the API.</p> 10 </p> 11 Resource Types: 12 <ul><li> 13 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a> 14 </li><li> 15 <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a> 16 </li></ul> 17 <h3 id="projectcontour.io/v1.HTTPProxy">HTTPProxy 18 </h3> 19 <p> 20 <p>HTTPProxy is an Ingress CRD specification</p> 21 </p> 22 <table class="table table-striped table-borderless" style="border:none"> 23 <thead class="border-bottom"> 24 <tr> 25 <th>Field</th> 26 <th>Description</th> 27 </tr> 28 </thead> 29 <tbody class="border-top"> 30 <tr> 31 <td> 32 <code>apiVersion</code> 33 <br> 34 string</td> 35 <td> 36 <code> 37 projectcontour.io/v1 38 </code> 39 </td> 40 </tr> 41 <tr> 42 <td> 43 <code>kind</code> 44 <br> 45 string 46 </td> 47 <td><code>HTTPProxy</code></td> 48 </tr> 49 <tr> 50 <td style="white-space:nowrap"> 51 <code>metadata</code> 52 <br> 53 <em> 54 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 55 Kubernetes meta/v1.ObjectMeta 56 </a> 57 </em> 58 </td> 59 <td> 60 Refer to the Kubernetes API documentation for the fields of the 61 <code>metadata</code> field. 62 </td> 63 </tr> 64 <tr> 65 <td style="white-space:nowrap"> 66 <code>spec</code> 67 <br> 68 <em> 69 <a href="#projectcontour.io/v1.HTTPProxySpec"> 70 HTTPProxySpec 71 </a> 72 </em> 73 </td> 74 <td> 75 <br> 76 <br> 77 <table style="border:none"> 78 <tr> 79 <td style="white-space:nowrap"> 80 <code>virtualhost</code> 81 <br> 82 <em> 83 <a href="#projectcontour.io/v1.VirtualHost"> 84 VirtualHost 85 </a> 86 </em> 87 </td> 88 <td> 89 <em>(Optional)</em> 90 <p>Virtualhost appears at most once. If it is present, the object is considered 91 to be a “root”.</p> 92 </td> 93 </tr> 94 <tr> 95 <td style="white-space:nowrap"> 96 <code>routes</code> 97 <br> 98 <em> 99 <a href="#projectcontour.io/v1.Route"> 100 []Route 101 </a> 102 </em> 103 </td> 104 <td> 105 <em>(Optional)</em> 106 <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p> 107 </td> 108 </tr> 109 <tr> 110 <td style="white-space:nowrap"> 111 <code>tcpproxy</code> 112 <br> 113 <em> 114 <a href="#projectcontour.io/v1.TCPProxy"> 115 TCPProxy 116 </a> 117 </em> 118 </td> 119 <td> 120 <em>(Optional)</em> 121 <p>TCPProxy holds TCP proxy information.</p> 122 </td> 123 </tr> 124 <tr> 125 <td style="white-space:nowrap"> 126 <code>includes</code> 127 <br> 128 <em> 129 <a href="#projectcontour.io/v1.Include"> 130 []Include 131 </a> 132 </em> 133 </td> 134 <td> 135 <em>(Optional)</em> 136 <p>Includes allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p> 137 </td> 138 </tr> 139 </table> 140 </td> 141 </tr> 142 <tr> 143 <td style="white-space:nowrap"> 144 <code>status</code> 145 <br> 146 <em> 147 <a href="#projectcontour.io/v1.Status"> 148 Status 149 </a> 150 </em> 151 </td> 152 <td> 153 <em>(Optional)</em> 154 </td> 155 </tr> 156 </tbody> 157 </table> 158 <h3 id="projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation 159 </h3> 160 <p> 161 <p>TLSCertificateDelegation is an TLS Certificate Delegation CRD specification. 162 See design/tls-certificate-delegation.md for details.</p> 163 </p> 164 <table class="table table-striped table-borderless" style="border:none"> 165 <thead class="border-bottom"> 166 <tr> 167 <th>Field</th> 168 <th>Description</th> 169 </tr> 170 </thead> 171 <tbody class="border-top"> 172 <tr> 173 <td> 174 <code>apiVersion</code> 175 <br> 176 string</td> 177 <td> 178 <code> 179 projectcontour.io/v1 180 </code> 181 </td> 182 </tr> 183 <tr> 184 <td> 185 <code>kind</code> 186 <br> 187 string 188 </td> 189 <td><code>TLSCertificateDelegation</code></td> 190 </tr> 191 <tr> 192 <td style="white-space:nowrap"> 193 <code>metadata</code> 194 <br> 195 <em> 196 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 197 Kubernetes meta/v1.ObjectMeta 198 </a> 199 </em> 200 </td> 201 <td> 202 Refer to the Kubernetes API documentation for the fields of the 203 <code>metadata</code> field. 204 </td> 205 </tr> 206 <tr> 207 <td style="white-space:nowrap"> 208 <code>spec</code> 209 <br> 210 <em> 211 <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec"> 212 TLSCertificateDelegationSpec 213 </a> 214 </em> 215 </td> 216 <td> 217 <br> 218 <br> 219 <table style="border:none"> 220 <tr> 221 <td style="white-space:nowrap"> 222 <code>delegations</code> 223 <br> 224 <em> 225 <a href="#projectcontour.io/v1.CertificateDelegation"> 226 []CertificateDelegation 227 </a> 228 </em> 229 </td> 230 <td> 231 </td> 232 </tr> 233 </table> 234 </td> 235 </tr> 236 </tbody> 237 </table> 238 <h3 id="projectcontour.io/v1.CertificateDelegation">CertificateDelegation 239 </h3> 240 <p> 241 (<em>Appears on:</em> 242 <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec</a>) 243 </p> 244 <p> 245 <p>CertificateDelegation maps the authority to reference a secret 246 in the current namespace to a set of namespaces.</p> 247 </p> 248 <table class="table table-striped table-borderless" style="border:none"> 249 <thead class="border-bottom"> 250 <tr> 251 <th>Field</th> 252 <th>Description</th> 253 </tr> 254 </thead> 255 <tbody class="border-top"> 256 <tr> 257 <td style="white-space:nowrap"> 258 <code>secretName</code> 259 <br> 260 <em> 261 string 262 </em> 263 </td> 264 <td> 265 <p>required, the name of a secret in the current namespace.</p> 266 </td> 267 </tr> 268 <tr> 269 <td style="white-space:nowrap"> 270 <code>targetNamespaces</code> 271 <br> 272 <em> 273 []string 274 </em> 275 </td> 276 <td> 277 <p>required, the namespaces the authority to reference the 278 the secret will be delegated to. 279 If TargetNamespaces is nil or empty, the CertificateDelegation’ 280 is ignored. If the TargetNamespace list contains the character, “*” 281 the secret will be delegated to all namespaces.</p> 282 </td> 283 </tr> 284 </tbody> 285 </table> 286 <h3 id="projectcontour.io/v1.Condition">Condition 287 </h3> 288 <p> 289 (<em>Appears on:</em> 290 <a href="#projectcontour.io/v1.Include">Include</a>, 291 <a href="#projectcontour.io/v1.Route">Route</a>) 292 </p> 293 <p> 294 <p>Condition are policies that are applied on top of HTTPProxies. 295 One of Prefix or Header must be provided.</p> 296 </p> 297 <table class="table table-striped table-borderless" style="border:none"> 298 <thead class="border-bottom"> 299 <tr> 300 <th>Field</th> 301 <th>Description</th> 302 </tr> 303 </thead> 304 <tbody class="border-top"> 305 <tr> 306 <td style="white-space:nowrap"> 307 <code>prefix</code> 308 <br> 309 <em> 310 string 311 </em> 312 </td> 313 <td> 314 <em>(Optional)</em> 315 <p>Prefix defines a prefix match for a request.</p> 316 </td> 317 </tr> 318 <tr> 319 <td style="white-space:nowrap"> 320 <code>header</code> 321 <br> 322 <em> 323 <a href="#projectcontour.io/v1.HeaderCondition"> 324 HeaderCondition 325 </a> 326 </em> 327 </td> 328 <td> 329 <em>(Optional)</em> 330 <p>Header specifies the header condition to match.</p> 331 </td> 332 </tr> 333 </tbody> 334 </table> 335 <h3 id="projectcontour.io/v1.DownstreamValidation">DownstreamValidation 336 </h3> 337 <p> 338 (<em>Appears on:</em> 339 <a href="#projectcontour.io/v1.TLS">TLS</a>) 340 </p> 341 <p> 342 <p>DownstreamValidation defines how to verify the client certificate.</p> 343 </p> 344 <table class="table table-striped table-borderless" style="border:none"> 345 <thead class="border-bottom"> 346 <tr> 347 <th>Field</th> 348 <th>Description</th> 349 </tr> 350 </thead> 351 <tbody class="border-top"> 352 <tr> 353 <td style="white-space:nowrap"> 354 <code>caSecret</code> 355 <br> 356 <em> 357 string 358 </em> 359 </td> 360 <td> 361 <p>Name of a Kubernetes secret that contains a CA certificate bundle. 362 The client certificate must validate against the certificates in the bundle.</p> 363 </td> 364 </tr> 365 </tbody> 366 </table> 367 <h3 id="projectcontour.io/v1.HTTPHealthCheckPolicy">HTTPHealthCheckPolicy 368 </h3> 369 <p> 370 (<em>Appears on:</em> 371 <a href="#projectcontour.io/v1.Route">Route</a>) 372 </p> 373 <p> 374 <p>HTTPHealthCheckPolicy defines health checks on the upstream service.</p> 375 </p> 376 <table class="table table-striped table-borderless" style="border:none"> 377 <thead class="border-bottom"> 378 <tr> 379 <th>Field</th> 380 <th>Description</th> 381 </tr> 382 </thead> 383 <tbody class="border-top"> 384 <tr> 385 <td style="white-space:nowrap"> 386 <code>path</code> 387 <br> 388 <em> 389 string 390 </em> 391 </td> 392 <td> 393 <p>HTTP endpoint used to perform health checks on upstream service</p> 394 </td> 395 </tr> 396 <tr> 397 <td style="white-space:nowrap"> 398 <code>host</code> 399 <br> 400 <em> 401 string 402 </em> 403 </td> 404 <td> 405 <p>The value of the host header in the HTTP health check request. 406 If left empty (default value), the name “contour-envoy-healthcheck” 407 will be used.</p> 408 </td> 409 </tr> 410 <tr> 411 <td style="white-space:nowrap"> 412 <code>intervalSeconds</code> 413 <br> 414 <em> 415 int64 416 </em> 417 </td> 418 <td> 419 <em>(Optional)</em> 420 <p>The interval (seconds) between health checks</p> 421 </td> 422 </tr> 423 <tr> 424 <td style="white-space:nowrap"> 425 <code>timeoutSeconds</code> 426 <br> 427 <em> 428 int64 429 </em> 430 </td> 431 <td> 432 <em>(Optional)</em> 433 <p>The time to wait (seconds) for a health check response</p> 434 </td> 435 </tr> 436 <tr> 437 <td style="white-space:nowrap"> 438 <code>unhealthyThresholdCount</code> 439 <br> 440 <em> 441 int64 442 </em> 443 </td> 444 <td> 445 <em>(Optional)</em> 446 <p>The number of unhealthy health checks required before a host is marked unhealthy</p> 447 </td> 448 </tr> 449 <tr> 450 <td style="white-space:nowrap"> 451 <code>healthyThresholdCount</code> 452 <br> 453 <em> 454 int64 455 </em> 456 </td> 457 <td> 458 <em>(Optional)</em> 459 <p>The number of healthy health checks required before a host is marked healthy</p> 460 </td> 461 </tr> 462 </tbody> 463 </table> 464 <h3 id="projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec 465 </h3> 466 <p> 467 (<em>Appears on:</em> 468 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>) 469 </p> 470 <p> 471 <p>HTTPProxySpec defines the spec of the CRD.</p> 472 </p> 473 <table class="table table-striped table-borderless" style="border:none"> 474 <thead class="border-bottom"> 475 <tr> 476 <th>Field</th> 477 <th>Description</th> 478 </tr> 479 </thead> 480 <tbody class="border-top"> 481 <tr> 482 <td style="white-space:nowrap"> 483 <code>virtualhost</code> 484 <br> 485 <em> 486 <a href="#projectcontour.io/v1.VirtualHost"> 487 VirtualHost 488 </a> 489 </em> 490 </td> 491 <td> 492 <em>(Optional)</em> 493 <p>Virtualhost appears at most once. If it is present, the object is considered 494 to be a “root”.</p> 495 </td> 496 </tr> 497 <tr> 498 <td style="white-space:nowrap"> 499 <code>routes</code> 500 <br> 501 <em> 502 <a href="#projectcontour.io/v1.Route"> 503 []Route 504 </a> 505 </em> 506 </td> 507 <td> 508 <em>(Optional)</em> 509 <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p> 510 </td> 511 </tr> 512 <tr> 513 <td style="white-space:nowrap"> 514 <code>tcpproxy</code> 515 <br> 516 <em> 517 <a href="#projectcontour.io/v1.TCPProxy"> 518 TCPProxy 519 </a> 520 </em> 521 </td> 522 <td> 523 <em>(Optional)</em> 524 <p>TCPProxy holds TCP proxy information.</p> 525 </td> 526 </tr> 527 <tr> 528 <td style="white-space:nowrap"> 529 <code>includes</code> 530 <br> 531 <em> 532 <a href="#projectcontour.io/v1.Include"> 533 []Include 534 </a> 535 </em> 536 </td> 537 <td> 538 <em>(Optional)</em> 539 <p>Includes allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p> 540 </td> 541 </tr> 542 </tbody> 543 </table> 544 <h3 id="projectcontour.io/v1.HeaderCondition">HeaderCondition 545 </h3> 546 <p> 547 (<em>Appears on:</em> 548 <a href="#projectcontour.io/v1.Condition">Condition</a>) 549 </p> 550 <p> 551 <p>HeaderCondition specifies how to conditionally match against HTTP 552 headers. The Name field is required, but only one of the remaining 553 fields should be be provided.</p> 554 </p> 555 <table class="table table-striped table-borderless" style="border:none"> 556 <thead class="border-bottom"> 557 <tr> 558 <th>Field</th> 559 <th>Description</th> 560 </tr> 561 </thead> 562 <tbody class="border-top"> 563 <tr> 564 <td style="white-space:nowrap"> 565 <code>name</code> 566 <br> 567 <em> 568 string 569 </em> 570 </td> 571 <td> 572 <p>Name is the name of the header to match against. Name is required. 573 Header names are case insensitive.</p> 574 </td> 575 </tr> 576 <tr> 577 <td style="white-space:nowrap"> 578 <code>present</code> 579 <br> 580 <em> 581 bool 582 </em> 583 </td> 584 <td> 585 <em>(Optional)</em> 586 <p>Present specifies that condition is true when the named header 587 is present, regardless of its value. Note that setting Present 588 to false does not make the condition true if the named header 589 is absent.</p> 590 </td> 591 </tr> 592 <tr> 593 <td style="white-space:nowrap"> 594 <code>contains</code> 595 <br> 596 <em> 597 string 598 </em> 599 </td> 600 <td> 601 <em>(Optional)</em> 602 <p>Contains specifies a substring that must be present in 603 the header value.</p> 604 </td> 605 </tr> 606 <tr> 607 <td style="white-space:nowrap"> 608 <code>notcontains</code> 609 <br> 610 <em> 611 string 612 </em> 613 </td> 614 <td> 615 <em>(Optional)</em> 616 <p>NotContains specifies a substring that must not be present 617 in the header value.</p> 618 </td> 619 </tr> 620 <tr> 621 <td style="white-space:nowrap"> 622 <code>exact</code> 623 <br> 624 <em> 625 string 626 </em> 627 </td> 628 <td> 629 <em>(Optional)</em> 630 <p>Exact specifies a string that the header value must be equal to.</p> 631 </td> 632 </tr> 633 <tr> 634 <td style="white-space:nowrap"> 635 <code>notexact</code> 636 <br> 637 <em> 638 string 639 </em> 640 </td> 641 <td> 642 <em>(Optional)</em> 643 <p>NoExact specifies a string that the header value must not be 644 equal to. The condition is true if the header has any other value.</p> 645 </td> 646 </tr> 647 </tbody> 648 </table> 649 <h3 id="projectcontour.io/v1.HeaderValue">HeaderValue 650 </h3> 651 <p> 652 (<em>Appears on:</em> 653 <a href="#projectcontour.io/v1.HeadersPolicy">HeadersPolicy</a>) 654 </p> 655 <p> 656 <p>HeaderValue represents a header name/value pair</p> 657 </p> 658 <table class="table table-striped table-borderless" style="border:none"> 659 <thead class="border-bottom"> 660 <tr> 661 <th>Field</th> 662 <th>Description</th> 663 </tr> 664 </thead> 665 <tbody class="border-top"> 666 <tr> 667 <td style="white-space:nowrap"> 668 <code>name</code> 669 <br> 670 <em> 671 string 672 </em> 673 </td> 674 <td> 675 <p>Name represents a key of a header</p> 676 </td> 677 </tr> 678 <tr> 679 <td style="white-space:nowrap"> 680 <code>value</code> 681 <br> 682 <em> 683 string 684 </em> 685 </td> 686 <td> 687 <p>Value represents the value of a header specified by a key</p> 688 </td> 689 </tr> 690 </tbody> 691 </table> 692 <h3 id="projectcontour.io/v1.HeadersPolicy">HeadersPolicy 693 </h3> 694 <p> 695 (<em>Appears on:</em> 696 <a href="#projectcontour.io/v1.Route">Route</a>, 697 <a href="#projectcontour.io/v1.Service">Service</a>) 698 </p> 699 <p> 700 <p>HeadersPolicy defines how headers are managed during forwarding. 701 The <code>Host</code> header is treated specially and if set in a HTTP response 702 will be used as the SNI server name when forwarding over TLS. It is an 703 error to attempt to set the <code>Host</code> header in a HTTP response.</p> 704 </p> 705 <table class="table table-striped table-borderless" style="border:none"> 706 <thead class="border-bottom"> 707 <tr> 708 <th>Field</th> 709 <th>Description</th> 710 </tr> 711 </thead> 712 <tbody class="border-top"> 713 <tr> 714 <td style="white-space:nowrap"> 715 <code>set</code> 716 <br> 717 <em> 718 <a href="#projectcontour.io/v1.HeaderValue"> 719 []HeaderValue 720 </a> 721 </em> 722 </td> 723 <td> 724 <em>(Optional)</em> 725 <p>Set specifies a list of HTTP header values that will be set in the HTTP header. 726 If the header does not exist it will be added, otherwise it will be overwritten with the new value.</p> 727 </td> 728 </tr> 729 <tr> 730 <td style="white-space:nowrap"> 731 <code>remove</code> 732 <br> 733 <em> 734 []string 735 </em> 736 </td> 737 <td> 738 <em>(Optional)</em> 739 <p>Remove specifies a list of HTTP header names to remove.</p> 740 </td> 741 </tr> 742 </tbody> 743 </table> 744 <h3 id="projectcontour.io/v1.Include">Include 745 </h3> 746 <p> 747 (<em>Appears on:</em> 748 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 749 </p> 750 <p> 751 <p>Include describes a set of policies that can be applied to an HTTPProxy in a namespace.</p> 752 </p> 753 <table class="table table-striped table-borderless" style="border:none"> 754 <thead class="border-bottom"> 755 <tr> 756 <th>Field</th> 757 <th>Description</th> 758 </tr> 759 </thead> 760 <tbody class="border-top"> 761 <tr> 762 <td style="white-space:nowrap"> 763 <code>name</code> 764 <br> 765 <em> 766 string 767 </em> 768 </td> 769 <td> 770 <p>Name of the HTTPProxy</p> 771 </td> 772 </tr> 773 <tr> 774 <td style="white-space:nowrap"> 775 <code>namespace</code> 776 <br> 777 <em> 778 string 779 </em> 780 </td> 781 <td> 782 <em>(Optional)</em> 783 <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p> 784 </td> 785 </tr> 786 <tr> 787 <td style="white-space:nowrap"> 788 <code>conditions</code> 789 <br> 790 <em> 791 <a href="#projectcontour.io/v1.Condition"> 792 []Condition 793 </a> 794 </em> 795 </td> 796 <td> 797 <em>(Optional)</em> 798 <p>Conditions are a set of routing properties that is applied to an HTTPProxy in a namespace.</p> 799 </td> 800 </tr> 801 </tbody> 802 </table> 803 <h3 id="projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy 804 </h3> 805 <p> 806 (<em>Appears on:</em> 807 <a href="#projectcontour.io/v1.Route">Route</a>, 808 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 809 </p> 810 <p> 811 <p>LoadBalancerPolicy defines the load balancing policy.</p> 812 </p> 813 <table class="table table-striped table-borderless" style="border:none"> 814 <thead class="border-bottom"> 815 <tr> 816 <th>Field</th> 817 <th>Description</th> 818 </tr> 819 </thead> 820 <tbody class="border-top"> 821 <tr> 822 <td style="white-space:nowrap"> 823 <code>strategy</code> 824 <br> 825 <em> 826 string 827 </em> 828 </td> 829 <td> 830 <p>Strategy specifies the policy used to balance requests 831 across the pool of backend pods. Valid policy names are 832 <code>Random</code>, <code>RoundRobin</code>, <code>WeightedLeastRequest</code>, <code>Random</code> 833 and <code>Cookie</code>. If an unknown strategy name is specified 834 or no policy is supplied, the default <code>RoundRobin</code> policy 835 is used.</p> 836 </td> 837 </tr> 838 </tbody> 839 </table> 840 <h3 id="projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy 841 </h3> 842 <p> 843 (<em>Appears on:</em> 844 <a href="#projectcontour.io/v1.Route">Route</a>) 845 </p> 846 <p> 847 <p>PathRewritePolicy specifies how a request URL path should be 848 rewritten. This rewriting takes place after a request is routed 849 and has no subsequent effects on the proxy’s routing decision. 850 No HTTP headers or body content is rewritten.</p> 851 <p>Exactly one field in this struct may be specified.</p> 852 </p> 853 <table class="table table-striped table-borderless" style="border:none"> 854 <thead class="border-bottom"> 855 <tr> 856 <th>Field</th> 857 <th>Description</th> 858 </tr> 859 </thead> 860 <tbody class="border-top"> 861 <tr> 862 <td style="white-space:nowrap"> 863 <code>replacePrefix</code> 864 <br> 865 <em> 866 <a href="#projectcontour.io/v1.ReplacePrefix"> 867 []ReplacePrefix 868 </a> 869 </em> 870 </td> 871 <td> 872 <em>(Optional)</em> 873 <p>ReplacePrefix describes how the path prefix should be replaced.</p> 874 </td> 875 </tr> 876 </tbody> 877 </table> 878 <h3 id="projectcontour.io/v1.ReplacePrefix">ReplacePrefix 879 </h3> 880 <p> 881 (<em>Appears on:</em> 882 <a href="#projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy</a>) 883 </p> 884 <p> 885 <p>ReplacePrefix describes a path prefix replacement.</p> 886 </p> 887 <table class="table table-striped table-borderless" style="border:none"> 888 <thead class="border-bottom"> 889 <tr> 890 <th>Field</th> 891 <th>Description</th> 892 </tr> 893 </thead> 894 <tbody class="border-top"> 895 <tr> 896 <td style="white-space:nowrap"> 897 <code>prefix</code> 898 <br> 899 <em> 900 string 901 </em> 902 </td> 903 <td> 904 <em>(Optional)</em> 905 <p>Prefix specifies the URL path prefix to be replaced.</p> 906 <p>If Prefix is specified, it must exactly match the Condition 907 prefix that is rendered by the chain of including HTTPProxies 908 and only that path prefix will be replaced by Replacement. 909 This allows HTTPProxies that are included through multiple 910 roots to only replace specific path prefixes, leaving others 911 unmodified.</p> 912 <p>If Prefix is not specified, all routing prefixes rendered 913 by the include chain will be replaced.</p> 914 </td> 915 </tr> 916 <tr> 917 <td style="white-space:nowrap"> 918 <code>replacement</code> 919 <br> 920 <em> 921 string 922 </em> 923 </td> 924 <td> 925 <p>Replacement is the string that the routing path prefix 926 will be replaced with. This must not be empty.</p> 927 </td> 928 </tr> 929 </tbody> 930 </table> 931 <h3 id="projectcontour.io/v1.RetryPolicy">RetryPolicy 932 </h3> 933 <p> 934 (<em>Appears on:</em> 935 <a href="#projectcontour.io/v1.Route">Route</a>) 936 </p> 937 <p> 938 <p>RetryPolicy defines the attributes associated with retrying policy.</p> 939 </p> 940 <table class="table table-striped table-borderless" style="border:none"> 941 <thead class="border-bottom"> 942 <tr> 943 <th>Field</th> 944 <th>Description</th> 945 </tr> 946 </thead> 947 <tbody class="border-top"> 948 <tr> 949 <td style="white-space:nowrap"> 950 <code>count</code> 951 <br> 952 <em> 953 int64 954 </em> 955 </td> 956 <td> 957 <em>(Optional)</em> 958 <p>NumRetries is maximum allowed number of retries. 959 If not supplied, the number of retries is one.</p> 960 </td> 961 </tr> 962 <tr> 963 <td style="white-space:nowrap"> 964 <code>perTryTimeout</code> 965 <br> 966 <em> 967 string 968 </em> 969 </td> 970 <td> 971 <p>PerTryTimeout specifies the timeout per retry attempt. 972 Ignored if NumRetries is not supplied.</p> 973 </td> 974 </tr> 975 </tbody> 976 </table> 977 <h3 id="projectcontour.io/v1.Route">Route 978 </h3> 979 <p> 980 (<em>Appears on:</em> 981 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 982 </p> 983 <p> 984 <p>Route contains the set of routes for a virtual host.</p> 985 </p> 986 <table class="table table-striped table-borderless" style="border:none"> 987 <thead class="border-bottom"> 988 <tr> 989 <th>Field</th> 990 <th>Description</th> 991 </tr> 992 </thead> 993 <tbody class="border-top"> 994 <tr> 995 <td style="white-space:nowrap"> 996 <code>conditions</code> 997 <br> 998 <em> 999 <a href="#projectcontour.io/v1.Condition"> 1000 []Condition 1001 </a> 1002 </em> 1003 </td> 1004 <td> 1005 <em>(Optional)</em> 1006 <p>Conditions are a set of routing properties that is applied to an HTTPProxy in a namespace.</p> 1007 </td> 1008 </tr> 1009 <tr> 1010 <td style="white-space:nowrap"> 1011 <code>services</code> 1012 <br> 1013 <em> 1014 <a href="#projectcontour.io/v1.Service"> 1015 []Service 1016 </a> 1017 </em> 1018 </td> 1019 <td> 1020 <p>Services are the services to proxy traffic.</p> 1021 </td> 1022 </tr> 1023 <tr> 1024 <td style="white-space:nowrap"> 1025 <code>enableWebsockets</code> 1026 <br> 1027 <em> 1028 bool 1029 </em> 1030 </td> 1031 <td> 1032 <em>(Optional)</em> 1033 <p>Enables websocket support for the route.</p> 1034 </td> 1035 </tr> 1036 <tr> 1037 <td style="white-space:nowrap"> 1038 <code>permitInsecure</code> 1039 <br> 1040 <em> 1041 bool 1042 </em> 1043 </td> 1044 <td> 1045 <em>(Optional)</em> 1046 <p>Allow this path to respond to insecure requests over HTTP which are normally 1047 not permitted when a <code>virtualhost.tls</code> block is present.</p> 1048 </td> 1049 </tr> 1050 <tr> 1051 <td style="white-space:nowrap"> 1052 <code>timeoutPolicy</code> 1053 <br> 1054 <em> 1055 <a href="#projectcontour.io/v1.TimeoutPolicy"> 1056 TimeoutPolicy 1057 </a> 1058 </em> 1059 </td> 1060 <td> 1061 <em>(Optional)</em> 1062 <p>The timeout policy for this route.</p> 1063 </td> 1064 </tr> 1065 <tr> 1066 <td style="white-space:nowrap"> 1067 <code>retryPolicy</code> 1068 <br> 1069 <em> 1070 <a href="#projectcontour.io/v1.RetryPolicy"> 1071 RetryPolicy 1072 </a> 1073 </em> 1074 </td> 1075 <td> 1076 <em>(Optional)</em> 1077 <p>The retry policy for this route.</p> 1078 </td> 1079 </tr> 1080 <tr> 1081 <td style="white-space:nowrap"> 1082 <code>healthCheckPolicy</code> 1083 <br> 1084 <em> 1085 <a href="#projectcontour.io/v1.HTTPHealthCheckPolicy"> 1086 HTTPHealthCheckPolicy 1087 </a> 1088 </em> 1089 </td> 1090 <td> 1091 <em>(Optional)</em> 1092 <p>The health check policy for this route.</p> 1093 </td> 1094 </tr> 1095 <tr> 1096 <td style="white-space:nowrap"> 1097 <code>loadBalancerPolicy</code> 1098 <br> 1099 <em> 1100 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 1101 LoadBalancerPolicy 1102 </a> 1103 </em> 1104 </td> 1105 <td> 1106 <em>(Optional)</em> 1107 <p>The load balancing policy for this route.</p> 1108 </td> 1109 </tr> 1110 <tr> 1111 <td style="white-space:nowrap"> 1112 <code>pathRewritePolicy</code> 1113 <br> 1114 <em> 1115 <a href="#projectcontour.io/v1.PathRewritePolicy"> 1116 PathRewritePolicy 1117 </a> 1118 </em> 1119 </td> 1120 <td> 1121 <em>(Optional)</em> 1122 <p>The policy for rewriting the path of the request URL 1123 after the request has been routed to a Service.</p> 1124 </td> 1125 </tr> 1126 <tr> 1127 <td style="white-space:nowrap"> 1128 <code>requestHeadersPolicy</code> 1129 <br> 1130 <em> 1131 <a href="#projectcontour.io/v1.HeadersPolicy"> 1132 HeadersPolicy 1133 </a> 1134 </em> 1135 </td> 1136 <td> 1137 <em>(Optional)</em> 1138 <p>The policy for managing request headers during proxying</p> 1139 </td> 1140 </tr> 1141 <tr> 1142 <td style="white-space:nowrap"> 1143 <code>responseHeadersPolicy</code> 1144 <br> 1145 <em> 1146 <a href="#projectcontour.io/v1.HeadersPolicy"> 1147 HeadersPolicy 1148 </a> 1149 </em> 1150 </td> 1151 <td> 1152 <em>(Optional)</em> 1153 <p>The policy for managing response headers during proxying</p> 1154 </td> 1155 </tr> 1156 </tbody> 1157 </table> 1158 <h3 id="projectcontour.io/v1.Service">Service 1159 </h3> 1160 <p> 1161 (<em>Appears on:</em> 1162 <a href="#projectcontour.io/v1.Route">Route</a>, 1163 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 1164 </p> 1165 <p> 1166 <p>Service defines an Kubernetes Service to proxy traffic.</p> 1167 </p> 1168 <table class="table table-striped table-borderless" style="border:none"> 1169 <thead class="border-bottom"> 1170 <tr> 1171 <th>Field</th> 1172 <th>Description</th> 1173 </tr> 1174 </thead> 1175 <tbody class="border-top"> 1176 <tr> 1177 <td style="white-space:nowrap"> 1178 <code>name</code> 1179 <br> 1180 <em> 1181 string 1182 </em> 1183 </td> 1184 <td> 1185 <p>Name is the name of Kubernetes service to proxy traffic. 1186 Names defined here will be used to look up corresponding endpoints which contain the ips to route.</p> 1187 </td> 1188 </tr> 1189 <tr> 1190 <td style="white-space:nowrap"> 1191 <code>port</code> 1192 <br> 1193 <em> 1194 int 1195 </em> 1196 </td> 1197 <td> 1198 <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p> 1199 </td> 1200 </tr> 1201 <tr> 1202 <td style="white-space:nowrap"> 1203 <code>protocol</code> 1204 <br> 1205 <em> 1206 string 1207 </em> 1208 </td> 1209 <td> 1210 <em>(Optional)</em> 1211 <p>Protocol may be used to specify (or override) the protocol used to reach this Service. 1212 Values may be tls, h2, h2c. If omitted, protocol-selection falls back on Service annotations.</p> 1213 </td> 1214 </tr> 1215 <tr> 1216 <td style="white-space:nowrap"> 1217 <code>weight</code> 1218 <br> 1219 <em> 1220 int64 1221 </em> 1222 </td> 1223 <td> 1224 <em>(Optional)</em> 1225 <p>Weight defines percentage of traffic to balance traffic</p> 1226 </td> 1227 </tr> 1228 <tr> 1229 <td style="white-space:nowrap"> 1230 <code>validation</code> 1231 <br> 1232 <em> 1233 <a href="#projectcontour.io/v1.UpstreamValidation"> 1234 UpstreamValidation 1235 </a> 1236 </em> 1237 </td> 1238 <td> 1239 <em>(Optional)</em> 1240 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 1241 </td> 1242 </tr> 1243 <tr> 1244 <td style="white-space:nowrap"> 1245 <code>mirror</code> 1246 <br> 1247 <em> 1248 bool 1249 </em> 1250 </td> 1251 <td> 1252 <p>If Mirror is true the Service will receive a read only mirror of the traffic for this route.</p> 1253 </td> 1254 </tr> 1255 <tr> 1256 <td style="white-space:nowrap"> 1257 <code>requestHeadersPolicy</code> 1258 <br> 1259 <em> 1260 <a href="#projectcontour.io/v1.HeadersPolicy"> 1261 HeadersPolicy 1262 </a> 1263 </em> 1264 </td> 1265 <td> 1266 <em>(Optional)</em> 1267 <p>The policy for managing request headers during proxying</p> 1268 </td> 1269 </tr> 1270 <tr> 1271 <td style="white-space:nowrap"> 1272 <code>responseHeadersPolicy</code> 1273 <br> 1274 <em> 1275 <a href="#projectcontour.io/v1.HeadersPolicy"> 1276 HeadersPolicy 1277 </a> 1278 </em> 1279 </td> 1280 <td> 1281 <em>(Optional)</em> 1282 <p>The policy for managing response headers during proxying</p> 1283 </td> 1284 </tr> 1285 </tbody> 1286 </table> 1287 <h3 id="projectcontour.io/v1.Status">Status 1288 </h3> 1289 <p> 1290 (<em>Appears on:</em> 1291 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>) 1292 </p> 1293 <p> 1294 <p>Status reports the current state of the HTTPProxy.</p> 1295 </p> 1296 <table class="table table-striped table-borderless" style="border:none"> 1297 <thead class="border-bottom"> 1298 <tr> 1299 <th>Field</th> 1300 <th>Description</th> 1301 </tr> 1302 </thead> 1303 <tbody class="border-top"> 1304 <tr> 1305 <td style="white-space:nowrap"> 1306 <code>currentStatus</code> 1307 <br> 1308 <em> 1309 string 1310 </em> 1311 </td> 1312 <td> 1313 <em>(Optional)</em> 1314 </td> 1315 </tr> 1316 <tr> 1317 <td style="white-space:nowrap"> 1318 <code>description</code> 1319 <br> 1320 <em> 1321 string 1322 </em> 1323 </td> 1324 <td> 1325 <em>(Optional)</em> 1326 </td> 1327 </tr> 1328 <tr> 1329 <td style="white-space:nowrap"> 1330 <code>loadBalancer</code> 1331 <br> 1332 <em> 1333 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#loadbalancerstatus-v1-core"> 1334 Kubernetes core/v1.LoadBalancerStatus 1335 </a> 1336 </em> 1337 </td> 1338 <td> 1339 <em>(Optional)</em> 1340 <p>LoadBalancer contains the current status of the load balancer.</p> 1341 </td> 1342 </tr> 1343 </tbody> 1344 </table> 1345 <h3 id="projectcontour.io/v1.TCPHealthCheckPolicy">TCPHealthCheckPolicy 1346 </h3> 1347 <p> 1348 (<em>Appears on:</em> 1349 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 1350 </p> 1351 <p> 1352 <p>TCPHealthCheckPolicy defines health checks on the upstream service.</p> 1353 </p> 1354 <table class="table table-striped table-borderless" style="border:none"> 1355 <thead class="border-bottom"> 1356 <tr> 1357 <th>Field</th> 1358 <th>Description</th> 1359 </tr> 1360 </thead> 1361 <tbody class="border-top"> 1362 <tr> 1363 <td style="white-space:nowrap"> 1364 <code>intervalSeconds</code> 1365 <br> 1366 <em> 1367 int64 1368 </em> 1369 </td> 1370 <td> 1371 <em>(Optional)</em> 1372 <p>The interval (seconds) between health checks</p> 1373 </td> 1374 </tr> 1375 <tr> 1376 <td style="white-space:nowrap"> 1377 <code>timeoutSeconds</code> 1378 <br> 1379 <em> 1380 int64 1381 </em> 1382 </td> 1383 <td> 1384 <em>(Optional)</em> 1385 <p>The time to wait (seconds) for a health check response</p> 1386 </td> 1387 </tr> 1388 <tr> 1389 <td style="white-space:nowrap"> 1390 <code>unhealthyThresholdCount</code> 1391 <br> 1392 <em> 1393 uint32 1394 </em> 1395 </td> 1396 <td> 1397 <em>(Optional)</em> 1398 <p>The number of unhealthy health checks required before a host is marked unhealthy</p> 1399 </td> 1400 </tr> 1401 <tr> 1402 <td style="white-space:nowrap"> 1403 <code>healthyThresholdCount</code> 1404 <br> 1405 <em> 1406 uint32 1407 </em> 1408 </td> 1409 <td> 1410 <em>(Optional)</em> 1411 <p>The number of healthy health checks required before a host is marked healthy</p> 1412 </td> 1413 </tr> 1414 </tbody> 1415 </table> 1416 <h3 id="projectcontour.io/v1.TCPProxy">TCPProxy 1417 </h3> 1418 <p> 1419 (<em>Appears on:</em> 1420 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 1421 </p> 1422 <p> 1423 <p>TCPProxy contains the set of services to proxy TCP connections.</p> 1424 </p> 1425 <table class="table table-striped table-borderless" style="border:none"> 1426 <thead class="border-bottom"> 1427 <tr> 1428 <th>Field</th> 1429 <th>Description</th> 1430 </tr> 1431 </thead> 1432 <tbody class="border-top"> 1433 <tr> 1434 <td style="white-space:nowrap"> 1435 <code>loadBalancerPolicy</code> 1436 <br> 1437 <em> 1438 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 1439 LoadBalancerPolicy 1440 </a> 1441 </em> 1442 </td> 1443 <td> 1444 <em>(Optional)</em> 1445 <p>The load balancing policy for the backend services.</p> 1446 </td> 1447 </tr> 1448 <tr> 1449 <td style="white-space:nowrap"> 1450 <code>services</code> 1451 <br> 1452 <em> 1453 <a href="#projectcontour.io/v1.Service"> 1454 []Service 1455 </a> 1456 </em> 1457 </td> 1458 <td> 1459 <p>Services are the services to proxy traffic</p> 1460 </td> 1461 </tr> 1462 <tr> 1463 <td style="white-space:nowrap"> 1464 <code>include</code> 1465 <br> 1466 <em> 1467 <a href="#projectcontour.io/v1.TCPProxyInclude"> 1468 TCPProxyInclude 1469 </a> 1470 </em> 1471 </td> 1472 <td> 1473 <em>(Optional)</em> 1474 <p>Include specifies that this tcpproxy should be delegated to another HTTPProxy.</p> 1475 </td> 1476 </tr> 1477 <tr> 1478 <td style="white-space:nowrap"> 1479 <code>includes</code> 1480 <br> 1481 <em> 1482 <a href="#projectcontour.io/v1.TCPProxyInclude"> 1483 TCPProxyInclude 1484 </a> 1485 </em> 1486 </td> 1487 <td> 1488 <em>(Optional)</em> 1489 <p>IncludesDeprecated allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p> 1490 <p>Exists due to a mistake when developing HTTPProxy and the field was marked plural 1491 when it should have been singular. This field should stay to not break backwards compatibility to v1 users.</p> 1492 </td> 1493 </tr> 1494 <tr> 1495 <td style="white-space:nowrap"> 1496 <code>healthCheckPolicy</code> 1497 <br> 1498 <em> 1499 <a href="#projectcontour.io/v1.TCPHealthCheckPolicy"> 1500 TCPHealthCheckPolicy 1501 </a> 1502 </em> 1503 </td> 1504 <td> 1505 <em>(Optional)</em> 1506 <p>The health check policy for this tcp proxy</p> 1507 </td> 1508 </tr> 1509 </tbody> 1510 </table> 1511 <h3 id="projectcontour.io/v1.TCPProxyInclude">TCPProxyInclude 1512 </h3> 1513 <p> 1514 (<em>Appears on:</em> 1515 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 1516 </p> 1517 <p> 1518 <p>TCPProxyInclude describes a target HTTPProxy document which contains the TCPProxy details.</p> 1519 </p> 1520 <table class="table table-striped table-borderless" style="border:none"> 1521 <thead class="border-bottom"> 1522 <tr> 1523 <th>Field</th> 1524 <th>Description</th> 1525 </tr> 1526 </thead> 1527 <tbody class="border-top"> 1528 <tr> 1529 <td style="white-space:nowrap"> 1530 <code>name</code> 1531 <br> 1532 <em> 1533 string 1534 </em> 1535 </td> 1536 <td> 1537 <p>Name of the child HTTPProxy</p> 1538 </td> 1539 </tr> 1540 <tr> 1541 <td style="white-space:nowrap"> 1542 <code>namespace</code> 1543 <br> 1544 <em> 1545 string 1546 </em> 1547 </td> 1548 <td> 1549 <em>(Optional)</em> 1550 <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p> 1551 </td> 1552 </tr> 1553 </tbody> 1554 </table> 1555 <h3 id="projectcontour.io/v1.TLS">TLS 1556 </h3> 1557 <p> 1558 (<em>Appears on:</em> 1559 <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>) 1560 </p> 1561 <p> 1562 <p>TLS describes tls properties. The SNI names that will be matched on 1563 are described in fqdn, the tls.secretName secret must contain a 1564 matching certificate unless tls.passthrough is set to true.</p> 1565 </p> 1566 <table class="table table-striped table-borderless" style="border:none"> 1567 <thead class="border-bottom"> 1568 <tr> 1569 <th>Field</th> 1570 <th>Description</th> 1571 </tr> 1572 </thead> 1573 <tbody class="border-top"> 1574 <tr> 1575 <td style="white-space:nowrap"> 1576 <code>secretName</code> 1577 <br> 1578 <em> 1579 string 1580 </em> 1581 </td> 1582 <td> 1583 <p>required, the name of a secret in the current namespace</p> 1584 </td> 1585 </tr> 1586 <tr> 1587 <td style="white-space:nowrap"> 1588 <code>minimumProtocolVersion</code> 1589 <br> 1590 <em> 1591 string 1592 </em> 1593 </td> 1594 <td> 1595 <em>(Optional)</em> 1596 <p>Minimum TLS version this vhost should negotiate</p> 1597 </td> 1598 </tr> 1599 <tr> 1600 <td style="white-space:nowrap"> 1601 <code>passthrough</code> 1602 <br> 1603 <em> 1604 bool 1605 </em> 1606 </td> 1607 <td> 1608 <em>(Optional)</em> 1609 <p>If Passthrough is set to true, the SecretName will be ignored 1610 and the encrypted handshake will be passed through to the 1611 backing cluster.</p> 1612 </td> 1613 </tr> 1614 <tr> 1615 <td style="white-space:nowrap"> 1616 <code>clientValidation</code> 1617 <br> 1618 <em> 1619 <a href="#projectcontour.io/v1.DownstreamValidation"> 1620 DownstreamValidation 1621 </a> 1622 </em> 1623 </td> 1624 <td> 1625 <em>(Optional)</em> 1626 <p>ClientValidation defines how to verify the client certificate 1627 when an external client establishes a TLS connection to Envoy.</p> 1628 <p>This setting:</p> 1629 <ol> 1630 <li>Enables TLS client certificate validation.</li> 1631 <li>Requires clients to present a TLS certificate (i.e. not optional validation).</li> 1632 <li>Specifies how the client certificate will be validated.</li> 1633 </ol> 1634 </td> 1635 </tr> 1636 <tr> 1637 <td style="white-space:nowrap"> 1638 <code>enableFallbackCertificate</code> 1639 <br> 1640 <em> 1641 bool 1642 </em> 1643 </td> 1644 <td> 1645 <p>EnableFallbackCertificate defines if the vhost should allow a default certificate to 1646 be applied which handles all requests which don’t match the SNI defined in this vhost.</p> 1647 </td> 1648 </tr> 1649 </tbody> 1650 </table> 1651 <h3 id="projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec 1652 </h3> 1653 <p> 1654 (<em>Appears on:</em> 1655 <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>) 1656 </p> 1657 <p> 1658 <p>TLSCertificateDelegationSpec defines the spec of the CRD</p> 1659 </p> 1660 <table class="table table-striped table-borderless" style="border:none"> 1661 <thead class="border-bottom"> 1662 <tr> 1663 <th>Field</th> 1664 <th>Description</th> 1665 </tr> 1666 </thead> 1667 <tbody class="border-top"> 1668 <tr> 1669 <td style="white-space:nowrap"> 1670 <code>delegations</code> 1671 <br> 1672 <em> 1673 <a href="#projectcontour.io/v1.CertificateDelegation"> 1674 []CertificateDelegation 1675 </a> 1676 </em> 1677 </td> 1678 <td> 1679 </td> 1680 </tr> 1681 </tbody> 1682 </table> 1683 <h3 id="projectcontour.io/v1.TimeoutPolicy">TimeoutPolicy 1684 </h3> 1685 <p> 1686 (<em>Appears on:</em> 1687 <a href="#projectcontour.io/v1.Route">Route</a>) 1688 </p> 1689 <p> 1690 <p>TimeoutPolicy configures timeouts that are used for handling network requests.</p> 1691 <p>TimeoutPolicy durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>. 1692 Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”. 1693 The string “infinity” is also a valid input and specifies no timeout.</p> 1694 <p>Example input values: “300ms”, “5s”, “1m”.</p> 1695 </p> 1696 <table class="table table-striped table-borderless" style="border:none"> 1697 <thead class="border-bottom"> 1698 <tr> 1699 <th>Field</th> 1700 <th>Description</th> 1701 </tr> 1702 </thead> 1703 <tbody class="border-top"> 1704 <tr> 1705 <td style="white-space:nowrap"> 1706 <code>response</code> 1707 <br> 1708 <em> 1709 string 1710 </em> 1711 </td> 1712 <td> 1713 <em>(Optional)</em> 1714 <p>Timeout for receiving a response from the server after processing a request from client. 1715 If not supplied, the timeout duration is undefined.</p> 1716 </td> 1717 </tr> 1718 <tr> 1719 <td style="white-space:nowrap"> 1720 <code>idle</code> 1721 <br> 1722 <em> 1723 string 1724 </em> 1725 </td> 1726 <td> 1727 <em>(Optional)</em> 1728 <p>Timeout after which, if there are no active requests for this route, the connection between 1729 Envoy and the backend or Envoy and the external client will be closed. 1730 If not specified, there is no per-route idle timeout.</p> 1731 </td> 1732 </tr> 1733 </tbody> 1734 </table> 1735 <h3 id="projectcontour.io/v1.UpstreamValidation">UpstreamValidation 1736 </h3> 1737 <p> 1738 (<em>Appears on:</em> 1739 <a href="#projectcontour.io/v1.Service">Service</a>) 1740 </p> 1741 <p> 1742 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 1743 </p> 1744 <table class="table table-striped table-borderless" style="border:none"> 1745 <thead class="border-bottom"> 1746 <tr> 1747 <th>Field</th> 1748 <th>Description</th> 1749 </tr> 1750 </thead> 1751 <tbody class="border-top"> 1752 <tr> 1753 <td style="white-space:nowrap"> 1754 <code>caSecret</code> 1755 <br> 1756 <em> 1757 string 1758 </em> 1759 </td> 1760 <td> 1761 <p>Name of the Kubernetes secret be used to validate the certificate presented by the backend</p> 1762 </td> 1763 </tr> 1764 <tr> 1765 <td style="white-space:nowrap"> 1766 <code>subjectName</code> 1767 <br> 1768 <em> 1769 string 1770 </em> 1771 </td> 1772 <td> 1773 <p>Key which is expected to be present in the ‘subjectAltName’ of the presented certificate</p> 1774 </td> 1775 </tr> 1776 </tbody> 1777 </table> 1778 <h3 id="projectcontour.io/v1.VirtualHost">VirtualHost 1779 </h3> 1780 <p> 1781 (<em>Appears on:</em> 1782 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 1783 </p> 1784 <p> 1785 <p>VirtualHost appears at most once. If it is present, the object is considered 1786 to be a “root”.</p> 1787 </p> 1788 <table class="table table-striped table-borderless" style="border:none"> 1789 <thead class="border-bottom"> 1790 <tr> 1791 <th>Field</th> 1792 <th>Description</th> 1793 </tr> 1794 </thead> 1795 <tbody class="border-top"> 1796 <tr> 1797 <td style="white-space:nowrap"> 1798 <code>fqdn</code> 1799 <br> 1800 <em> 1801 string 1802 </em> 1803 </td> 1804 <td> 1805 <p>The fully qualified domain name of the root of the ingress tree 1806 all leaves of the DAG rooted at this object relate to the fqdn</p> 1807 </td> 1808 </tr> 1809 <tr> 1810 <td style="white-space:nowrap"> 1811 <code>tls</code> 1812 <br> 1813 <em> 1814 <a href="#projectcontour.io/v1.TLS"> 1815 TLS 1816 </a> 1817 </em> 1818 </td> 1819 <td> 1820 <em>(Optional)</em> 1821 <p>If present describes tls properties. The SNI names that will be matched on 1822 are described in fqdn, the tls.secretName secret must contain a 1823 matching certificate</p> 1824 </td> 1825 </tr> 1826 </tbody> 1827 </table> 1828 <hr/> 1829 <p><em> 1830 Generated with <code>gen-crd-api-reference-docs</code>. 1831 </em></p>