github.com/projectcontour/contour@v1.28.2/site/content/docs/v1.4.0/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</p> 701 </p> 702 <table class="table table-striped table-borderless" style="border:none"> 703 <thead class="border-bottom"> 704 <tr> 705 <th>Field</th> 706 <th>Description</th> 707 </tr> 708 </thead> 709 <tbody class="border-top"> 710 <tr> 711 <td style="white-space:nowrap"> 712 <code>set</code> 713 <br> 714 <em> 715 <a href="#projectcontour.io/v1.HeaderValue"> 716 []HeaderValue 717 </a> 718 </em> 719 </td> 720 <td> 721 <em>(Optional)</em> 722 <p>Set specifies a list of HTTP header values that will be set in the HTTP header</p> 723 </td> 724 </tr> 725 <tr> 726 <td style="white-space:nowrap"> 727 <code>remove</code> 728 <br> 729 <em> 730 []string 731 </em> 732 </td> 733 <td> 734 <em>(Optional)</em> 735 <p>Remove specifies a list of HTTP header names to remove</p> 736 </td> 737 </tr> 738 </tbody> 739 </table> 740 <h3 id="projectcontour.io/v1.Include">Include 741 </h3> 742 <p> 743 (<em>Appears on:</em> 744 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 745 </p> 746 <p> 747 <p>Include describes a set of policies that can be applied to an HTTPProxy in a namespace.</p> 748 </p> 749 <table class="table table-striped table-borderless" style="border:none"> 750 <thead class="border-bottom"> 751 <tr> 752 <th>Field</th> 753 <th>Description</th> 754 </tr> 755 </thead> 756 <tbody class="border-top"> 757 <tr> 758 <td style="white-space:nowrap"> 759 <code>name</code> 760 <br> 761 <em> 762 string 763 </em> 764 </td> 765 <td> 766 <p>Name of the HTTPProxy</p> 767 </td> 768 </tr> 769 <tr> 770 <td style="white-space:nowrap"> 771 <code>namespace</code> 772 <br> 773 <em> 774 string 775 </em> 776 </td> 777 <td> 778 <em>(Optional)</em> 779 <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p> 780 </td> 781 </tr> 782 <tr> 783 <td style="white-space:nowrap"> 784 <code>conditions</code> 785 <br> 786 <em> 787 <a href="#projectcontour.io/v1.Condition"> 788 []Condition 789 </a> 790 </em> 791 </td> 792 <td> 793 <em>(Optional)</em> 794 <p>Conditions are a set of routing properties that is applied to an HTTPProxy in a namespace.</p> 795 </td> 796 </tr> 797 </tbody> 798 </table> 799 <h3 id="projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy 800 </h3> 801 <p> 802 (<em>Appears on:</em> 803 <a href="#projectcontour.io/v1.Route">Route</a>, 804 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 805 </p> 806 <p> 807 <p>LoadBalancerPolicy defines the load balancing policy.</p> 808 </p> 809 <table class="table table-striped table-borderless" style="border:none"> 810 <thead class="border-bottom"> 811 <tr> 812 <th>Field</th> 813 <th>Description</th> 814 </tr> 815 </thead> 816 <tbody class="border-top"> 817 <tr> 818 <td style="white-space:nowrap"> 819 <code>strategy</code> 820 <br> 821 <em> 822 string 823 </em> 824 </td> 825 <td> 826 <p>Strategy specifies the policy used to balance requests 827 across the pool of backend pods. Valid policy names are 828 <code>Random</code>, <code>RoundRobin</code>, <code>WeightedLeastRequest</code>, <code>Random</code> 829 and <code>Cookie</code>. If an unknown strategy name is specified 830 or no policy is supplied, the default <code>RoundRobin</code> policy 831 is used.</p> 832 </td> 833 </tr> 834 </tbody> 835 </table> 836 <h3 id="projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy 837 </h3> 838 <p> 839 (<em>Appears on:</em> 840 <a href="#projectcontour.io/v1.Route">Route</a>) 841 </p> 842 <p> 843 <p>PathRewritePolicy specifies how a request URL path should be 844 rewritten. This rewriting takes place after a request is routed 845 and has no subsequent effects on the proxy’s routing decision. 846 No HTTP headers or body content is rewritten.</p> 847 <p>Exactly one field in this struct may be specified.</p> 848 </p> 849 <table class="table table-striped table-borderless" style="border:none"> 850 <thead class="border-bottom"> 851 <tr> 852 <th>Field</th> 853 <th>Description</th> 854 </tr> 855 </thead> 856 <tbody class="border-top"> 857 <tr> 858 <td style="white-space:nowrap"> 859 <code>replacePrefix</code> 860 <br> 861 <em> 862 <a href="#projectcontour.io/v1.ReplacePrefix"> 863 []ReplacePrefix 864 </a> 865 </em> 866 </td> 867 <td> 868 <em>(Optional)</em> 869 <p>ReplacePrefix describes how the path prefix should be replaced.</p> 870 </td> 871 </tr> 872 </tbody> 873 </table> 874 <h3 id="projectcontour.io/v1.ReplacePrefix">ReplacePrefix 875 </h3> 876 <p> 877 (<em>Appears on:</em> 878 <a href="#projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy</a>) 879 </p> 880 <p> 881 <p>ReplacePrefix describes a path prefix replacement.</p> 882 </p> 883 <table class="table table-striped table-borderless" style="border:none"> 884 <thead class="border-bottom"> 885 <tr> 886 <th>Field</th> 887 <th>Description</th> 888 </tr> 889 </thead> 890 <tbody class="border-top"> 891 <tr> 892 <td style="white-space:nowrap"> 893 <code>prefix</code> 894 <br> 895 <em> 896 string 897 </em> 898 </td> 899 <td> 900 <em>(Optional)</em> 901 <p>Prefix specifies the URL path prefix to be replaced.</p> 902 <p>If Prefix is specified, it must exactly match the Condition 903 prefix that is rendered by the chain of including HTTPProxies 904 and only that path prefix will be replaced by Replacement. 905 This allows HTTPProxies that are included through multiple 906 roots to only replace specific path prefixes, leaving others 907 unmodified.</p> 908 <p>If Prefix is not specified, all routing prefixes rendered 909 by the include chain will be replaced.</p> 910 </td> 911 </tr> 912 <tr> 913 <td style="white-space:nowrap"> 914 <code>replacement</code> 915 <br> 916 <em> 917 string 918 </em> 919 </td> 920 <td> 921 <p>Replacement is the string that the routing path prefix 922 will be replaced with. This must not be empty.</p> 923 </td> 924 </tr> 925 </tbody> 926 </table> 927 <h3 id="projectcontour.io/v1.RetryPolicy">RetryPolicy 928 </h3> 929 <p> 930 (<em>Appears on:</em> 931 <a href="#projectcontour.io/v1.Route">Route</a>) 932 </p> 933 <p> 934 <p>RetryPolicy defines the attributes associated with retrying policy.</p> 935 </p> 936 <table class="table table-striped table-borderless" style="border:none"> 937 <thead class="border-bottom"> 938 <tr> 939 <th>Field</th> 940 <th>Description</th> 941 </tr> 942 </thead> 943 <tbody class="border-top"> 944 <tr> 945 <td style="white-space:nowrap"> 946 <code>count</code> 947 <br> 948 <em> 949 int64 950 </em> 951 </td> 952 <td> 953 <em>(Optional)</em> 954 <p>NumRetries is maximum allowed number of retries. 955 If not supplied, the number of retries is one.</p> 956 </td> 957 </tr> 958 <tr> 959 <td style="white-space:nowrap"> 960 <code>perTryTimeout</code> 961 <br> 962 <em> 963 string 964 </em> 965 </td> 966 <td> 967 <p>PerTryTimeout specifies the timeout per retry attempt. 968 Ignored if NumRetries is not supplied.</p> 969 </td> 970 </tr> 971 </tbody> 972 </table> 973 <h3 id="projectcontour.io/v1.Route">Route 974 </h3> 975 <p> 976 (<em>Appears on:</em> 977 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 978 </p> 979 <p> 980 <p>Route contains the set of routes for a virtual host.</p> 981 </p> 982 <table class="table table-striped table-borderless" style="border:none"> 983 <thead class="border-bottom"> 984 <tr> 985 <th>Field</th> 986 <th>Description</th> 987 </tr> 988 </thead> 989 <tbody class="border-top"> 990 <tr> 991 <td style="white-space:nowrap"> 992 <code>conditions</code> 993 <br> 994 <em> 995 <a href="#projectcontour.io/v1.Condition"> 996 []Condition 997 </a> 998 </em> 999 </td> 1000 <td> 1001 <em>(Optional)</em> 1002 <p>Conditions are a set of routing properties that is applied to an HTTPProxy in a namespace.</p> 1003 </td> 1004 </tr> 1005 <tr> 1006 <td style="white-space:nowrap"> 1007 <code>services</code> 1008 <br> 1009 <em> 1010 <a href="#projectcontour.io/v1.Service"> 1011 []Service 1012 </a> 1013 </em> 1014 </td> 1015 <td> 1016 <p>Services are the services to proxy traffic.</p> 1017 </td> 1018 </tr> 1019 <tr> 1020 <td style="white-space:nowrap"> 1021 <code>enableWebsockets</code> 1022 <br> 1023 <em> 1024 bool 1025 </em> 1026 </td> 1027 <td> 1028 <em>(Optional)</em> 1029 <p>Enables websocket support for the route.</p> 1030 </td> 1031 </tr> 1032 <tr> 1033 <td style="white-space:nowrap"> 1034 <code>permitInsecure</code> 1035 <br> 1036 <em> 1037 bool 1038 </em> 1039 </td> 1040 <td> 1041 <em>(Optional)</em> 1042 <p>Allow this path to respond to insecure requests over HTTP which are normally 1043 not permitted when a <code>virtualhost.tls</code> block is present.</p> 1044 </td> 1045 </tr> 1046 <tr> 1047 <td style="white-space:nowrap"> 1048 <code>timeoutPolicy</code> 1049 <br> 1050 <em> 1051 <a href="#projectcontour.io/v1.TimeoutPolicy"> 1052 TimeoutPolicy 1053 </a> 1054 </em> 1055 </td> 1056 <td> 1057 <em>(Optional)</em> 1058 <p>The timeout policy for this route.</p> 1059 </td> 1060 </tr> 1061 <tr> 1062 <td style="white-space:nowrap"> 1063 <code>retryPolicy</code> 1064 <br> 1065 <em> 1066 <a href="#projectcontour.io/v1.RetryPolicy"> 1067 RetryPolicy 1068 </a> 1069 </em> 1070 </td> 1071 <td> 1072 <em>(Optional)</em> 1073 <p>The retry policy for this route.</p> 1074 </td> 1075 </tr> 1076 <tr> 1077 <td style="white-space:nowrap"> 1078 <code>healthCheckPolicy</code> 1079 <br> 1080 <em> 1081 <a href="#projectcontour.io/v1.HTTPHealthCheckPolicy"> 1082 HTTPHealthCheckPolicy 1083 </a> 1084 </em> 1085 </td> 1086 <td> 1087 <em>(Optional)</em> 1088 <p>The health check policy for this route.</p> 1089 </td> 1090 </tr> 1091 <tr> 1092 <td style="white-space:nowrap"> 1093 <code>loadBalancerPolicy</code> 1094 <br> 1095 <em> 1096 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 1097 LoadBalancerPolicy 1098 </a> 1099 </em> 1100 </td> 1101 <td> 1102 <em>(Optional)</em> 1103 <p>The load balancing policy for this route.</p> 1104 </td> 1105 </tr> 1106 <tr> 1107 <td style="white-space:nowrap"> 1108 <code>pathRewritePolicy</code> 1109 <br> 1110 <em> 1111 <a href="#projectcontour.io/v1.PathRewritePolicy"> 1112 PathRewritePolicy 1113 </a> 1114 </em> 1115 </td> 1116 <td> 1117 <em>(Optional)</em> 1118 <p>The policy for rewriting the path of the request URL 1119 after the request has been routed to a Service.</p> 1120 </td> 1121 </tr> 1122 <tr> 1123 <td style="white-space:nowrap"> 1124 <code>requestHeadersPolicy</code> 1125 <br> 1126 <em> 1127 <a href="#projectcontour.io/v1.HeadersPolicy"> 1128 HeadersPolicy 1129 </a> 1130 </em> 1131 </td> 1132 <td> 1133 <em>(Optional)</em> 1134 <p>The policy for managing request headers during proxying</p> 1135 </td> 1136 </tr> 1137 <tr> 1138 <td style="white-space:nowrap"> 1139 <code>responseHeadersPolicy</code> 1140 <br> 1141 <em> 1142 <a href="#projectcontour.io/v1.HeadersPolicy"> 1143 HeadersPolicy 1144 </a> 1145 </em> 1146 </td> 1147 <td> 1148 <em>(Optional)</em> 1149 <p>The policy for managing response headers during proxying</p> 1150 </td> 1151 </tr> 1152 </tbody> 1153 </table> 1154 <h3 id="projectcontour.io/v1.Service">Service 1155 </h3> 1156 <p> 1157 (<em>Appears on:</em> 1158 <a href="#projectcontour.io/v1.Route">Route</a>, 1159 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 1160 </p> 1161 <p> 1162 <p>Service defines an Kubernetes Service to proxy traffic.</p> 1163 </p> 1164 <table class="table table-striped table-borderless" style="border:none"> 1165 <thead class="border-bottom"> 1166 <tr> 1167 <th>Field</th> 1168 <th>Description</th> 1169 </tr> 1170 </thead> 1171 <tbody class="border-top"> 1172 <tr> 1173 <td style="white-space:nowrap"> 1174 <code>name</code> 1175 <br> 1176 <em> 1177 string 1178 </em> 1179 </td> 1180 <td> 1181 <p>Name is the name of Kubernetes service to proxy traffic. 1182 Names defined here will be used to look up corresponding endpoints which contain the ips to route.</p> 1183 </td> 1184 </tr> 1185 <tr> 1186 <td style="white-space:nowrap"> 1187 <code>port</code> 1188 <br> 1189 <em> 1190 int 1191 </em> 1192 </td> 1193 <td> 1194 <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p> 1195 </td> 1196 </tr> 1197 <tr> 1198 <td style="white-space:nowrap"> 1199 <code>protocol</code> 1200 <br> 1201 <em> 1202 string 1203 </em> 1204 </td> 1205 <td> 1206 <em>(Optional)</em> 1207 <p>Protocol may be used to specify (or override) the protocol used to reach this Service. 1208 Values may be tls, h2, h2c. If omitted, protocol-selection falls back on Service annotations.</p> 1209 </td> 1210 </tr> 1211 <tr> 1212 <td style="white-space:nowrap"> 1213 <code>weight</code> 1214 <br> 1215 <em> 1216 int64 1217 </em> 1218 </td> 1219 <td> 1220 <em>(Optional)</em> 1221 <p>Weight defines percentage of traffic to balance traffic</p> 1222 </td> 1223 </tr> 1224 <tr> 1225 <td style="white-space:nowrap"> 1226 <code>validation</code> 1227 <br> 1228 <em> 1229 <a href="#projectcontour.io/v1.UpstreamValidation"> 1230 UpstreamValidation 1231 </a> 1232 </em> 1233 </td> 1234 <td> 1235 <em>(Optional)</em> 1236 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 1237 </td> 1238 </tr> 1239 <tr> 1240 <td style="white-space:nowrap"> 1241 <code>mirror</code> 1242 <br> 1243 <em> 1244 bool 1245 </em> 1246 </td> 1247 <td> 1248 <p>If Mirror is true the Service will receive a read only mirror of the traffic for this route.</p> 1249 </td> 1250 </tr> 1251 <tr> 1252 <td style="white-space:nowrap"> 1253 <code>requestHeadersPolicy</code> 1254 <br> 1255 <em> 1256 <a href="#projectcontour.io/v1.HeadersPolicy"> 1257 HeadersPolicy 1258 </a> 1259 </em> 1260 </td> 1261 <td> 1262 <em>(Optional)</em> 1263 <p>The policy for managing request headers during proxying</p> 1264 </td> 1265 </tr> 1266 <tr> 1267 <td style="white-space:nowrap"> 1268 <code>responseHeadersPolicy</code> 1269 <br> 1270 <em> 1271 <a href="#projectcontour.io/v1.HeadersPolicy"> 1272 HeadersPolicy 1273 </a> 1274 </em> 1275 </td> 1276 <td> 1277 <em>(Optional)</em> 1278 <p>The policy for managing response headers during proxying</p> 1279 </td> 1280 </tr> 1281 </tbody> 1282 </table> 1283 <h3 id="projectcontour.io/v1.Status">Status 1284 </h3> 1285 <p> 1286 (<em>Appears on:</em> 1287 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>) 1288 </p> 1289 <p> 1290 <p>Status reports the current state of the HTTPProxy.</p> 1291 </p> 1292 <table class="table table-striped table-borderless" style="border:none"> 1293 <thead class="border-bottom"> 1294 <tr> 1295 <th>Field</th> 1296 <th>Description</th> 1297 </tr> 1298 </thead> 1299 <tbody class="border-top"> 1300 <tr> 1301 <td style="white-space:nowrap"> 1302 <code>currentStatus</code> 1303 <br> 1304 <em> 1305 string 1306 </em> 1307 </td> 1308 <td> 1309 <em>(Optional)</em> 1310 </td> 1311 </tr> 1312 <tr> 1313 <td style="white-space:nowrap"> 1314 <code>description</code> 1315 <br> 1316 <em> 1317 string 1318 </em> 1319 </td> 1320 <td> 1321 <em>(Optional)</em> 1322 </td> 1323 </tr> 1324 </tbody> 1325 </table> 1326 <h3 id="projectcontour.io/v1.TCPHealthCheckPolicy">TCPHealthCheckPolicy 1327 </h3> 1328 <p> 1329 (<em>Appears on:</em> 1330 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 1331 </p> 1332 <p> 1333 <p>TCPHealthCheckPolicy defines health checks on the upstream service.</p> 1334 </p> 1335 <table class="table table-striped table-borderless" style="border:none"> 1336 <thead class="border-bottom"> 1337 <tr> 1338 <th>Field</th> 1339 <th>Description</th> 1340 </tr> 1341 </thead> 1342 <tbody class="border-top"> 1343 <tr> 1344 <td style="white-space:nowrap"> 1345 <code>intervalSeconds</code> 1346 <br> 1347 <em> 1348 int64 1349 </em> 1350 </td> 1351 <td> 1352 <em>(Optional)</em> 1353 <p>The interval (seconds) between health checks</p> 1354 </td> 1355 </tr> 1356 <tr> 1357 <td style="white-space:nowrap"> 1358 <code>timeoutSeconds</code> 1359 <br> 1360 <em> 1361 int64 1362 </em> 1363 </td> 1364 <td> 1365 <em>(Optional)</em> 1366 <p>The time to wait (seconds) for a health check response</p> 1367 </td> 1368 </tr> 1369 <tr> 1370 <td style="white-space:nowrap"> 1371 <code>unhealthyThresholdCount</code> 1372 <br> 1373 <em> 1374 uint32 1375 </em> 1376 </td> 1377 <td> 1378 <em>(Optional)</em> 1379 <p>The number of unhealthy health checks required before a host is marked unhealthy</p> 1380 </td> 1381 </tr> 1382 <tr> 1383 <td style="white-space:nowrap"> 1384 <code>healthyThresholdCount</code> 1385 <br> 1386 <em> 1387 uint32 1388 </em> 1389 </td> 1390 <td> 1391 <em>(Optional)</em> 1392 <p>The number of healthy health checks required before a host is marked healthy</p> 1393 </td> 1394 </tr> 1395 </tbody> 1396 </table> 1397 <h3 id="projectcontour.io/v1.TCPProxy">TCPProxy 1398 </h3> 1399 <p> 1400 (<em>Appears on:</em> 1401 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 1402 </p> 1403 <p> 1404 <p>TCPProxy contains the set of services to proxy TCP connections.</p> 1405 </p> 1406 <table class="table table-striped table-borderless" style="border:none"> 1407 <thead class="border-bottom"> 1408 <tr> 1409 <th>Field</th> 1410 <th>Description</th> 1411 </tr> 1412 </thead> 1413 <tbody class="border-top"> 1414 <tr> 1415 <td style="white-space:nowrap"> 1416 <code>loadBalancerPolicy</code> 1417 <br> 1418 <em> 1419 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 1420 LoadBalancerPolicy 1421 </a> 1422 </em> 1423 </td> 1424 <td> 1425 <em>(Optional)</em> 1426 <p>The load balancing policy for the backend services.</p> 1427 </td> 1428 </tr> 1429 <tr> 1430 <td style="white-space:nowrap"> 1431 <code>services</code> 1432 <br> 1433 <em> 1434 <a href="#projectcontour.io/v1.Service"> 1435 []Service 1436 </a> 1437 </em> 1438 </td> 1439 <td> 1440 <p>Services are the services to proxy traffic</p> 1441 </td> 1442 </tr> 1443 <tr> 1444 <td style="white-space:nowrap"> 1445 <code>include</code> 1446 <br> 1447 <em> 1448 <a href="#projectcontour.io/v1.TCPProxyInclude"> 1449 TCPProxyInclude 1450 </a> 1451 </em> 1452 </td> 1453 <td> 1454 <em>(Optional)</em> 1455 <p>Include specifies that this tcpproxy should be delegated to another HTTPProxy.</p> 1456 </td> 1457 </tr> 1458 <tr> 1459 <td style="white-space:nowrap"> 1460 <code>includes</code> 1461 <br> 1462 <em> 1463 <a href="#projectcontour.io/v1.TCPProxyInclude"> 1464 TCPProxyInclude 1465 </a> 1466 </em> 1467 </td> 1468 <td> 1469 <em>(Optional)</em> 1470 <p>IncludesDeprecated allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p> 1471 <p>Exists due to a mistake when developing HTTPProxy and the field was marked plural 1472 when it should have been singular. This field should stay to not break backwards compatibility to v1 users.</p> 1473 </td> 1474 </tr> 1475 <tr> 1476 <td style="white-space:nowrap"> 1477 <code>healthCheckPolicy</code> 1478 <br> 1479 <em> 1480 <a href="#projectcontour.io/v1.TCPHealthCheckPolicy"> 1481 TCPHealthCheckPolicy 1482 </a> 1483 </em> 1484 </td> 1485 <td> 1486 <em>(Optional)</em> 1487 <p>The health check policy for this tcp proxy</p> 1488 </td> 1489 </tr> 1490 </tbody> 1491 </table> 1492 <h3 id="projectcontour.io/v1.TCPProxyInclude">TCPProxyInclude 1493 </h3> 1494 <p> 1495 (<em>Appears on:</em> 1496 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 1497 </p> 1498 <p> 1499 <p>TCPProxyInclude describes a target HTTPProxy document which contains the TCPProxy details.</p> 1500 </p> 1501 <table class="table table-striped table-borderless" style="border:none"> 1502 <thead class="border-bottom"> 1503 <tr> 1504 <th>Field</th> 1505 <th>Description</th> 1506 </tr> 1507 </thead> 1508 <tbody class="border-top"> 1509 <tr> 1510 <td style="white-space:nowrap"> 1511 <code>name</code> 1512 <br> 1513 <em> 1514 string 1515 </em> 1516 </td> 1517 <td> 1518 <p>Name of the child HTTPProxy</p> 1519 </td> 1520 </tr> 1521 <tr> 1522 <td style="white-space:nowrap"> 1523 <code>namespace</code> 1524 <br> 1525 <em> 1526 string 1527 </em> 1528 </td> 1529 <td> 1530 <em>(Optional)</em> 1531 <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p> 1532 </td> 1533 </tr> 1534 </tbody> 1535 </table> 1536 <h3 id="projectcontour.io/v1.TLS">TLS 1537 </h3> 1538 <p> 1539 (<em>Appears on:</em> 1540 <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>) 1541 </p> 1542 <p> 1543 <p>TLS describes tls properties. The SNI names that will be matched on 1544 are described in fqdn, the tls.secretName secret must contain a 1545 matching certificate unless tls.passthrough is set to true.</p> 1546 </p> 1547 <table class="table table-striped table-borderless" style="border:none"> 1548 <thead class="border-bottom"> 1549 <tr> 1550 <th>Field</th> 1551 <th>Description</th> 1552 </tr> 1553 </thead> 1554 <tbody class="border-top"> 1555 <tr> 1556 <td style="white-space:nowrap"> 1557 <code>secretName</code> 1558 <br> 1559 <em> 1560 string 1561 </em> 1562 </td> 1563 <td> 1564 <p>required, the name of a secret in the current namespace</p> 1565 </td> 1566 </tr> 1567 <tr> 1568 <td style="white-space:nowrap"> 1569 <code>minimumProtocolVersion</code> 1570 <br> 1571 <em> 1572 string 1573 </em> 1574 </td> 1575 <td> 1576 <em>(Optional)</em> 1577 <p>Minimum TLS version this vhost should negotiate</p> 1578 </td> 1579 </tr> 1580 <tr> 1581 <td style="white-space:nowrap"> 1582 <code>passthrough</code> 1583 <br> 1584 <em> 1585 bool 1586 </em> 1587 </td> 1588 <td> 1589 <em>(Optional)</em> 1590 <p>If Passthrough is set to true, the SecretName will be ignored 1591 and the encrypted handshake will be passed through to the 1592 backing cluster.</p> 1593 </td> 1594 </tr> 1595 <tr> 1596 <td style="white-space:nowrap"> 1597 <code>clientValidation</code> 1598 <br> 1599 <em> 1600 <a href="#projectcontour.io/v1.DownstreamValidation"> 1601 DownstreamValidation 1602 </a> 1603 </em> 1604 </td> 1605 <td> 1606 <em>(Optional)</em> 1607 <p>ClientValidation defines how to verify the client certificate 1608 when an external client establishes a TLS connection to Envoy. 1609 This setting: 1610 1. Enables TLS client certificate validation. 1611 2. Requires clients to present a TLS certificate (i.e. not optional validation). 1612 3. Specifies how the client certificate will be validated.</p> 1613 </td> 1614 </tr> 1615 </tbody> 1616 </table> 1617 <h3 id="projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec 1618 </h3> 1619 <p> 1620 (<em>Appears on:</em> 1621 <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>) 1622 </p> 1623 <p> 1624 <p>TLSCertificateDelegationSpec defines the spec of the CRD</p> 1625 </p> 1626 <table class="table table-striped table-borderless" style="border:none"> 1627 <thead class="border-bottom"> 1628 <tr> 1629 <th>Field</th> 1630 <th>Description</th> 1631 </tr> 1632 </thead> 1633 <tbody class="border-top"> 1634 <tr> 1635 <td style="white-space:nowrap"> 1636 <code>delegations</code> 1637 <br> 1638 <em> 1639 <a href="#projectcontour.io/v1.CertificateDelegation"> 1640 []CertificateDelegation 1641 </a> 1642 </em> 1643 </td> 1644 <td> 1645 </td> 1646 </tr> 1647 </tbody> 1648 </table> 1649 <h3 id="projectcontour.io/v1.TimeoutPolicy">TimeoutPolicy 1650 </h3> 1651 <p> 1652 (<em>Appears on:</em> 1653 <a href="#projectcontour.io/v1.Route">Route</a>) 1654 </p> 1655 <p> 1656 <p>TimeoutPolicy defines the attributes associated with timeout.</p> 1657 </p> 1658 <table class="table table-striped table-borderless" style="border:none"> 1659 <thead class="border-bottom"> 1660 <tr> 1661 <th>Field</th> 1662 <th>Description</th> 1663 </tr> 1664 </thead> 1665 <tbody class="border-top"> 1666 <tr> 1667 <td style="white-space:nowrap"> 1668 <code>response</code> 1669 <br> 1670 <em> 1671 string 1672 </em> 1673 </td> 1674 <td> 1675 <em>(Optional)</em> 1676 <p>Timeout for receiving a response from the server after processing a request from client. 1677 If not supplied the timeout duration is undefined.</p> 1678 </td> 1679 </tr> 1680 <tr> 1681 <td style="white-space:nowrap"> 1682 <code>idle</code> 1683 <br> 1684 <em> 1685 string 1686 </em> 1687 </td> 1688 <td> 1689 <em>(Optional)</em> 1690 <p>Timeout after which if there are no active requests for this route, the connection between 1691 Envoy and the backend will be closed. If not specified, there is no per-route idle timeout.</p> 1692 </td> 1693 </tr> 1694 </tbody> 1695 </table> 1696 <h3 id="projectcontour.io/v1.UpstreamValidation">UpstreamValidation 1697 </h3> 1698 <p> 1699 (<em>Appears on:</em> 1700 <a href="#projectcontour.io/v1.Service">Service</a>) 1701 </p> 1702 <p> 1703 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 1704 </p> 1705 <table class="table table-striped table-borderless" style="border:none"> 1706 <thead class="border-bottom"> 1707 <tr> 1708 <th>Field</th> 1709 <th>Description</th> 1710 </tr> 1711 </thead> 1712 <tbody class="border-top"> 1713 <tr> 1714 <td style="white-space:nowrap"> 1715 <code>caSecret</code> 1716 <br> 1717 <em> 1718 string 1719 </em> 1720 </td> 1721 <td> 1722 <p>Name of the Kubernetes secret be used to validate the certificate presented by the backend</p> 1723 </td> 1724 </tr> 1725 <tr> 1726 <td style="white-space:nowrap"> 1727 <code>subjectName</code> 1728 <br> 1729 <em> 1730 string 1731 </em> 1732 </td> 1733 <td> 1734 <p>Key which is expected to be present in the ‘subjectAltName’ of the presented certificate</p> 1735 </td> 1736 </tr> 1737 </tbody> 1738 </table> 1739 <h3 id="projectcontour.io/v1.VirtualHost">VirtualHost 1740 </h3> 1741 <p> 1742 (<em>Appears on:</em> 1743 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 1744 </p> 1745 <p> 1746 <p>VirtualHost appears at most once. If it is present, the object is considered 1747 to be a “root”.</p> 1748 </p> 1749 <table class="table table-striped table-borderless" style="border:none"> 1750 <thead class="border-bottom"> 1751 <tr> 1752 <th>Field</th> 1753 <th>Description</th> 1754 </tr> 1755 </thead> 1756 <tbody class="border-top"> 1757 <tr> 1758 <td style="white-space:nowrap"> 1759 <code>fqdn</code> 1760 <br> 1761 <em> 1762 string 1763 </em> 1764 </td> 1765 <td> 1766 <p>The fully qualified domain name of the root of the ingress tree 1767 all leaves of the DAG rooted at this object relate to the fqdn</p> 1768 </td> 1769 </tr> 1770 <tr> 1771 <td style="white-space:nowrap"> 1772 <code>tls</code> 1773 <br> 1774 <em> 1775 <a href="#projectcontour.io/v1.TLS"> 1776 TLS 1777 </a> 1778 </em> 1779 </td> 1780 <td> 1781 <em>(Optional)</em> 1782 <p>If present describes tls properties. The SNI names that will be matched on 1783 are described in fqdn, the tls.secretName secret must contain a 1784 matching certificate</p> 1785 </td> 1786 </tr> 1787 </tbody> 1788 </table> 1789 <hr/> 1790 <p><em> 1791 Generated with <code>gen-crd-api-reference-docs</code>. 1792 </em></p>