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