github.com/projectcontour/contour@v1.28.2/site/content/docs/v1.19.1/config/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 <li> 7 <a href="#projectcontour.io%2fv1alpha1">projectcontour.io/v1alpha1</a> 8 </li> 9 </ul> 10 <h2 id="projectcontour.io/v1">projectcontour.io/v1</h2> 11 <p> 12 <p>Package v1 holds the specification for the projectcontour.io Custom Resource Definitions (CRDs).</p> 13 <p>In building this CRD, we’ve inadvertently overloaded the word “Condition”, so we’ve tried to make 14 this spec clear as to which types of condition are which.</p> 15 <p><code>MatchConditions</code> are used by <code>Routes</code> and <code>Includes</code> to specify rules to match requests against for either 16 routing or inclusion.</p> 17 <p><code>DetailedConditions</code> are used in the <code>Status</code> of these objects to hold information about the relevant 18 state of the object and the world around it.</p> 19 <p><code>SubConditions</code> are used underneath <code>DetailedConditions</code> to give more detail to errors or warnings.</p> 20 </p> 21 Resource Types: 22 <ul><li> 23 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a> 24 </li><li> 25 <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a> 26 </li></ul> 27 <h3 id="projectcontour.io/v1.HTTPProxy">HTTPProxy 28 </h3> 29 <p> 30 <p>HTTPProxy is an Ingress CRD specification.</p> 31 </p> 32 <table class="table table-striped table-borderless" style="border:none"> 33 <thead class="border-bottom"> 34 <tr> 35 <th>Field</th> 36 <th>Description</th> 37 </tr> 38 </thead> 39 <tbody class="border-top"> 40 <tr> 41 <td> 42 <code>apiVersion</code> 43 <br> 44 string</td> 45 <td> 46 <code> 47 projectcontour.io/v1 48 </code> 49 </td> 50 </tr> 51 <tr> 52 <td> 53 <code>kind</code> 54 <br> 55 string 56 </td> 57 <td><code>HTTPProxy</code></td> 58 </tr> 59 <tr> 60 <td style="white-space:nowrap"> 61 <code>metadata</code> 62 <br> 63 <em> 64 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 65 Kubernetes meta/v1.ObjectMeta 66 </a> 67 </em> 68 </td> 69 <td> 70 Refer to the Kubernetes API documentation for the fields of the 71 <code>metadata</code> field. 72 </td> 73 </tr> 74 <tr> 75 <td style="white-space:nowrap"> 76 <code>spec</code> 77 <br> 78 <em> 79 <a href="#projectcontour.io/v1.HTTPProxySpec"> 80 HTTPProxySpec 81 </a> 82 </em> 83 </td> 84 <td> 85 <br> 86 <br> 87 <table style="border:none"> 88 <tr> 89 <td style="white-space:nowrap"> 90 <code>virtualhost</code> 91 <br> 92 <em> 93 <a href="#projectcontour.io/v1.VirtualHost"> 94 VirtualHost 95 </a> 96 </em> 97 </td> 98 <td> 99 <em>(Optional)</em> 100 <p>Virtualhost appears at most once. If it is present, the object is considered 101 to be a “root” HTTPProxy.</p> 102 </td> 103 </tr> 104 <tr> 105 <td style="white-space:nowrap"> 106 <code>routes</code> 107 <br> 108 <em> 109 <a href="#projectcontour.io/v1.Route"> 110 []Route 111 </a> 112 </em> 113 </td> 114 <td> 115 <em>(Optional)</em> 116 <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p> 117 </td> 118 </tr> 119 <tr> 120 <td style="white-space:nowrap"> 121 <code>tcpproxy</code> 122 <br> 123 <em> 124 <a href="#projectcontour.io/v1.TCPProxy"> 125 TCPProxy 126 </a> 127 </em> 128 </td> 129 <td> 130 <em>(Optional)</em> 131 <p>TCPProxy holds TCP proxy information.</p> 132 </td> 133 </tr> 134 <tr> 135 <td style="white-space:nowrap"> 136 <code>includes</code> 137 <br> 138 <em> 139 <a href="#projectcontour.io/v1.Include"> 140 []Include 141 </a> 142 </em> 143 </td> 144 <td> 145 <em>(Optional)</em> 146 <p>Includes allow for specific routing configuration to be included from another HTTPProxy, 147 possibly in another namespace.</p> 148 </td> 149 </tr> 150 <tr> 151 <td style="white-space:nowrap"> 152 <code>ingressClassName</code> 153 <br> 154 <em> 155 string 156 </em> 157 </td> 158 <td> 159 <em>(Optional)</em> 160 <p>IngressClassName optionally specifies the ingress class to use for this 161 HTTPProxy. This replaces the deprecated <code>kubernetes.io/ingress.class</code> 162 annotation. For backwards compatibility, when that annotation is set, it 163 is given precedence over this field.</p> 164 </td> 165 </tr> 166 </table> 167 </td> 168 </tr> 169 <tr> 170 <td style="white-space:nowrap"> 171 <code>status</code> 172 <br> 173 <em> 174 <a href="#projectcontour.io/v1.HTTPProxyStatus"> 175 HTTPProxyStatus 176 </a> 177 </em> 178 </td> 179 <td> 180 <em>(Optional)</em> 181 <p>Status is a container for computed information about the HTTPProxy.</p> 182 </td> 183 </tr> 184 </tbody> 185 </table> 186 <h3 id="projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation 187 </h3> 188 <p> 189 <p>TLSCertificateDelegation is an TLS Certificate Delegation CRD specification. 190 See design/tls-certificate-delegation.md for details.</p> 191 </p> 192 <table class="table table-striped table-borderless" style="border:none"> 193 <thead class="border-bottom"> 194 <tr> 195 <th>Field</th> 196 <th>Description</th> 197 </tr> 198 </thead> 199 <tbody class="border-top"> 200 <tr> 201 <td> 202 <code>apiVersion</code> 203 <br> 204 string</td> 205 <td> 206 <code> 207 projectcontour.io/v1 208 </code> 209 </td> 210 </tr> 211 <tr> 212 <td> 213 <code>kind</code> 214 <br> 215 string 216 </td> 217 <td><code>TLSCertificateDelegation</code></td> 218 </tr> 219 <tr> 220 <td style="white-space:nowrap"> 221 <code>metadata</code> 222 <br> 223 <em> 224 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 225 Kubernetes meta/v1.ObjectMeta 226 </a> 227 </em> 228 </td> 229 <td> 230 Refer to the Kubernetes API documentation for the fields of the 231 <code>metadata</code> field. 232 </td> 233 </tr> 234 <tr> 235 <td style="white-space:nowrap"> 236 <code>spec</code> 237 <br> 238 <em> 239 <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec"> 240 TLSCertificateDelegationSpec 241 </a> 242 </em> 243 </td> 244 <td> 245 <br> 246 <br> 247 <table style="border:none"> 248 <tr> 249 <td style="white-space:nowrap"> 250 <code>delegations</code> 251 <br> 252 <em> 253 <a href="#projectcontour.io/v1.CertificateDelegation"> 254 []CertificateDelegation 255 </a> 256 </em> 257 </td> 258 <td> 259 </td> 260 </tr> 261 </table> 262 </td> 263 </tr> 264 <tr> 265 <td style="white-space:nowrap"> 266 <code>status</code> 267 <br> 268 <em> 269 <a href="#projectcontour.io/v1.TLSCertificateDelegationStatus"> 270 TLSCertificateDelegationStatus 271 </a> 272 </em> 273 </td> 274 <td> 275 <em>(Optional)</em> 276 </td> 277 </tr> 278 </tbody> 279 </table> 280 <h3 id="projectcontour.io/v1.AuthorizationPolicy">AuthorizationPolicy 281 </h3> 282 <p> 283 (<em>Appears on:</em> 284 <a href="#projectcontour.io/v1.AuthorizationServer">AuthorizationServer</a>, 285 <a href="#projectcontour.io/v1.Route">Route</a>) 286 </p> 287 <p> 288 <p>AuthorizationPolicy modifies how client requests are authenticated.</p> 289 </p> 290 <table class="table table-striped table-borderless" style="border:none"> 291 <thead class="border-bottom"> 292 <tr> 293 <th>Field</th> 294 <th>Description</th> 295 </tr> 296 </thead> 297 <tbody class="border-top"> 298 <tr> 299 <td style="white-space:nowrap"> 300 <code>disabled</code> 301 <br> 302 <em> 303 bool 304 </em> 305 </td> 306 <td> 307 <em>(Optional)</em> 308 <p>When true, this field disables client request authentication 309 for the scope of the policy.</p> 310 </td> 311 </tr> 312 <tr> 313 <td style="white-space:nowrap"> 314 <code>context</code> 315 <br> 316 <em> 317 map[string]string 318 </em> 319 </td> 320 <td> 321 <em>(Optional)</em> 322 <p>Context is a set of key/value pairs that are sent to the 323 authentication server in the check request. If a context 324 is provided at an enclosing scope, the entries are merged 325 such that the inner scope overrides matching keys from the 326 outer scope.</p> 327 </td> 328 </tr> 329 </tbody> 330 </table> 331 <h3 id="projectcontour.io/v1.AuthorizationServer">AuthorizationServer 332 </h3> 333 <p> 334 (<em>Appears on:</em> 335 <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>) 336 </p> 337 <p> 338 <p>AuthorizationServer configures an external server to authenticate 339 client requests. The external server must implement the v3 Envoy 340 external authorization GRPC protocol (<a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/external_auth.proto">https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/external_auth.proto</a>).</p> 341 </p> 342 <table class="table table-striped table-borderless" style="border:none"> 343 <thead class="border-bottom"> 344 <tr> 345 <th>Field</th> 346 <th>Description</th> 347 </tr> 348 </thead> 349 <tbody class="border-top"> 350 <tr> 351 <td style="white-space:nowrap"> 352 <code>extensionRef</code> 353 <br> 354 <em> 355 <a href="#projectcontour.io/v1.ExtensionServiceReference"> 356 ExtensionServiceReference 357 </a> 358 </em> 359 </td> 360 <td> 361 <p>ExtensionServiceRef specifies the extension resource that will authorize client requests.</p> 362 </td> 363 </tr> 364 <tr> 365 <td style="white-space:nowrap"> 366 <code>authPolicy</code> 367 <br> 368 <em> 369 <a href="#projectcontour.io/v1.AuthorizationPolicy"> 370 AuthorizationPolicy 371 </a> 372 </em> 373 </td> 374 <td> 375 <em>(Optional)</em> 376 <p>AuthPolicy sets a default authorization policy for client requests. 377 This policy will be used unless overridden by individual routes.</p> 378 </td> 379 </tr> 380 <tr> 381 <td style="white-space:nowrap"> 382 <code>responseTimeout</code> 383 <br> 384 <em> 385 string 386 </em> 387 </td> 388 <td> 389 <em>(Optional)</em> 390 <p>ResponseTimeout configures maximum time to wait for a check response from the authorization server. 391 Timeout durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>. 392 Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”. 393 The string “infinity” is also a valid input and specifies no timeout.</p> 394 </td> 395 </tr> 396 <tr> 397 <td style="white-space:nowrap"> 398 <code>failOpen</code> 399 <br> 400 <em> 401 bool 402 </em> 403 </td> 404 <td> 405 <em>(Optional)</em> 406 <p>If FailOpen is true, the client request is forwarded to the upstream service 407 even if the authorization server fails to respond. This field should not be 408 set in most cases. It is intended for use only while migrating applications 409 from internal authorization to Contour external authorization.</p> 410 </td> 411 </tr> 412 </tbody> 413 </table> 414 <h3 id="projectcontour.io/v1.CORSHeaderValue">CORSHeaderValue 415 (<code>string</code> alias)</h3> 416 <p> 417 (<em>Appears on:</em> 418 <a href="#projectcontour.io/v1.CORSPolicy">CORSPolicy</a>) 419 </p> 420 <p> 421 <p>CORSHeaderValue specifies the value of the string headers returned by a cross-domain request.</p> 422 </p> 423 <h3 id="projectcontour.io/v1.CORSPolicy">CORSPolicy 424 </h3> 425 <p> 426 (<em>Appears on:</em> 427 <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>) 428 </p> 429 <p> 430 <p>CORSPolicy allows setting the CORS policy</p> 431 </p> 432 <table class="table table-striped table-borderless" style="border:none"> 433 <thead class="border-bottom"> 434 <tr> 435 <th>Field</th> 436 <th>Description</th> 437 </tr> 438 </thead> 439 <tbody class="border-top"> 440 <tr> 441 <td style="white-space:nowrap"> 442 <code>allowCredentials</code> 443 <br> 444 <em> 445 bool 446 </em> 447 </td> 448 <td> 449 <em>(Optional)</em> 450 <p>Specifies whether the resource allows credentials.</p> 451 </td> 452 </tr> 453 <tr> 454 <td style="white-space:nowrap"> 455 <code>allowOrigin</code> 456 <br> 457 <em> 458 []string 459 </em> 460 </td> 461 <td> 462 <p>AllowOrigin specifies the origins that will be allowed to do CORS requests. “*” means 463 allow any origin.</p> 464 </td> 465 </tr> 466 <tr> 467 <td style="white-space:nowrap"> 468 <code>allowMethods</code> 469 <br> 470 <em> 471 <a href="#projectcontour.io/v1.CORSHeaderValue"> 472 []CORSHeaderValue 473 </a> 474 </em> 475 </td> 476 <td> 477 <p>AllowMethods specifies the content for the <em>access-control-allow-methods</em> header.</p> 478 </td> 479 </tr> 480 <tr> 481 <td style="white-space:nowrap"> 482 <code>allowHeaders</code> 483 <br> 484 <em> 485 <a href="#projectcontour.io/v1.CORSHeaderValue"> 486 []CORSHeaderValue 487 </a> 488 </em> 489 </td> 490 <td> 491 <em>(Optional)</em> 492 <p>AllowHeaders specifies the content for the <em>access-control-allow-headers</em> header.</p> 493 </td> 494 </tr> 495 <tr> 496 <td style="white-space:nowrap"> 497 <code>exposeHeaders</code> 498 <br> 499 <em> 500 <a href="#projectcontour.io/v1.CORSHeaderValue"> 501 []CORSHeaderValue 502 </a> 503 </em> 504 </td> 505 <td> 506 <em>(Optional)</em> 507 <p>ExposeHeaders Specifies the content for the <em>access-control-expose-headers</em> header.</p> 508 </td> 509 </tr> 510 <tr> 511 <td style="white-space:nowrap"> 512 <code>maxAge</code> 513 <br> 514 <em> 515 string 516 </em> 517 </td> 518 <td> 519 <em>(Optional)</em> 520 <p>MaxAge indicates for how long the results of a preflight request can be cached. 521 MaxAge durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>. 522 Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”. 523 Only positive values are allowed while 0 disables the cache requiring a preflight OPTIONS 524 check for all cross-origin requests.</p> 525 </td> 526 </tr> 527 </tbody> 528 </table> 529 <h3 id="projectcontour.io/v1.CertificateDelegation">CertificateDelegation 530 </h3> 531 <p> 532 (<em>Appears on:</em> 533 <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec</a>) 534 </p> 535 <p> 536 <p>CertificateDelegation maps the authority to reference a secret 537 in the current namespace to a set of namespaces.</p> 538 </p> 539 <table class="table table-striped table-borderless" style="border:none"> 540 <thead class="border-bottom"> 541 <tr> 542 <th>Field</th> 543 <th>Description</th> 544 </tr> 545 </thead> 546 <tbody class="border-top"> 547 <tr> 548 <td style="white-space:nowrap"> 549 <code>secretName</code> 550 <br> 551 <em> 552 string 553 </em> 554 </td> 555 <td> 556 <p>required, the name of a secret in the current namespace.</p> 557 </td> 558 </tr> 559 <tr> 560 <td style="white-space:nowrap"> 561 <code>targetNamespaces</code> 562 <br> 563 <em> 564 []string 565 </em> 566 </td> 567 <td> 568 <p>required, the namespaces the authority to reference the 569 the secret will be delegated to. 570 If TargetNamespaces is nil or empty, the CertificateDelegation’ 571 is ignored. If the TargetNamespace list contains the character, “*” 572 the secret will be delegated to all namespaces.</p> 573 </td> 574 </tr> 575 </tbody> 576 </table> 577 <h3 id="projectcontour.io/v1.CookieDomainRewrite">CookieDomainRewrite 578 </h3> 579 <p> 580 (<em>Appears on:</em> 581 <a href="#projectcontour.io/v1.CookieRewritePolicy">CookieRewritePolicy</a>) 582 </p> 583 <p> 584 </p> 585 <table class="table table-striped table-borderless" style="border:none"> 586 <thead class="border-bottom"> 587 <tr> 588 <th>Field</th> 589 <th>Description</th> 590 </tr> 591 </thead> 592 <tbody class="border-top"> 593 <tr> 594 <td style="white-space:nowrap"> 595 <code>value</code> 596 <br> 597 <em> 598 string 599 </em> 600 </td> 601 <td> 602 <p>Value is the value to rewrite the Domain attribute to. 603 For now this is required.</p> 604 </td> 605 </tr> 606 </tbody> 607 </table> 608 <h3 id="projectcontour.io/v1.CookiePathRewrite">CookiePathRewrite 609 </h3> 610 <p> 611 (<em>Appears on:</em> 612 <a href="#projectcontour.io/v1.CookieRewritePolicy">CookieRewritePolicy</a>) 613 </p> 614 <p> 615 </p> 616 <table class="table table-striped table-borderless" style="border:none"> 617 <thead class="border-bottom"> 618 <tr> 619 <th>Field</th> 620 <th>Description</th> 621 </tr> 622 </thead> 623 <tbody class="border-top"> 624 <tr> 625 <td style="white-space:nowrap"> 626 <code>value</code> 627 <br> 628 <em> 629 string 630 </em> 631 </td> 632 <td> 633 <p>Value is the value to rewrite the Path attribute to. 634 For now this is required.</p> 635 </td> 636 </tr> 637 </tbody> 638 </table> 639 <h3 id="projectcontour.io/v1.CookieRewritePolicy">CookieRewritePolicy 640 </h3> 641 <p> 642 (<em>Appears on:</em> 643 <a href="#projectcontour.io/v1.Route">Route</a>, 644 <a href="#projectcontour.io/v1.Service">Service</a>) 645 </p> 646 <p> 647 </p> 648 <table class="table table-striped table-borderless" style="border:none"> 649 <thead class="border-bottom"> 650 <tr> 651 <th>Field</th> 652 <th>Description</th> 653 </tr> 654 </thead> 655 <tbody class="border-top"> 656 <tr> 657 <td style="white-space:nowrap"> 658 <code>name</code> 659 <br> 660 <em> 661 string 662 </em> 663 </td> 664 <td> 665 <p>Name is the name of the cookie for which attributes will be rewritten.</p> 666 </td> 667 </tr> 668 <tr> 669 <td style="white-space:nowrap"> 670 <code>pathRewrite</code> 671 <br> 672 <em> 673 <a href="#projectcontour.io/v1.CookiePathRewrite"> 674 CookiePathRewrite 675 </a> 676 </em> 677 </td> 678 <td> 679 <em>(Optional)</em> 680 <p>PathRewrite enables rewriting the Set-Cookie Path element. 681 If not set, Path will not be rewritten.</p> 682 </td> 683 </tr> 684 <tr> 685 <td style="white-space:nowrap"> 686 <code>domainRewrite</code> 687 <br> 688 <em> 689 <a href="#projectcontour.io/v1.CookieDomainRewrite"> 690 CookieDomainRewrite 691 </a> 692 </em> 693 </td> 694 <td> 695 <em>(Optional)</em> 696 <p>DomainRewrite enables rewriting the Set-Cookie Domain element. 697 If not set, Domain will not be rewritten.</p> 698 </td> 699 </tr> 700 <tr> 701 <td style="white-space:nowrap"> 702 <code>secure</code> 703 <br> 704 <em> 705 bool 706 </em> 707 </td> 708 <td> 709 <em>(Optional)</em> 710 <p>Secure enables rewriting the Set-Cookie Secure element. 711 If not set, Secure attribute will not be rewritten.</p> 712 </td> 713 </tr> 714 <tr> 715 <td style="white-space:nowrap"> 716 <code>sameSite</code> 717 <br> 718 <em> 719 string 720 </em> 721 </td> 722 <td> 723 <em>(Optional)</em> 724 <p>SameSite enables rewriting the Set-Cookie SameSite element. 725 If not set, SameSite attribute will not be rewritten.</p> 726 </td> 727 </tr> 728 </tbody> 729 </table> 730 <h3 id="projectcontour.io/v1.DetailedCondition">DetailedCondition 731 </h3> 732 <p> 733 (<em>Appears on:</em> 734 <a href="#projectcontour.io/v1.HTTPProxyStatus">HTTPProxyStatus</a>, 735 <a href="#projectcontour.io/v1.TLSCertificateDelegationStatus">TLSCertificateDelegationStatus</a>, 736 <a href="#projectcontour.io/v1alpha1.ContourConfigurationStatus">ContourConfigurationStatus</a>, 737 <a href="#projectcontour.io/v1alpha1.ContourDeploymentStatus">ContourDeploymentStatus</a>, 738 <a href="#projectcontour.io/v1alpha1.ExtensionServiceStatus">ExtensionServiceStatus</a>) 739 </p> 740 <p> 741 <p>DetailedCondition is an extension of the normal Kubernetes conditions, with two extra 742 fields to hold sub-conditions, which provide more detailed reasons for the state (True or False) 743 of the condition.</p> 744 <p><code>errors</code> holds information about sub-conditions which are fatal to that condition and render its state False.</p> 745 <p><code>warnings</code> holds information about sub-conditions which are not fatal to that condition and do not force the state to be False.</p> 746 <p>Remember that Conditions have a type, a status, and a reason.</p> 747 <p>The type is the type of the condition, the most important one in this CRD set is <code>Valid</code>. 748 <code>Valid</code> is a positive-polarity condition: when it is <code>status: true</code> there are no problems.</p> 749 <p>In more detail, <code>status: true</code> means that the object is has been ingested into Contour with no errors. 750 <code>warnings</code> may still be present, and will be indicated in the Reason field. There must be zero entries in the <code>errors</code> 751 slice in this case.</p> 752 <p><code>Valid</code>, <code>status: false</code> means that the object has had one or more fatal errors during processing into Contour. 753 The details of the errors will be present under the <code>errors</code> field. There must be at least one error in the <code>errors</code> 754 slice if <code>status</code> is <code>false</code>.</p> 755 <p>For DetailedConditions of types other than <code>Valid</code>, the Condition must be in the negative polarity. 756 When they have <code>status</code> <code>true</code>, there is an error. There must be at least one entry in the <code>errors</code> Subcondition slice. 757 When they have <code>status</code> <code>false</code>, there are no serious errors, and there must be zero entries in the <code>errors</code> slice. 758 In either case, there may be entries in the <code>warnings</code> slice.</p> 759 <p>Regardless of the polarity, the <code>reason</code> and <code>message</code> fields must be updated with either the detail of the reason 760 (if there is one and only one entry in total across both the <code>errors</code> and <code>warnings</code> slices), or 761 <code>MultipleReasons</code> if there is more than one entry.</p> 762 </p> 763 <table class="table table-striped table-borderless" style="border:none"> 764 <thead class="border-bottom"> 765 <tr> 766 <th>Field</th> 767 <th>Description</th> 768 </tr> 769 </thead> 770 <tbody class="border-top"> 771 <tr> 772 <td style="white-space:nowrap"> 773 <code>Condition</code> 774 <br> 775 <em> 776 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#condition-v1-meta"> 777 Kubernetes meta/v1.Condition 778 </a> 779 </em> 780 </td> 781 <td> 782 <p> 783 (Members of <code>Condition</code> are embedded into this type.) 784 </p> 785 </td> 786 </tr> 787 <tr> 788 <td style="white-space:nowrap"> 789 <code>errors</code> 790 <br> 791 <em> 792 <a href="#projectcontour.io/v1.SubCondition"> 793 []SubCondition 794 </a> 795 </em> 796 </td> 797 <td> 798 <em>(Optional)</em> 799 <p>Errors contains a slice of relevant error subconditions for this object.</p> 800 <p>Subconditions are expected to appear when relevant (when there is a error), and disappear when not relevant. 801 An empty slice here indicates no errors.</p> 802 </td> 803 </tr> 804 <tr> 805 <td style="white-space:nowrap"> 806 <code>warnings</code> 807 <br> 808 <em> 809 <a href="#projectcontour.io/v1.SubCondition"> 810 []SubCondition 811 </a> 812 </em> 813 </td> 814 <td> 815 <em>(Optional)</em> 816 <p>Warnings contains a slice of relevant warning subconditions for this object.</p> 817 <p>Subconditions are expected to appear when relevant (when there is a warning), and disappear when not relevant. 818 An empty slice here indicates no warnings.</p> 819 </td> 820 </tr> 821 </tbody> 822 </table> 823 <h3 id="projectcontour.io/v1.DownstreamValidation">DownstreamValidation 824 </h3> 825 <p> 826 (<em>Appears on:</em> 827 <a href="#projectcontour.io/v1.TLS">TLS</a>) 828 </p> 829 <p> 830 <p>DownstreamValidation defines how to verify the client certificate.</p> 831 </p> 832 <table class="table table-striped table-borderless" style="border:none"> 833 <thead class="border-bottom"> 834 <tr> 835 <th>Field</th> 836 <th>Description</th> 837 </tr> 838 </thead> 839 <tbody class="border-top"> 840 <tr> 841 <td style="white-space:nowrap"> 842 <code>caSecret</code> 843 <br> 844 <em> 845 string 846 </em> 847 </td> 848 <td> 849 <em>(Optional)</em> 850 <p>Name of a Kubernetes secret that contains a CA certificate bundle. 851 The client certificate must validate against the certificates in the bundle. 852 If specified and SkipClientCertValidation is true, client certificates will 853 be required on requests.</p> 854 </td> 855 </tr> 856 <tr> 857 <td style="white-space:nowrap"> 858 <code>skipClientCertValidation</code> 859 <br> 860 <em> 861 bool 862 </em> 863 </td> 864 <td> 865 <em>(Optional)</em> 866 <p>SkipClientCertValidation disables downstream client certificate 867 validation. Defaults to false. This field is intended to be used in 868 conjunction with external authorization in order to enable the external 869 authorization server to validate client certificates. When this field 870 is set to true, client certificates are requested but not verified by 871 Envoy. If CACertificate is specified, client certificates are required on 872 requests, but not verified. If external authorization is in use, they are 873 presented to the external authorization server.</p> 874 </td> 875 </tr> 876 </tbody> 877 </table> 878 <h3 id="projectcontour.io/v1.ExtensionServiceReference">ExtensionServiceReference 879 </h3> 880 <p> 881 (<em>Appears on:</em> 882 <a href="#projectcontour.io/v1.AuthorizationServer">AuthorizationServer</a>) 883 </p> 884 <p> 885 <p>ExtensionServiceReference names an ExtensionService resource.</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>apiVersion</code> 898 <br> 899 <em> 900 string 901 </em> 902 </td> 903 <td> 904 <em>(Optional)</em> 905 <p>API version of the referent. 906 If this field is not specified, the default “projectcontour.io/v1alpha1” will be used</p> 907 </td> 908 </tr> 909 <tr> 910 <td style="white-space:nowrap"> 911 <code>namespace</code> 912 <br> 913 <em> 914 string 915 </em> 916 </td> 917 <td> 918 <em>(Optional)</em> 919 <p>Namespace of the referent. 920 If this field is not specifies, the namespace of the resource that targets the referent will be used.</p> 921 <p>More info: <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/</a></p> 922 </td> 923 </tr> 924 <tr> 925 <td style="white-space:nowrap"> 926 <code>name</code> 927 <br> 928 <em> 929 string 930 </em> 931 </td> 932 <td> 933 <p>Name of the referent.</p> 934 <p>More info: <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names">https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names</a></p> 935 </td> 936 </tr> 937 </tbody> 938 </table> 939 <h3 id="projectcontour.io/v1.GenericKeyDescriptor">GenericKeyDescriptor 940 </h3> 941 <p> 942 (<em>Appears on:</em> 943 <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>) 944 </p> 945 <p> 946 <p>GenericKeyDescriptor defines a descriptor entry with a static key and 947 value.</p> 948 </p> 949 <table class="table table-striped table-borderless" style="border:none"> 950 <thead class="border-bottom"> 951 <tr> 952 <th>Field</th> 953 <th>Description</th> 954 </tr> 955 </thead> 956 <tbody class="border-top"> 957 <tr> 958 <td style="white-space:nowrap"> 959 <code>key</code> 960 <br> 961 <em> 962 string 963 </em> 964 </td> 965 <td> 966 <em>(Optional)</em> 967 <p>Key defines the key of the descriptor entry. If not set, the 968 key is set to “generic_key”.</p> 969 </td> 970 </tr> 971 <tr> 972 <td style="white-space:nowrap"> 973 <code>value</code> 974 <br> 975 <em> 976 string 977 </em> 978 </td> 979 <td> 980 <p>Value defines the value of the descriptor entry.</p> 981 </td> 982 </tr> 983 </tbody> 984 </table> 985 <h3 id="projectcontour.io/v1.GlobalRateLimitPolicy">GlobalRateLimitPolicy 986 </h3> 987 <p> 988 (<em>Appears on:</em> 989 <a href="#projectcontour.io/v1.RateLimitPolicy">RateLimitPolicy</a>) 990 </p> 991 <p> 992 <p>GlobalRateLimitPolicy defines global rate limiting parameters.</p> 993 </p> 994 <table class="table table-striped table-borderless" style="border:none"> 995 <thead class="border-bottom"> 996 <tr> 997 <th>Field</th> 998 <th>Description</th> 999 </tr> 1000 </thead> 1001 <tbody class="border-top"> 1002 <tr> 1003 <td style="white-space:nowrap"> 1004 <code>descriptors</code> 1005 <br> 1006 <em> 1007 <a href="#projectcontour.io/v1.RateLimitDescriptor"> 1008 []RateLimitDescriptor 1009 </a> 1010 </em> 1011 </td> 1012 <td> 1013 <p>Descriptors defines the list of descriptors that will 1014 be generated and sent to the rate limit service. Each 1015 descriptor contains 1+ key-value pair entries.</p> 1016 </td> 1017 </tr> 1018 </tbody> 1019 </table> 1020 <h3 id="projectcontour.io/v1.HTTPHealthCheckPolicy">HTTPHealthCheckPolicy 1021 </h3> 1022 <p> 1023 (<em>Appears on:</em> 1024 <a href="#projectcontour.io/v1.Route">Route</a>) 1025 </p> 1026 <p> 1027 <p>HTTPHealthCheckPolicy defines health checks on the upstream service.</p> 1028 </p> 1029 <table class="table table-striped table-borderless" style="border:none"> 1030 <thead class="border-bottom"> 1031 <tr> 1032 <th>Field</th> 1033 <th>Description</th> 1034 </tr> 1035 </thead> 1036 <tbody class="border-top"> 1037 <tr> 1038 <td style="white-space:nowrap"> 1039 <code>path</code> 1040 <br> 1041 <em> 1042 string 1043 </em> 1044 </td> 1045 <td> 1046 <p>HTTP endpoint used to perform health checks on upstream service</p> 1047 </td> 1048 </tr> 1049 <tr> 1050 <td style="white-space:nowrap"> 1051 <code>host</code> 1052 <br> 1053 <em> 1054 string 1055 </em> 1056 </td> 1057 <td> 1058 <p>The value of the host header in the HTTP health check request. 1059 If left empty (default value), the name “contour-envoy-healthcheck” 1060 will be used.</p> 1061 </td> 1062 </tr> 1063 <tr> 1064 <td style="white-space:nowrap"> 1065 <code>intervalSeconds</code> 1066 <br> 1067 <em> 1068 int64 1069 </em> 1070 </td> 1071 <td> 1072 <em>(Optional)</em> 1073 <p>The interval (seconds) between health checks</p> 1074 </td> 1075 </tr> 1076 <tr> 1077 <td style="white-space:nowrap"> 1078 <code>timeoutSeconds</code> 1079 <br> 1080 <em> 1081 int64 1082 </em> 1083 </td> 1084 <td> 1085 <em>(Optional)</em> 1086 <p>The time to wait (seconds) for a health check response</p> 1087 </td> 1088 </tr> 1089 <tr> 1090 <td style="white-space:nowrap"> 1091 <code>unhealthyThresholdCount</code> 1092 <br> 1093 <em> 1094 int64 1095 </em> 1096 </td> 1097 <td> 1098 <em>(Optional)</em> 1099 <p>The number of unhealthy health checks required before a host is marked unhealthy</p> 1100 </td> 1101 </tr> 1102 <tr> 1103 <td style="white-space:nowrap"> 1104 <code>healthyThresholdCount</code> 1105 <br> 1106 <em> 1107 int64 1108 </em> 1109 </td> 1110 <td> 1111 <em>(Optional)</em> 1112 <p>The number of healthy health checks required before a host is marked healthy</p> 1113 </td> 1114 </tr> 1115 </tbody> 1116 </table> 1117 <h3 id="projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec 1118 </h3> 1119 <p> 1120 (<em>Appears on:</em> 1121 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>) 1122 </p> 1123 <p> 1124 <p>HTTPProxySpec defines the spec of the CRD.</p> 1125 </p> 1126 <table class="table table-striped table-borderless" style="border:none"> 1127 <thead class="border-bottom"> 1128 <tr> 1129 <th>Field</th> 1130 <th>Description</th> 1131 </tr> 1132 </thead> 1133 <tbody class="border-top"> 1134 <tr> 1135 <td style="white-space:nowrap"> 1136 <code>virtualhost</code> 1137 <br> 1138 <em> 1139 <a href="#projectcontour.io/v1.VirtualHost"> 1140 VirtualHost 1141 </a> 1142 </em> 1143 </td> 1144 <td> 1145 <em>(Optional)</em> 1146 <p>Virtualhost appears at most once. If it is present, the object is considered 1147 to be a “root” HTTPProxy.</p> 1148 </td> 1149 </tr> 1150 <tr> 1151 <td style="white-space:nowrap"> 1152 <code>routes</code> 1153 <br> 1154 <em> 1155 <a href="#projectcontour.io/v1.Route"> 1156 []Route 1157 </a> 1158 </em> 1159 </td> 1160 <td> 1161 <em>(Optional)</em> 1162 <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p> 1163 </td> 1164 </tr> 1165 <tr> 1166 <td style="white-space:nowrap"> 1167 <code>tcpproxy</code> 1168 <br> 1169 <em> 1170 <a href="#projectcontour.io/v1.TCPProxy"> 1171 TCPProxy 1172 </a> 1173 </em> 1174 </td> 1175 <td> 1176 <em>(Optional)</em> 1177 <p>TCPProxy holds TCP proxy information.</p> 1178 </td> 1179 </tr> 1180 <tr> 1181 <td style="white-space:nowrap"> 1182 <code>includes</code> 1183 <br> 1184 <em> 1185 <a href="#projectcontour.io/v1.Include"> 1186 []Include 1187 </a> 1188 </em> 1189 </td> 1190 <td> 1191 <em>(Optional)</em> 1192 <p>Includes allow for specific routing configuration to be included from another HTTPProxy, 1193 possibly in another namespace.</p> 1194 </td> 1195 </tr> 1196 <tr> 1197 <td style="white-space:nowrap"> 1198 <code>ingressClassName</code> 1199 <br> 1200 <em> 1201 string 1202 </em> 1203 </td> 1204 <td> 1205 <em>(Optional)</em> 1206 <p>IngressClassName optionally specifies the ingress class to use for this 1207 HTTPProxy. This replaces the deprecated <code>kubernetes.io/ingress.class</code> 1208 annotation. For backwards compatibility, when that annotation is set, it 1209 is given precedence over this field.</p> 1210 </td> 1211 </tr> 1212 </tbody> 1213 </table> 1214 <h3 id="projectcontour.io/v1.HTTPProxyStatus">HTTPProxyStatus 1215 </h3> 1216 <p> 1217 (<em>Appears on:</em> 1218 <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>) 1219 </p> 1220 <p> 1221 <p>HTTPProxyStatus reports the current state of the HTTPProxy.</p> 1222 </p> 1223 <table class="table table-striped table-borderless" style="border:none"> 1224 <thead class="border-bottom"> 1225 <tr> 1226 <th>Field</th> 1227 <th>Description</th> 1228 </tr> 1229 </thead> 1230 <tbody class="border-top"> 1231 <tr> 1232 <td style="white-space:nowrap"> 1233 <code>currentStatus</code> 1234 <br> 1235 <em> 1236 string 1237 </em> 1238 </td> 1239 <td> 1240 <em>(Optional)</em> 1241 </td> 1242 </tr> 1243 <tr> 1244 <td style="white-space:nowrap"> 1245 <code>description</code> 1246 <br> 1247 <em> 1248 string 1249 </em> 1250 </td> 1251 <td> 1252 <em>(Optional)</em> 1253 </td> 1254 </tr> 1255 <tr> 1256 <td style="white-space:nowrap"> 1257 <code>loadBalancer</code> 1258 <br> 1259 <em> 1260 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#loadbalancerstatus-v1-core"> 1261 Kubernetes core/v1.LoadBalancerStatus 1262 </a> 1263 </em> 1264 </td> 1265 <td> 1266 <em>(Optional)</em> 1267 <p>LoadBalancer contains the current status of the load balancer.</p> 1268 </td> 1269 </tr> 1270 <tr> 1271 <td style="white-space:nowrap"> 1272 <code>conditions</code> 1273 <br> 1274 <em> 1275 <a href="#projectcontour.io/v1.DetailedCondition"> 1276 []DetailedCondition 1277 </a> 1278 </em> 1279 </td> 1280 <td> 1281 <em>(Optional)</em> 1282 <p>Conditions contains information about the current status of the HTTPProxy, 1283 in an upstream-friendly container.</p> 1284 <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity. 1285 That is, when <code>currentStatus</code> is <code>valid</code>, the <code>Valid</code> condition will be <code>status: true</code>, 1286 and vice versa.</p> 1287 <p>Contour will leave untouched any other Conditions set in this block, 1288 in case some other controller wants to add a Condition.</p> 1289 <p>If you are another controller owner and wish to add a condition, you <em>should</em> 1290 namespace your condition with a label, like <code>controller.domain.com/ConditionName</code>.</p> 1291 </td> 1292 </tr> 1293 </tbody> 1294 </table> 1295 <h3 id="projectcontour.io/v1.HeaderHashOptions">HeaderHashOptions 1296 </h3> 1297 <p> 1298 (<em>Appears on:</em> 1299 <a href="#projectcontour.io/v1.RequestHashPolicy">RequestHashPolicy</a>) 1300 </p> 1301 <p> 1302 <p>HeaderHashOptions contains options to configure a HTTP request header hash 1303 policy, used in request attribute hash based load balancing.</p> 1304 </p> 1305 <table class="table table-striped table-borderless" style="border:none"> 1306 <thead class="border-bottom"> 1307 <tr> 1308 <th>Field</th> 1309 <th>Description</th> 1310 </tr> 1311 </thead> 1312 <tbody class="border-top"> 1313 <tr> 1314 <td style="white-space:nowrap"> 1315 <code>headerName</code> 1316 <br> 1317 <em> 1318 string 1319 </em> 1320 </td> 1321 <td> 1322 <p>HeaderName is the name of the HTTP request header that will be used to 1323 calculate the hash key. If the header specified is not present on a 1324 request, no hash will be produced.</p> 1325 </td> 1326 </tr> 1327 </tbody> 1328 </table> 1329 <h3 id="projectcontour.io/v1.HeaderMatchCondition">HeaderMatchCondition 1330 </h3> 1331 <p> 1332 (<em>Appears on:</em> 1333 <a href="#projectcontour.io/v1.MatchCondition">MatchCondition</a>, 1334 <a href="#projectcontour.io/v1.RequestHeaderValueMatchDescriptor">RequestHeaderValueMatchDescriptor</a>) 1335 </p> 1336 <p> 1337 <p>HeaderMatchCondition specifies how to conditionally match against HTTP 1338 headers. The Name field is required, but only one of the remaining 1339 fields should be be provided.</p> 1340 </p> 1341 <table class="table table-striped table-borderless" style="border:none"> 1342 <thead class="border-bottom"> 1343 <tr> 1344 <th>Field</th> 1345 <th>Description</th> 1346 </tr> 1347 </thead> 1348 <tbody class="border-top"> 1349 <tr> 1350 <td style="white-space:nowrap"> 1351 <code>name</code> 1352 <br> 1353 <em> 1354 string 1355 </em> 1356 </td> 1357 <td> 1358 <p>Name is the name of the header to match against. Name is required. 1359 Header names are case insensitive.</p> 1360 </td> 1361 </tr> 1362 <tr> 1363 <td style="white-space:nowrap"> 1364 <code>present</code> 1365 <br> 1366 <em> 1367 bool 1368 </em> 1369 </td> 1370 <td> 1371 <em>(Optional)</em> 1372 <p>Present specifies that condition is true when the named header 1373 is present, regardless of its value. Note that setting Present 1374 to false does not make the condition true if the named header 1375 is absent.</p> 1376 </td> 1377 </tr> 1378 <tr> 1379 <td style="white-space:nowrap"> 1380 <code>notpresent</code> 1381 <br> 1382 <em> 1383 bool 1384 </em> 1385 </td> 1386 <td> 1387 <em>(Optional)</em> 1388 <p>NotPresent specifies that condition is true when the named header 1389 is not present. Note that setting NotPresent to false does not 1390 make the condition true if the named header is present.</p> 1391 </td> 1392 </tr> 1393 <tr> 1394 <td style="white-space:nowrap"> 1395 <code>contains</code> 1396 <br> 1397 <em> 1398 string 1399 </em> 1400 </td> 1401 <td> 1402 <em>(Optional)</em> 1403 <p>Contains specifies a substring that must be present in 1404 the header value.</p> 1405 </td> 1406 </tr> 1407 <tr> 1408 <td style="white-space:nowrap"> 1409 <code>notcontains</code> 1410 <br> 1411 <em> 1412 string 1413 </em> 1414 </td> 1415 <td> 1416 <em>(Optional)</em> 1417 <p>NotContains specifies a substring that must not be present 1418 in the header value.</p> 1419 </td> 1420 </tr> 1421 <tr> 1422 <td style="white-space:nowrap"> 1423 <code>exact</code> 1424 <br> 1425 <em> 1426 string 1427 </em> 1428 </td> 1429 <td> 1430 <em>(Optional)</em> 1431 <p>Exact specifies a string that the header value must be equal to.</p> 1432 </td> 1433 </tr> 1434 <tr> 1435 <td style="white-space:nowrap"> 1436 <code>notexact</code> 1437 <br> 1438 <em> 1439 string 1440 </em> 1441 </td> 1442 <td> 1443 <em>(Optional)</em> 1444 <p>NoExact specifies a string that the header value must not be 1445 equal to. The condition is true if the header has any other value.</p> 1446 </td> 1447 </tr> 1448 </tbody> 1449 </table> 1450 <h3 id="projectcontour.io/v1.HeaderValue">HeaderValue 1451 </h3> 1452 <p> 1453 (<em>Appears on:</em> 1454 <a href="#projectcontour.io/v1.HeadersPolicy">HeadersPolicy</a>, 1455 <a href="#projectcontour.io/v1.LocalRateLimitPolicy">LocalRateLimitPolicy</a>) 1456 </p> 1457 <p> 1458 <p>HeaderValue represents a header name/value pair</p> 1459 </p> 1460 <table class="table table-striped table-borderless" style="border:none"> 1461 <thead class="border-bottom"> 1462 <tr> 1463 <th>Field</th> 1464 <th>Description</th> 1465 </tr> 1466 </thead> 1467 <tbody class="border-top"> 1468 <tr> 1469 <td style="white-space:nowrap"> 1470 <code>name</code> 1471 <br> 1472 <em> 1473 string 1474 </em> 1475 </td> 1476 <td> 1477 <p>Name represents a key of a header</p> 1478 </td> 1479 </tr> 1480 <tr> 1481 <td style="white-space:nowrap"> 1482 <code>value</code> 1483 <br> 1484 <em> 1485 string 1486 </em> 1487 </td> 1488 <td> 1489 <p>Value represents the value of a header specified by a key</p> 1490 </td> 1491 </tr> 1492 </tbody> 1493 </table> 1494 <h3 id="projectcontour.io/v1.HeadersPolicy">HeadersPolicy 1495 </h3> 1496 <p> 1497 (<em>Appears on:</em> 1498 <a href="#projectcontour.io/v1.Route">Route</a>, 1499 <a href="#projectcontour.io/v1.Service">Service</a>) 1500 </p> 1501 <p> 1502 <p>HeadersPolicy defines how headers are managed during forwarding. 1503 The <code>Host</code> header is treated specially and if set in a HTTP response 1504 will be used as the SNI server name when forwarding over TLS. It is an 1505 error to attempt to set the <code>Host</code> header in a HTTP response.</p> 1506 </p> 1507 <table class="table table-striped table-borderless" style="border:none"> 1508 <thead class="border-bottom"> 1509 <tr> 1510 <th>Field</th> 1511 <th>Description</th> 1512 </tr> 1513 </thead> 1514 <tbody class="border-top"> 1515 <tr> 1516 <td style="white-space:nowrap"> 1517 <code>set</code> 1518 <br> 1519 <em> 1520 <a href="#projectcontour.io/v1.HeaderValue"> 1521 []HeaderValue 1522 </a> 1523 </em> 1524 </td> 1525 <td> 1526 <em>(Optional)</em> 1527 <p>Set specifies a list of HTTP header values that will be set in the HTTP header. 1528 If the header does not exist it will be added, otherwise it will be overwritten with the new value.</p> 1529 </td> 1530 </tr> 1531 <tr> 1532 <td style="white-space:nowrap"> 1533 <code>remove</code> 1534 <br> 1535 <em> 1536 []string 1537 </em> 1538 </td> 1539 <td> 1540 <em>(Optional)</em> 1541 <p>Remove specifies a list of HTTP header names to remove.</p> 1542 </td> 1543 </tr> 1544 </tbody> 1545 </table> 1546 <h3 id="projectcontour.io/v1.Include">Include 1547 </h3> 1548 <p> 1549 (<em>Appears on:</em> 1550 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 1551 </p> 1552 <p> 1553 <p>Include describes a set of policies that can be applied to an HTTPProxy in a namespace.</p> 1554 </p> 1555 <table class="table table-striped table-borderless" style="border:none"> 1556 <thead class="border-bottom"> 1557 <tr> 1558 <th>Field</th> 1559 <th>Description</th> 1560 </tr> 1561 </thead> 1562 <tbody class="border-top"> 1563 <tr> 1564 <td style="white-space:nowrap"> 1565 <code>name</code> 1566 <br> 1567 <em> 1568 string 1569 </em> 1570 </td> 1571 <td> 1572 <p>Name of the HTTPProxy</p> 1573 </td> 1574 </tr> 1575 <tr> 1576 <td style="white-space:nowrap"> 1577 <code>namespace</code> 1578 <br> 1579 <em> 1580 string 1581 </em> 1582 </td> 1583 <td> 1584 <em>(Optional)</em> 1585 <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p> 1586 </td> 1587 </tr> 1588 <tr> 1589 <td style="white-space:nowrap"> 1590 <code>conditions</code> 1591 <br> 1592 <em> 1593 <a href="#projectcontour.io/v1.MatchCondition"> 1594 []MatchCondition 1595 </a> 1596 </em> 1597 </td> 1598 <td> 1599 <em>(Optional)</em> 1600 <p>Conditions are a set of rules that are applied to included HTTPProxies. 1601 In effect, they are added onto the Conditions of included HTTPProxy Route 1602 structs. 1603 When applied, they are merged using AND, with one exception: 1604 There can be only one Prefix MatchCondition per Conditions slice. 1605 More than one Prefix, or contradictory Conditions, will make the 1606 include invalid.</p> 1607 </td> 1608 </tr> 1609 </tbody> 1610 </table> 1611 <h3 id="projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy 1612 </h3> 1613 <p> 1614 (<em>Appears on:</em> 1615 <a href="#projectcontour.io/v1.Route">Route</a>, 1616 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>, 1617 <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>) 1618 </p> 1619 <p> 1620 <p>LoadBalancerPolicy defines the load balancing policy.</p> 1621 </p> 1622 <table class="table table-striped table-borderless" style="border:none"> 1623 <thead class="border-bottom"> 1624 <tr> 1625 <th>Field</th> 1626 <th>Description</th> 1627 </tr> 1628 </thead> 1629 <tbody class="border-top"> 1630 <tr> 1631 <td style="white-space:nowrap"> 1632 <code>strategy</code> 1633 <br> 1634 <em> 1635 string 1636 </em> 1637 </td> 1638 <td> 1639 <p>Strategy specifies the policy used to balance requests 1640 across the pool of backend pods. Valid policy names are 1641 <code>Random</code>, <code>RoundRobin</code>, <code>WeightedLeastRequest</code>, <code>Cookie</code>, 1642 and <code>RequestHash</code>. If an unknown strategy name is specified 1643 or no policy is supplied, the default <code>RoundRobin</code> policy 1644 is used.</p> 1645 </td> 1646 </tr> 1647 <tr> 1648 <td style="white-space:nowrap"> 1649 <code>requestHashPolicies</code> 1650 <br> 1651 <em> 1652 <a href="#projectcontour.io/v1.RequestHashPolicy"> 1653 []RequestHashPolicy 1654 </a> 1655 </em> 1656 </td> 1657 <td> 1658 <p>RequestHashPolicies contains a list of hash policies to apply when the 1659 <code>RequestHash</code> load balancing strategy is chosen. If an element of the 1660 supplied list of hash policies is invalid, it will be ignored. If the 1661 list of hash policies is empty after validation, the load balancing 1662 strategy will fall back to the default <code>RoundRobin</code>.</p> 1663 </td> 1664 </tr> 1665 </tbody> 1666 </table> 1667 <h3 id="projectcontour.io/v1.LocalRateLimitPolicy">LocalRateLimitPolicy 1668 </h3> 1669 <p> 1670 (<em>Appears on:</em> 1671 <a href="#projectcontour.io/v1.RateLimitPolicy">RateLimitPolicy</a>) 1672 </p> 1673 <p> 1674 <p>LocalRateLimitPolicy defines local rate limiting parameters.</p> 1675 </p> 1676 <table class="table table-striped table-borderless" style="border:none"> 1677 <thead class="border-bottom"> 1678 <tr> 1679 <th>Field</th> 1680 <th>Description</th> 1681 </tr> 1682 </thead> 1683 <tbody class="border-top"> 1684 <tr> 1685 <td style="white-space:nowrap"> 1686 <code>requests</code> 1687 <br> 1688 <em> 1689 uint32 1690 </em> 1691 </td> 1692 <td> 1693 <p>Requests defines how many requests per unit of time should 1694 be allowed before rate limiting occurs.</p> 1695 </td> 1696 </tr> 1697 <tr> 1698 <td style="white-space:nowrap"> 1699 <code>unit</code> 1700 <br> 1701 <em> 1702 string 1703 </em> 1704 </td> 1705 <td> 1706 <p>Unit defines the period of time within which requests 1707 over the limit will be rate limited. Valid values are 1708 “second”, “minute” and “hour”.</p> 1709 </td> 1710 </tr> 1711 <tr> 1712 <td style="white-space:nowrap"> 1713 <code>burst</code> 1714 <br> 1715 <em> 1716 uint32 1717 </em> 1718 </td> 1719 <td> 1720 <em>(Optional)</em> 1721 <p>Burst defines the number of requests above the requests per 1722 unit that should be allowed within a short period of time.</p> 1723 </td> 1724 </tr> 1725 <tr> 1726 <td style="white-space:nowrap"> 1727 <code>responseStatusCode</code> 1728 <br> 1729 <em> 1730 uint32 1731 </em> 1732 </td> 1733 <td> 1734 <em>(Optional)</em> 1735 <p>ResponseStatusCode is the HTTP status code to use for responses 1736 to rate-limited requests. Codes must be in the 400-599 range 1737 (inclusive). If not specified, the Envoy default of 429 (Too 1738 Many Requests) is used.</p> 1739 </td> 1740 </tr> 1741 <tr> 1742 <td style="white-space:nowrap"> 1743 <code>responseHeadersToAdd</code> 1744 <br> 1745 <em> 1746 <a href="#projectcontour.io/v1.HeaderValue"> 1747 []HeaderValue 1748 </a> 1749 </em> 1750 </td> 1751 <td> 1752 <em>(Optional)</em> 1753 <p>ResponseHeadersToAdd is an optional list of response headers to 1754 set when a request is rate-limited.</p> 1755 </td> 1756 </tr> 1757 </tbody> 1758 </table> 1759 <h3 id="projectcontour.io/v1.MatchCondition">MatchCondition 1760 </h3> 1761 <p> 1762 (<em>Appears on:</em> 1763 <a href="#projectcontour.io/v1.Include">Include</a>, 1764 <a href="#projectcontour.io/v1.Route">Route</a>) 1765 </p> 1766 <p> 1767 <p>MatchCondition are a general holder for matching rules for HTTPProxies. 1768 One of Prefix or Header must be provided.</p> 1769 </p> 1770 <table class="table table-striped table-borderless" style="border:none"> 1771 <thead class="border-bottom"> 1772 <tr> 1773 <th>Field</th> 1774 <th>Description</th> 1775 </tr> 1776 </thead> 1777 <tbody class="border-top"> 1778 <tr> 1779 <td style="white-space:nowrap"> 1780 <code>prefix</code> 1781 <br> 1782 <em> 1783 string 1784 </em> 1785 </td> 1786 <td> 1787 <em>(Optional)</em> 1788 <p>Prefix defines a prefix match for a request.</p> 1789 </td> 1790 </tr> 1791 <tr> 1792 <td style="white-space:nowrap"> 1793 <code>header</code> 1794 <br> 1795 <em> 1796 <a href="#projectcontour.io/v1.HeaderMatchCondition"> 1797 HeaderMatchCondition 1798 </a> 1799 </em> 1800 </td> 1801 <td> 1802 <em>(Optional)</em> 1803 <p>Header specifies the header condition to match.</p> 1804 </td> 1805 </tr> 1806 </tbody> 1807 </table> 1808 <h3 id="projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy 1809 </h3> 1810 <p> 1811 (<em>Appears on:</em> 1812 <a href="#projectcontour.io/v1.Route">Route</a>) 1813 </p> 1814 <p> 1815 <p>PathRewritePolicy specifies how a request URL path should be 1816 rewritten. This rewriting takes place after a request is routed 1817 and has no subsequent effects on the proxy’s routing decision. 1818 No HTTP headers or body content is rewritten.</p> 1819 <p>Exactly one field in this struct may be specified.</p> 1820 </p> 1821 <table class="table table-striped table-borderless" style="border:none"> 1822 <thead class="border-bottom"> 1823 <tr> 1824 <th>Field</th> 1825 <th>Description</th> 1826 </tr> 1827 </thead> 1828 <tbody class="border-top"> 1829 <tr> 1830 <td style="white-space:nowrap"> 1831 <code>replacePrefix</code> 1832 <br> 1833 <em> 1834 <a href="#projectcontour.io/v1.ReplacePrefix"> 1835 []ReplacePrefix 1836 </a> 1837 </em> 1838 </td> 1839 <td> 1840 <em>(Optional)</em> 1841 <p>ReplacePrefix describes how the path prefix should be replaced.</p> 1842 </td> 1843 </tr> 1844 </tbody> 1845 </table> 1846 <h3 id="projectcontour.io/v1.RateLimitDescriptor">RateLimitDescriptor 1847 </h3> 1848 <p> 1849 (<em>Appears on:</em> 1850 <a href="#projectcontour.io/v1.GlobalRateLimitPolicy">GlobalRateLimitPolicy</a>) 1851 </p> 1852 <p> 1853 <p>RateLimitDescriptor defines a list of key-value pair generators.</p> 1854 </p> 1855 <table class="table table-striped table-borderless" style="border:none"> 1856 <thead class="border-bottom"> 1857 <tr> 1858 <th>Field</th> 1859 <th>Description</th> 1860 </tr> 1861 </thead> 1862 <tbody class="border-top"> 1863 <tr> 1864 <td style="white-space:nowrap"> 1865 <code>entries</code> 1866 <br> 1867 <em> 1868 <a href="#projectcontour.io/v1.RateLimitDescriptorEntry"> 1869 []RateLimitDescriptorEntry 1870 </a> 1871 </em> 1872 </td> 1873 <td> 1874 <p>Entries is the list of key-value pair generators.</p> 1875 </td> 1876 </tr> 1877 </tbody> 1878 </table> 1879 <h3 id="projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry 1880 </h3> 1881 <p> 1882 (<em>Appears on:</em> 1883 <a href="#projectcontour.io/v1.RateLimitDescriptor">RateLimitDescriptor</a>) 1884 </p> 1885 <p> 1886 <p>RateLimitDescriptorEntry is a key-value pair generator. Exactly 1887 one field on this struct must be non-nil.</p> 1888 </p> 1889 <table class="table table-striped table-borderless" style="border:none"> 1890 <thead class="border-bottom"> 1891 <tr> 1892 <th>Field</th> 1893 <th>Description</th> 1894 </tr> 1895 </thead> 1896 <tbody class="border-top"> 1897 <tr> 1898 <td style="white-space:nowrap"> 1899 <code>genericKey</code> 1900 <br> 1901 <em> 1902 <a href="#projectcontour.io/v1.GenericKeyDescriptor"> 1903 GenericKeyDescriptor 1904 </a> 1905 </em> 1906 </td> 1907 <td> 1908 <em>(Optional)</em> 1909 <p>GenericKey defines a descriptor entry with a static key and value.</p> 1910 </td> 1911 </tr> 1912 <tr> 1913 <td style="white-space:nowrap"> 1914 <code>requestHeader</code> 1915 <br> 1916 <em> 1917 <a href="#projectcontour.io/v1.RequestHeaderDescriptor"> 1918 RequestHeaderDescriptor 1919 </a> 1920 </em> 1921 </td> 1922 <td> 1923 <em>(Optional)</em> 1924 <p>RequestHeader defines a descriptor entry that’s populated only if 1925 a given header is present on the request. The descriptor key is static, 1926 and the descriptor value is equal to the value of the header.</p> 1927 </td> 1928 </tr> 1929 <tr> 1930 <td style="white-space:nowrap"> 1931 <code>requestHeaderValueMatch</code> 1932 <br> 1933 <em> 1934 <a href="#projectcontour.io/v1.RequestHeaderValueMatchDescriptor"> 1935 RequestHeaderValueMatchDescriptor 1936 </a> 1937 </em> 1938 </td> 1939 <td> 1940 <em>(Optional)</em> 1941 <p>RequestHeaderValueMatch defines a descriptor entry that’s populated 1942 if the request’s headers match a set of 1+ match criteria. The 1943 descriptor key is “header_match”, and the descriptor value is static.</p> 1944 </td> 1945 </tr> 1946 <tr> 1947 <td style="white-space:nowrap"> 1948 <code>remoteAddress</code> 1949 <br> 1950 <em> 1951 <a href="#projectcontour.io/v1.RemoteAddressDescriptor"> 1952 RemoteAddressDescriptor 1953 </a> 1954 </em> 1955 </td> 1956 <td> 1957 <em>(Optional)</em> 1958 <p>RemoteAddress defines a descriptor entry with a key of “remote_address” 1959 and a value equal to the client’s IP address (from x-forwarded-for).</p> 1960 </td> 1961 </tr> 1962 </tbody> 1963 </table> 1964 <h3 id="projectcontour.io/v1.RateLimitPolicy">RateLimitPolicy 1965 </h3> 1966 <p> 1967 (<em>Appears on:</em> 1968 <a href="#projectcontour.io/v1.Route">Route</a>, 1969 <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>) 1970 </p> 1971 <p> 1972 <p>RateLimitPolicy defines rate limiting parameters.</p> 1973 </p> 1974 <table class="table table-striped table-borderless" style="border:none"> 1975 <thead class="border-bottom"> 1976 <tr> 1977 <th>Field</th> 1978 <th>Description</th> 1979 </tr> 1980 </thead> 1981 <tbody class="border-top"> 1982 <tr> 1983 <td style="white-space:nowrap"> 1984 <code>local</code> 1985 <br> 1986 <em> 1987 <a href="#projectcontour.io/v1.LocalRateLimitPolicy"> 1988 LocalRateLimitPolicy 1989 </a> 1990 </em> 1991 </td> 1992 <td> 1993 <em>(Optional)</em> 1994 <p>Local defines local rate limiting parameters, i.e. parameters 1995 for rate limiting that occurs within each Envoy pod as requests 1996 are handled.</p> 1997 </td> 1998 </tr> 1999 <tr> 2000 <td style="white-space:nowrap"> 2001 <code>global</code> 2002 <br> 2003 <em> 2004 <a href="#projectcontour.io/v1.GlobalRateLimitPolicy"> 2005 GlobalRateLimitPolicy 2006 </a> 2007 </em> 2008 </td> 2009 <td> 2010 <em>(Optional)</em> 2011 <p>Global defines global rate limiting parameters, i.e. parameters 2012 defining descriptors that are sent to an external rate limit 2013 service (RLS) for a rate limit decision on each request.</p> 2014 </td> 2015 </tr> 2016 </tbody> 2017 </table> 2018 <h3 id="projectcontour.io/v1.RemoteAddressDescriptor">RemoteAddressDescriptor 2019 </h3> 2020 <p> 2021 (<em>Appears on:</em> 2022 <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>) 2023 </p> 2024 <p> 2025 <p>RemoteAddressDescriptor defines a descriptor entry with a key of 2026 “remote_address” and a value equal to the client’s IP address 2027 (from x-forwarded-for).</p> 2028 </p> 2029 <h3 id="projectcontour.io/v1.ReplacePrefix">ReplacePrefix 2030 </h3> 2031 <p> 2032 (<em>Appears on:</em> 2033 <a href="#projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy</a>) 2034 </p> 2035 <p> 2036 <p>ReplacePrefix describes a path prefix replacement.</p> 2037 </p> 2038 <table class="table table-striped table-borderless" style="border:none"> 2039 <thead class="border-bottom"> 2040 <tr> 2041 <th>Field</th> 2042 <th>Description</th> 2043 </tr> 2044 </thead> 2045 <tbody class="border-top"> 2046 <tr> 2047 <td style="white-space:nowrap"> 2048 <code>prefix</code> 2049 <br> 2050 <em> 2051 string 2052 </em> 2053 </td> 2054 <td> 2055 <em>(Optional)</em> 2056 <p>Prefix specifies the URL path prefix to be replaced.</p> 2057 <p>If Prefix is specified, it must exactly match the MatchCondition 2058 prefix that is rendered by the chain of including HTTPProxies 2059 and only that path prefix will be replaced by Replacement. 2060 This allows HTTPProxies that are included through multiple 2061 roots to only replace specific path prefixes, leaving others 2062 unmodified.</p> 2063 <p>If Prefix is not specified, all routing prefixes rendered 2064 by the include chain will be replaced.</p> 2065 </td> 2066 </tr> 2067 <tr> 2068 <td style="white-space:nowrap"> 2069 <code>replacement</code> 2070 <br> 2071 <em> 2072 string 2073 </em> 2074 </td> 2075 <td> 2076 <p>Replacement is the string that the routing path prefix 2077 will be replaced with. This must not be empty.</p> 2078 </td> 2079 </tr> 2080 </tbody> 2081 </table> 2082 <h3 id="projectcontour.io/v1.RequestHashPolicy">RequestHashPolicy 2083 </h3> 2084 <p> 2085 (<em>Appears on:</em> 2086 <a href="#projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy</a>) 2087 </p> 2088 <p> 2089 <p>RequestHashPolicy contains configuration for an individual hash policy 2090 on a request attribute.</p> 2091 </p> 2092 <table class="table table-striped table-borderless" style="border:none"> 2093 <thead class="border-bottom"> 2094 <tr> 2095 <th>Field</th> 2096 <th>Description</th> 2097 </tr> 2098 </thead> 2099 <tbody class="border-top"> 2100 <tr> 2101 <td style="white-space:nowrap"> 2102 <code>terminal</code> 2103 <br> 2104 <em> 2105 bool 2106 </em> 2107 </td> 2108 <td> 2109 <p>Terminal is a flag that allows for short-circuiting computing of a hash 2110 for a given request. If set to true, and the request attribute specified 2111 in the attribute hash options is present, no further hash policies will 2112 be used to calculate a hash for the request.</p> 2113 </td> 2114 </tr> 2115 <tr> 2116 <td style="white-space:nowrap"> 2117 <code>headerHashOptions</code> 2118 <br> 2119 <em> 2120 <a href="#projectcontour.io/v1.HeaderHashOptions"> 2121 HeaderHashOptions 2122 </a> 2123 </em> 2124 </td> 2125 <td> 2126 <p>HeaderHashOptions should be set when request header hash based load 2127 balancing is desired. It must be the only hash option field set, 2128 otherwise this request hash policy object will be ignored.</p> 2129 </td> 2130 </tr> 2131 </tbody> 2132 </table> 2133 <h3 id="projectcontour.io/v1.RequestHeaderDescriptor">RequestHeaderDescriptor 2134 </h3> 2135 <p> 2136 (<em>Appears on:</em> 2137 <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>) 2138 </p> 2139 <p> 2140 <p>RequestHeaderDescriptor defines a descriptor entry that’s populated only 2141 if a given header is present on the request. The value of the descriptor 2142 entry is equal to the value of the header (if present).</p> 2143 </p> 2144 <table class="table table-striped table-borderless" style="border:none"> 2145 <thead class="border-bottom"> 2146 <tr> 2147 <th>Field</th> 2148 <th>Description</th> 2149 </tr> 2150 </thead> 2151 <tbody class="border-top"> 2152 <tr> 2153 <td style="white-space:nowrap"> 2154 <code>headerName</code> 2155 <br> 2156 <em> 2157 string 2158 </em> 2159 </td> 2160 <td> 2161 <p>HeaderName defines the name of the header to look for on the request.</p> 2162 </td> 2163 </tr> 2164 <tr> 2165 <td style="white-space:nowrap"> 2166 <code>descriptorKey</code> 2167 <br> 2168 <em> 2169 string 2170 </em> 2171 </td> 2172 <td> 2173 <p>DescriptorKey defines the key to use on the descriptor entry.</p> 2174 </td> 2175 </tr> 2176 </tbody> 2177 </table> 2178 <h3 id="projectcontour.io/v1.RequestHeaderValueMatchDescriptor">RequestHeaderValueMatchDescriptor 2179 </h3> 2180 <p> 2181 (<em>Appears on:</em> 2182 <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>) 2183 </p> 2184 <p> 2185 <p>RequestHeaderValueMatchDescriptor defines a descriptor entry that’s populated 2186 if the request’s headers match a set of 1+ match criteria. The descriptor key 2187 is “header_match”, and the descriptor value is statically defined.</p> 2188 </p> 2189 <table class="table table-striped table-borderless" style="border:none"> 2190 <thead class="border-bottom"> 2191 <tr> 2192 <th>Field</th> 2193 <th>Description</th> 2194 </tr> 2195 </thead> 2196 <tbody class="border-top"> 2197 <tr> 2198 <td style="white-space:nowrap"> 2199 <code>headers</code> 2200 <br> 2201 <em> 2202 <a href="#projectcontour.io/v1.HeaderMatchCondition"> 2203 []HeaderMatchCondition 2204 </a> 2205 </em> 2206 </td> 2207 <td> 2208 <p>Headers is a list of 1+ match criteria to apply against the request 2209 to determine whether to populate the descriptor entry or not.</p> 2210 </td> 2211 </tr> 2212 <tr> 2213 <td style="white-space:nowrap"> 2214 <code>expectMatch</code> 2215 <br> 2216 <em> 2217 bool 2218 </em> 2219 </td> 2220 <td> 2221 <p>ExpectMatch defines whether the request must positively match the match 2222 criteria in order to generate a descriptor entry (i.e. true), or not 2223 match the match criteria in order to generate a descriptor entry (i.e. false). 2224 The default is true.</p> 2225 </td> 2226 </tr> 2227 <tr> 2228 <td style="white-space:nowrap"> 2229 <code>value</code> 2230 <br> 2231 <em> 2232 string 2233 </em> 2234 </td> 2235 <td> 2236 <p>Value defines the value of the descriptor entry.</p> 2237 </td> 2238 </tr> 2239 </tbody> 2240 </table> 2241 <h3 id="projectcontour.io/v1.RetryOn">RetryOn 2242 (<code>string</code> alias)</h3> 2243 <p> 2244 (<em>Appears on:</em> 2245 <a href="#projectcontour.io/v1.RetryPolicy">RetryPolicy</a>) 2246 </p> 2247 <p> 2248 <p>RetryOn is a string type alias with validation to ensure that the value is valid.</p> 2249 </p> 2250 <h3 id="projectcontour.io/v1.RetryPolicy">RetryPolicy 2251 </h3> 2252 <p> 2253 (<em>Appears on:</em> 2254 <a href="#projectcontour.io/v1.Route">Route</a>) 2255 </p> 2256 <p> 2257 <p>RetryPolicy defines the attributes associated with retrying policy.</p> 2258 </p> 2259 <table class="table table-striped table-borderless" style="border:none"> 2260 <thead class="border-bottom"> 2261 <tr> 2262 <th>Field</th> 2263 <th>Description</th> 2264 </tr> 2265 </thead> 2266 <tbody class="border-top"> 2267 <tr> 2268 <td style="white-space:nowrap"> 2269 <code>count</code> 2270 <br> 2271 <em> 2272 int64 2273 </em> 2274 </td> 2275 <td> 2276 <em>(Optional)</em> 2277 <p>NumRetries is maximum allowed number of retries. 2278 If not supplied, the number of retries is one.</p> 2279 </td> 2280 </tr> 2281 <tr> 2282 <td style="white-space:nowrap"> 2283 <code>perTryTimeout</code> 2284 <br> 2285 <em> 2286 string 2287 </em> 2288 </td> 2289 <td> 2290 <em>(Optional)</em> 2291 <p>PerTryTimeout specifies the timeout per retry attempt. 2292 Ignored if NumRetries is not supplied.</p> 2293 </td> 2294 </tr> 2295 <tr> 2296 <td style="white-space:nowrap"> 2297 <code>retryOn</code> 2298 <br> 2299 <em> 2300 <a href="#projectcontour.io/v1.RetryOn"> 2301 []RetryOn 2302 </a> 2303 </em> 2304 </td> 2305 <td> 2306 <em>(Optional)</em> 2307 <p>RetryOn specifies the conditions on which to retry a request.</p> 2308 <p>Supported <a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on">HTTP conditions</a>:</p> 2309 <ul> 2310 <li><code>5xx</code></li> 2311 <li><code>gateway-error</code></li> 2312 <li><code>reset</code></li> 2313 <li><code>connect-failure</code></li> 2314 <li><code>retriable-4xx</code></li> 2315 <li><code>refused-stream</code></li> 2316 <li><code>retriable-status-codes</code></li> 2317 <li><code>retriable-headers</code></li> 2318 </ul> 2319 <p>Supported <a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on">gRPC conditions</a>:</p> 2320 <ul> 2321 <li><code>cancelled</code></li> 2322 <li><code>deadline-exceeded</code></li> 2323 <li><code>internal</code></li> 2324 <li><code>resource-exhausted</code></li> 2325 <li><code>unavailable</code></li> 2326 </ul> 2327 </td> 2328 </tr> 2329 <tr> 2330 <td style="white-space:nowrap"> 2331 <code>retriableStatusCodes</code> 2332 <br> 2333 <em> 2334 []uint32 2335 </em> 2336 </td> 2337 <td> 2338 <em>(Optional)</em> 2339 <p>RetriableStatusCodes specifies the HTTP status codes that should be retried.</p> 2340 <p>This field is only respected when you include <code>retriable-status-codes</code> in the <code>RetryOn</code> field.</p> 2341 </td> 2342 </tr> 2343 </tbody> 2344 </table> 2345 <h3 id="projectcontour.io/v1.Route">Route 2346 </h3> 2347 <p> 2348 (<em>Appears on:</em> 2349 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 2350 </p> 2351 <p> 2352 <p>Route contains the set of routes for a virtual host.</p> 2353 </p> 2354 <table class="table table-striped table-borderless" style="border:none"> 2355 <thead class="border-bottom"> 2356 <tr> 2357 <th>Field</th> 2358 <th>Description</th> 2359 </tr> 2360 </thead> 2361 <tbody class="border-top"> 2362 <tr> 2363 <td style="white-space:nowrap"> 2364 <code>conditions</code> 2365 <br> 2366 <em> 2367 <a href="#projectcontour.io/v1.MatchCondition"> 2368 []MatchCondition 2369 </a> 2370 </em> 2371 </td> 2372 <td> 2373 <em>(Optional)</em> 2374 <p>Conditions are a set of rules that are applied to a Route. 2375 When applied, they are merged using AND, with one exception: 2376 There can be only one Prefix MatchCondition per Conditions slice. 2377 More than one Prefix, or contradictory Conditions, will make the 2378 route invalid.</p> 2379 </td> 2380 </tr> 2381 <tr> 2382 <td style="white-space:nowrap"> 2383 <code>services</code> 2384 <br> 2385 <em> 2386 <a href="#projectcontour.io/v1.Service"> 2387 []Service 2388 </a> 2389 </em> 2390 </td> 2391 <td> 2392 <p>Services are the services to proxy traffic.</p> 2393 </td> 2394 </tr> 2395 <tr> 2396 <td style="white-space:nowrap"> 2397 <code>enableWebsockets</code> 2398 <br> 2399 <em> 2400 bool 2401 </em> 2402 </td> 2403 <td> 2404 <em>(Optional)</em> 2405 <p>Enables websocket support for the route.</p> 2406 </td> 2407 </tr> 2408 <tr> 2409 <td style="white-space:nowrap"> 2410 <code>permitInsecure</code> 2411 <br> 2412 <em> 2413 bool 2414 </em> 2415 </td> 2416 <td> 2417 <em>(Optional)</em> 2418 <p>Allow this path to respond to insecure requests over HTTP which are normally 2419 not permitted when a <code>virtualhost.tls</code> block is present.</p> 2420 </td> 2421 </tr> 2422 <tr> 2423 <td style="white-space:nowrap"> 2424 <code>authPolicy</code> 2425 <br> 2426 <em> 2427 <a href="#projectcontour.io/v1.AuthorizationPolicy"> 2428 AuthorizationPolicy 2429 </a> 2430 </em> 2431 </td> 2432 <td> 2433 <em>(Optional)</em> 2434 <p>AuthPolicy updates the authorization policy that was set 2435 on the root HTTPProxy object for client requests that 2436 match this route.</p> 2437 </td> 2438 </tr> 2439 <tr> 2440 <td style="white-space:nowrap"> 2441 <code>timeoutPolicy</code> 2442 <br> 2443 <em> 2444 <a href="#projectcontour.io/v1.TimeoutPolicy"> 2445 TimeoutPolicy 2446 </a> 2447 </em> 2448 </td> 2449 <td> 2450 <em>(Optional)</em> 2451 <p>The timeout policy for this route.</p> 2452 </td> 2453 </tr> 2454 <tr> 2455 <td style="white-space:nowrap"> 2456 <code>retryPolicy</code> 2457 <br> 2458 <em> 2459 <a href="#projectcontour.io/v1.RetryPolicy"> 2460 RetryPolicy 2461 </a> 2462 </em> 2463 </td> 2464 <td> 2465 <em>(Optional)</em> 2466 <p>The retry policy for this route.</p> 2467 </td> 2468 </tr> 2469 <tr> 2470 <td style="white-space:nowrap"> 2471 <code>healthCheckPolicy</code> 2472 <br> 2473 <em> 2474 <a href="#projectcontour.io/v1.HTTPHealthCheckPolicy"> 2475 HTTPHealthCheckPolicy 2476 </a> 2477 </em> 2478 </td> 2479 <td> 2480 <em>(Optional)</em> 2481 <p>The health check policy for this route.</p> 2482 </td> 2483 </tr> 2484 <tr> 2485 <td style="white-space:nowrap"> 2486 <code>loadBalancerPolicy</code> 2487 <br> 2488 <em> 2489 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 2490 LoadBalancerPolicy 2491 </a> 2492 </em> 2493 </td> 2494 <td> 2495 <em>(Optional)</em> 2496 <p>The load balancing policy for this route.</p> 2497 </td> 2498 </tr> 2499 <tr> 2500 <td style="white-space:nowrap"> 2501 <code>pathRewritePolicy</code> 2502 <br> 2503 <em> 2504 <a href="#projectcontour.io/v1.PathRewritePolicy"> 2505 PathRewritePolicy 2506 </a> 2507 </em> 2508 </td> 2509 <td> 2510 <em>(Optional)</em> 2511 <p>The policy for rewriting the path of the request URL 2512 after the request has been routed to a Service.</p> 2513 </td> 2514 </tr> 2515 <tr> 2516 <td style="white-space:nowrap"> 2517 <code>requestHeadersPolicy</code> 2518 <br> 2519 <em> 2520 <a href="#projectcontour.io/v1.HeadersPolicy"> 2521 HeadersPolicy 2522 </a> 2523 </em> 2524 </td> 2525 <td> 2526 <em>(Optional)</em> 2527 <p>The policy for managing request headers during proxying.</p> 2528 </td> 2529 </tr> 2530 <tr> 2531 <td style="white-space:nowrap"> 2532 <code>responseHeadersPolicy</code> 2533 <br> 2534 <em> 2535 <a href="#projectcontour.io/v1.HeadersPolicy"> 2536 HeadersPolicy 2537 </a> 2538 </em> 2539 </td> 2540 <td> 2541 <em>(Optional)</em> 2542 <p>The policy for managing response headers during proxying. 2543 Rewriting the ‘Host’ header is not supported.</p> 2544 </td> 2545 </tr> 2546 <tr> 2547 <td style="white-space:nowrap"> 2548 <code>cookieRewritePolicies</code> 2549 <br> 2550 <em> 2551 <a href="#projectcontour.io/v1.CookieRewritePolicy"> 2552 []CookieRewritePolicy 2553 </a> 2554 </em> 2555 </td> 2556 <td> 2557 <em>(Optional)</em> 2558 <p>The policies for rewriting Set-Cookie header attributes. Note that 2559 rewritten cookie names must be unique in this list. Order rewrite 2560 policies are specified in does not matter.</p> 2561 </td> 2562 </tr> 2563 <tr> 2564 <td style="white-space:nowrap"> 2565 <code>rateLimitPolicy</code> 2566 <br> 2567 <em> 2568 <a href="#projectcontour.io/v1.RateLimitPolicy"> 2569 RateLimitPolicy 2570 </a> 2571 </em> 2572 </td> 2573 <td> 2574 <em>(Optional)</em> 2575 <p>The policy for rate limiting on the route.</p> 2576 </td> 2577 </tr> 2578 </tbody> 2579 </table> 2580 <h3 id="projectcontour.io/v1.Service">Service 2581 </h3> 2582 <p> 2583 (<em>Appears on:</em> 2584 <a href="#projectcontour.io/v1.Route">Route</a>, 2585 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 2586 </p> 2587 <p> 2588 <p>Service defines an Kubernetes Service to proxy traffic.</p> 2589 </p> 2590 <table class="table table-striped table-borderless" style="border:none"> 2591 <thead class="border-bottom"> 2592 <tr> 2593 <th>Field</th> 2594 <th>Description</th> 2595 </tr> 2596 </thead> 2597 <tbody class="border-top"> 2598 <tr> 2599 <td style="white-space:nowrap"> 2600 <code>name</code> 2601 <br> 2602 <em> 2603 string 2604 </em> 2605 </td> 2606 <td> 2607 <p>Name is the name of Kubernetes service to proxy traffic. 2608 Names defined here will be used to look up corresponding endpoints which contain the ips to route.</p> 2609 </td> 2610 </tr> 2611 <tr> 2612 <td style="white-space:nowrap"> 2613 <code>port</code> 2614 <br> 2615 <em> 2616 int 2617 </em> 2618 </td> 2619 <td> 2620 <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p> 2621 </td> 2622 </tr> 2623 <tr> 2624 <td style="white-space:nowrap"> 2625 <code>protocol</code> 2626 <br> 2627 <em> 2628 string 2629 </em> 2630 </td> 2631 <td> 2632 <em>(Optional)</em> 2633 <p>Protocol may be used to specify (or override) the protocol used to reach this Service. 2634 Values may be tls, h2, h2c. If omitted, protocol-selection falls back on Service annotations.</p> 2635 </td> 2636 </tr> 2637 <tr> 2638 <td style="white-space:nowrap"> 2639 <code>weight</code> 2640 <br> 2641 <em> 2642 int64 2643 </em> 2644 </td> 2645 <td> 2646 <em>(Optional)</em> 2647 <p>Weight defines percentage of traffic to balance traffic</p> 2648 </td> 2649 </tr> 2650 <tr> 2651 <td style="white-space:nowrap"> 2652 <code>validation</code> 2653 <br> 2654 <em> 2655 <a href="#projectcontour.io/v1.UpstreamValidation"> 2656 UpstreamValidation 2657 </a> 2658 </em> 2659 </td> 2660 <td> 2661 <em>(Optional)</em> 2662 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 2663 </td> 2664 </tr> 2665 <tr> 2666 <td style="white-space:nowrap"> 2667 <code>mirror</code> 2668 <br> 2669 <em> 2670 bool 2671 </em> 2672 </td> 2673 <td> 2674 <p>If Mirror is true the Service will receive a read only mirror of the traffic for this route.</p> 2675 </td> 2676 </tr> 2677 <tr> 2678 <td style="white-space:nowrap"> 2679 <code>requestHeadersPolicy</code> 2680 <br> 2681 <em> 2682 <a href="#projectcontour.io/v1.HeadersPolicy"> 2683 HeadersPolicy 2684 </a> 2685 </em> 2686 </td> 2687 <td> 2688 <em>(Optional)</em> 2689 <p>The policy for managing request headers during proxying. 2690 Rewriting the ‘Host’ header is not supported.</p> 2691 </td> 2692 </tr> 2693 <tr> 2694 <td style="white-space:nowrap"> 2695 <code>responseHeadersPolicy</code> 2696 <br> 2697 <em> 2698 <a href="#projectcontour.io/v1.HeadersPolicy"> 2699 HeadersPolicy 2700 </a> 2701 </em> 2702 </td> 2703 <td> 2704 <em>(Optional)</em> 2705 <p>The policy for managing response headers during proxying. 2706 Rewriting the ‘Host’ header is not supported.</p> 2707 </td> 2708 </tr> 2709 <tr> 2710 <td style="white-space:nowrap"> 2711 <code>cookieRewritePolicies</code> 2712 <br> 2713 <em> 2714 <a href="#projectcontour.io/v1.CookieRewritePolicy"> 2715 []CookieRewritePolicy 2716 </a> 2717 </em> 2718 </td> 2719 <td> 2720 <em>(Optional)</em> 2721 <p>The policies for rewriting Set-Cookie header attributes.</p> 2722 </td> 2723 </tr> 2724 </tbody> 2725 </table> 2726 <h3 id="projectcontour.io/v1.SubCondition">SubCondition 2727 </h3> 2728 <p> 2729 (<em>Appears on:</em> 2730 <a href="#projectcontour.io/v1.DetailedCondition">DetailedCondition</a>) 2731 </p> 2732 <p> 2733 <p>SubCondition is a Condition-like type intended for use as a subcondition inside a DetailedCondition.</p> 2734 <p>It contains a subset of the Condition fields.</p> 2735 <p>It is intended for warnings and errors, so <code>type</code> names should use abnormal-true polarity, 2736 that is, they should be of the form “ErrorPresent: true”.</p> 2737 <p>The expected lifecycle for these errors is that they should only be present when the error or warning is, 2738 and should be removed when they are not relevant.</p> 2739 </p> 2740 <table class="table table-striped table-borderless" style="border:none"> 2741 <thead class="border-bottom"> 2742 <tr> 2743 <th>Field</th> 2744 <th>Description</th> 2745 </tr> 2746 </thead> 2747 <tbody class="border-top"> 2748 <tr> 2749 <td style="white-space:nowrap"> 2750 <code>type</code> 2751 <br> 2752 <em> 2753 string 2754 </em> 2755 </td> 2756 <td> 2757 <p>Type of condition in <code>CamelCase</code> or in <code>foo.example.com/CamelCase</code>.</p> 2758 <p>This must be in abnormal-true polarity, that is, <code>ErrorFound</code> or <code>controller.io/ErrorFound</code>.</p> 2759 <p>The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)</p> 2760 </td> 2761 </tr> 2762 <tr> 2763 <td style="white-space:nowrap"> 2764 <code>status</code> 2765 <br> 2766 <em> 2767 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#conditionstatus-v1-meta"> 2768 Kubernetes meta/v1.ConditionStatus 2769 </a> 2770 </em> 2771 </td> 2772 <td> 2773 <p>Status of the condition, one of True, False, Unknown.</p> 2774 </td> 2775 </tr> 2776 <tr> 2777 <td style="white-space:nowrap"> 2778 <code>reason</code> 2779 <br> 2780 <em> 2781 string 2782 </em> 2783 </td> 2784 <td> 2785 <p>Reason contains a programmatic identifier indicating the reason for the condition’s last transition. 2786 Producers of specific condition types may define expected values and meanings for this field, 2787 and whether the values are considered a guaranteed API.</p> 2788 <p>The value should be a CamelCase string.</p> 2789 <p>This field may not be empty.</p> 2790 </td> 2791 </tr> 2792 <tr> 2793 <td style="white-space:nowrap"> 2794 <code>message</code> 2795 <br> 2796 <em> 2797 string 2798 </em> 2799 </td> 2800 <td> 2801 <p>Message is a human readable message indicating details about the transition.</p> 2802 <p>This may be an empty string.</p> 2803 </td> 2804 </tr> 2805 </tbody> 2806 </table> 2807 <h3 id="projectcontour.io/v1.TCPHealthCheckPolicy">TCPHealthCheckPolicy 2808 </h3> 2809 <p> 2810 (<em>Appears on:</em> 2811 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 2812 </p> 2813 <p> 2814 <p>TCPHealthCheckPolicy defines health checks on the upstream service.</p> 2815 </p> 2816 <table class="table table-striped table-borderless" style="border:none"> 2817 <thead class="border-bottom"> 2818 <tr> 2819 <th>Field</th> 2820 <th>Description</th> 2821 </tr> 2822 </thead> 2823 <tbody class="border-top"> 2824 <tr> 2825 <td style="white-space:nowrap"> 2826 <code>intervalSeconds</code> 2827 <br> 2828 <em> 2829 int64 2830 </em> 2831 </td> 2832 <td> 2833 <em>(Optional)</em> 2834 <p>The interval (seconds) between health checks</p> 2835 </td> 2836 </tr> 2837 <tr> 2838 <td style="white-space:nowrap"> 2839 <code>timeoutSeconds</code> 2840 <br> 2841 <em> 2842 int64 2843 </em> 2844 </td> 2845 <td> 2846 <em>(Optional)</em> 2847 <p>The time to wait (seconds) for a health check response</p> 2848 </td> 2849 </tr> 2850 <tr> 2851 <td style="white-space:nowrap"> 2852 <code>unhealthyThresholdCount</code> 2853 <br> 2854 <em> 2855 uint32 2856 </em> 2857 </td> 2858 <td> 2859 <em>(Optional)</em> 2860 <p>The number of unhealthy health checks required before a host is marked unhealthy</p> 2861 </td> 2862 </tr> 2863 <tr> 2864 <td style="white-space:nowrap"> 2865 <code>healthyThresholdCount</code> 2866 <br> 2867 <em> 2868 uint32 2869 </em> 2870 </td> 2871 <td> 2872 <em>(Optional)</em> 2873 <p>The number of healthy health checks required before a host is marked healthy</p> 2874 </td> 2875 </tr> 2876 </tbody> 2877 </table> 2878 <h3 id="projectcontour.io/v1.TCPProxy">TCPProxy 2879 </h3> 2880 <p> 2881 (<em>Appears on:</em> 2882 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 2883 </p> 2884 <p> 2885 <p>TCPProxy contains the set of services to proxy TCP connections.</p> 2886 </p> 2887 <table class="table table-striped table-borderless" style="border:none"> 2888 <thead class="border-bottom"> 2889 <tr> 2890 <th>Field</th> 2891 <th>Description</th> 2892 </tr> 2893 </thead> 2894 <tbody class="border-top"> 2895 <tr> 2896 <td style="white-space:nowrap"> 2897 <code>loadBalancerPolicy</code> 2898 <br> 2899 <em> 2900 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 2901 LoadBalancerPolicy 2902 </a> 2903 </em> 2904 </td> 2905 <td> 2906 <em>(Optional)</em> 2907 <p>The load balancing policy for the backend services. Note that the 2908 <code>Cookie</code> and <code>RequestHash</code> load balancing strategies cannot be used 2909 here.</p> 2910 </td> 2911 </tr> 2912 <tr> 2913 <td style="white-space:nowrap"> 2914 <code>services</code> 2915 <br> 2916 <em> 2917 <a href="#projectcontour.io/v1.Service"> 2918 []Service 2919 </a> 2920 </em> 2921 </td> 2922 <td> 2923 <em>(Optional)</em> 2924 <p>Services are the services to proxy traffic</p> 2925 </td> 2926 </tr> 2927 <tr> 2928 <td style="white-space:nowrap"> 2929 <code>include</code> 2930 <br> 2931 <em> 2932 <a href="#projectcontour.io/v1.TCPProxyInclude"> 2933 TCPProxyInclude 2934 </a> 2935 </em> 2936 </td> 2937 <td> 2938 <em>(Optional)</em> 2939 <p>Include specifies that this tcpproxy should be delegated to another HTTPProxy.</p> 2940 </td> 2941 </tr> 2942 <tr> 2943 <td style="white-space:nowrap"> 2944 <code>includes</code> 2945 <br> 2946 <em> 2947 <a href="#projectcontour.io/v1.TCPProxyInclude"> 2948 TCPProxyInclude 2949 </a> 2950 </em> 2951 </td> 2952 <td> 2953 <em>(Optional)</em> 2954 <p>IncludesDeprecated allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p> 2955 <p>Exists due to a mistake when developing HTTPProxy and the field was marked plural 2956 when it should have been singular. This field should stay to not break backwards compatibility to v1 users.</p> 2957 </td> 2958 </tr> 2959 <tr> 2960 <td style="white-space:nowrap"> 2961 <code>healthCheckPolicy</code> 2962 <br> 2963 <em> 2964 <a href="#projectcontour.io/v1.TCPHealthCheckPolicy"> 2965 TCPHealthCheckPolicy 2966 </a> 2967 </em> 2968 </td> 2969 <td> 2970 <em>(Optional)</em> 2971 <p>The health check policy for this tcp proxy</p> 2972 </td> 2973 </tr> 2974 </tbody> 2975 </table> 2976 <h3 id="projectcontour.io/v1.TCPProxyInclude">TCPProxyInclude 2977 </h3> 2978 <p> 2979 (<em>Appears on:</em> 2980 <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>) 2981 </p> 2982 <p> 2983 <p>TCPProxyInclude describes a target HTTPProxy document which contains the TCPProxy details.</p> 2984 </p> 2985 <table class="table table-striped table-borderless" style="border:none"> 2986 <thead class="border-bottom"> 2987 <tr> 2988 <th>Field</th> 2989 <th>Description</th> 2990 </tr> 2991 </thead> 2992 <tbody class="border-top"> 2993 <tr> 2994 <td style="white-space:nowrap"> 2995 <code>name</code> 2996 <br> 2997 <em> 2998 string 2999 </em> 3000 </td> 3001 <td> 3002 <p>Name of the child HTTPProxy</p> 3003 </td> 3004 </tr> 3005 <tr> 3006 <td style="white-space:nowrap"> 3007 <code>namespace</code> 3008 <br> 3009 <em> 3010 string 3011 </em> 3012 </td> 3013 <td> 3014 <em>(Optional)</em> 3015 <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p> 3016 </td> 3017 </tr> 3018 </tbody> 3019 </table> 3020 <h3 id="projectcontour.io/v1.TLS">TLS 3021 </h3> 3022 <p> 3023 (<em>Appears on:</em> 3024 <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>) 3025 </p> 3026 <p> 3027 <p>TLS describes tls properties. The SNI names that will be matched on 3028 are described in the HTTPProxy’s Spec.VirtualHost.Fqdn field.</p> 3029 </p> 3030 <table class="table table-striped table-borderless" style="border:none"> 3031 <thead class="border-bottom"> 3032 <tr> 3033 <th>Field</th> 3034 <th>Description</th> 3035 </tr> 3036 </thead> 3037 <tbody class="border-top"> 3038 <tr> 3039 <td style="white-space:nowrap"> 3040 <code>secretName</code> 3041 <br> 3042 <em> 3043 string 3044 </em> 3045 </td> 3046 <td> 3047 <p>SecretName is the name of a TLS secret in the current namespace. 3048 Either SecretName or Passthrough must be specified, but not both. 3049 If specified, the named secret must contain a matching certificate 3050 for the virtual host’s FQDN.</p> 3051 </td> 3052 </tr> 3053 <tr> 3054 <td style="white-space:nowrap"> 3055 <code>minimumProtocolVersion</code> 3056 <br> 3057 <em> 3058 string 3059 </em> 3060 </td> 3061 <td> 3062 <em>(Optional)</em> 3063 <p>MinimumProtocolVersion is the minimum TLS version this vhost should 3064 negotiate. Valid options are <code>1.2</code> (default) and <code>1.3</code>. Any other value 3065 defaults to TLS 1.2.</p> 3066 </td> 3067 </tr> 3068 <tr> 3069 <td style="white-space:nowrap"> 3070 <code>passthrough</code> 3071 <br> 3072 <em> 3073 bool 3074 </em> 3075 </td> 3076 <td> 3077 <em>(Optional)</em> 3078 <p>Passthrough defines whether the encrypted TLS handshake will be 3079 passed through to the backing cluster. Either Passthrough or 3080 SecretName must be specified, but not both.</p> 3081 </td> 3082 </tr> 3083 <tr> 3084 <td style="white-space:nowrap"> 3085 <code>clientValidation</code> 3086 <br> 3087 <em> 3088 <a href="#projectcontour.io/v1.DownstreamValidation"> 3089 DownstreamValidation 3090 </a> 3091 </em> 3092 </td> 3093 <td> 3094 <em>(Optional)</em> 3095 <p>ClientValidation defines how to verify the client certificate 3096 when an external client establishes a TLS connection to Envoy.</p> 3097 <p>This setting:</p> 3098 <ol> 3099 <li>Enables TLS client certificate validation.</li> 3100 <li>Specifies how the client certificate will be validated (i.e. 3101 validation required or skipped).</li> 3102 </ol> 3103 <p>Note: Setting client certificate validation to be skipped should 3104 be only used in conjunction with an external authorization server that 3105 performs client validation as Contour will ensure client certificates 3106 are passed along.</p> 3107 </td> 3108 </tr> 3109 <tr> 3110 <td style="white-space:nowrap"> 3111 <code>enableFallbackCertificate</code> 3112 <br> 3113 <em> 3114 bool 3115 </em> 3116 </td> 3117 <td> 3118 <p>EnableFallbackCertificate defines if the vhost should allow a default certificate to 3119 be applied which handles all requests which don’t match the SNI defined in this vhost.</p> 3120 </td> 3121 </tr> 3122 </tbody> 3123 </table> 3124 <h3 id="projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec 3125 </h3> 3126 <p> 3127 (<em>Appears on:</em> 3128 <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>) 3129 </p> 3130 <p> 3131 <p>TLSCertificateDelegationSpec defines the spec of the CRD</p> 3132 </p> 3133 <table class="table table-striped table-borderless" style="border:none"> 3134 <thead class="border-bottom"> 3135 <tr> 3136 <th>Field</th> 3137 <th>Description</th> 3138 </tr> 3139 </thead> 3140 <tbody class="border-top"> 3141 <tr> 3142 <td style="white-space:nowrap"> 3143 <code>delegations</code> 3144 <br> 3145 <em> 3146 <a href="#projectcontour.io/v1.CertificateDelegation"> 3147 []CertificateDelegation 3148 </a> 3149 </em> 3150 </td> 3151 <td> 3152 </td> 3153 </tr> 3154 </tbody> 3155 </table> 3156 <h3 id="projectcontour.io/v1.TLSCertificateDelegationStatus">TLSCertificateDelegationStatus 3157 </h3> 3158 <p> 3159 (<em>Appears on:</em> 3160 <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>) 3161 </p> 3162 <p> 3163 <p>TLSCertificateDelegationStatus allows for the status of the delegation 3164 to be presented to the user.</p> 3165 </p> 3166 <table class="table table-striped table-borderless" style="border:none"> 3167 <thead class="border-bottom"> 3168 <tr> 3169 <th>Field</th> 3170 <th>Description</th> 3171 </tr> 3172 </thead> 3173 <tbody class="border-top"> 3174 <tr> 3175 <td style="white-space:nowrap"> 3176 <code>conditions</code> 3177 <br> 3178 <em> 3179 <a href="#projectcontour.io/v1.DetailedCondition"> 3180 []DetailedCondition 3181 </a> 3182 </em> 3183 </td> 3184 <td> 3185 <em>(Optional)</em> 3186 <p>Conditions contains information about the current status of the HTTPProxy, 3187 in an upstream-friendly container.</p> 3188 <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity. 3189 That is, when <code>currentStatus</code> is <code>valid</code>, the <code>Valid</code> condition will be <code>status: true</code>, 3190 and vice versa.</p> 3191 <p>Contour will leave untouched any other Conditions set in this block, 3192 in case some other controller wants to add a Condition.</p> 3193 <p>If you are another controller owner and wish to add a condition, you <em>should</em> 3194 namespace your condition with a label, like <code>controller.domain.com\ConditionName</code>.</p> 3195 </td> 3196 </tr> 3197 </tbody> 3198 </table> 3199 <h3 id="projectcontour.io/v1.TimeoutPolicy">TimeoutPolicy 3200 </h3> 3201 <p> 3202 (<em>Appears on:</em> 3203 <a href="#projectcontour.io/v1.Route">Route</a>, 3204 <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>) 3205 </p> 3206 <p> 3207 <p>TimeoutPolicy configures timeouts that are used for handling network requests.</p> 3208 <p>TimeoutPolicy durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>. 3209 Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”. 3210 The string “infinity” is also a valid input and specifies no timeout. 3211 A value of “0s” will be treated as if the field were not set, i.e. by using Envoy’s default behavior.</p> 3212 <p>Example input values: “300ms”, “5s”, “1m”.</p> 3213 </p> 3214 <table class="table table-striped table-borderless" style="border:none"> 3215 <thead class="border-bottom"> 3216 <tr> 3217 <th>Field</th> 3218 <th>Description</th> 3219 </tr> 3220 </thead> 3221 <tbody class="border-top"> 3222 <tr> 3223 <td style="white-space:nowrap"> 3224 <code>response</code> 3225 <br> 3226 <em> 3227 string 3228 </em> 3229 </td> 3230 <td> 3231 <em>(Optional)</em> 3232 <p>Timeout for receiving a response from the server after processing a request from client. 3233 If not supplied, Envoy’s default value of 15s applies.</p> 3234 </td> 3235 </tr> 3236 <tr> 3237 <td style="white-space:nowrap"> 3238 <code>idle</code> 3239 <br> 3240 <em> 3241 string 3242 </em> 3243 </td> 3244 <td> 3245 <em>(Optional)</em> 3246 <p>Timeout for how long the proxy should wait while there is no activity during single request/response (for HTTP/1.1) or stream (for HTTP/2). 3247 Timeout will not trigger while HTTP/1.1 connection is idle between two consecutive requests. 3248 If not specified, there is no per-route idle timeout, though a connection manager-wide 3249 stream_idle_timeout default of 5m still applies.</p> 3250 </td> 3251 </tr> 3252 </tbody> 3253 </table> 3254 <h3 id="projectcontour.io/v1.UpstreamValidation">UpstreamValidation 3255 </h3> 3256 <p> 3257 (<em>Appears on:</em> 3258 <a href="#projectcontour.io/v1.Service">Service</a>, 3259 <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>) 3260 </p> 3261 <p> 3262 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 3263 </p> 3264 <table class="table table-striped table-borderless" style="border:none"> 3265 <thead class="border-bottom"> 3266 <tr> 3267 <th>Field</th> 3268 <th>Description</th> 3269 </tr> 3270 </thead> 3271 <tbody class="border-top"> 3272 <tr> 3273 <td style="white-space:nowrap"> 3274 <code>caSecret</code> 3275 <br> 3276 <em> 3277 string 3278 </em> 3279 </td> 3280 <td> 3281 <p>Name or namespaced name of the Kubernetes secret used to validate the certificate presented by the backend</p> 3282 </td> 3283 </tr> 3284 <tr> 3285 <td style="white-space:nowrap"> 3286 <code>subjectName</code> 3287 <br> 3288 <em> 3289 string 3290 </em> 3291 </td> 3292 <td> 3293 <p>Key which is expected to be present in the ‘subjectAltName’ of the presented certificate</p> 3294 </td> 3295 </tr> 3296 </tbody> 3297 </table> 3298 <h3 id="projectcontour.io/v1.VirtualHost">VirtualHost 3299 </h3> 3300 <p> 3301 (<em>Appears on:</em> 3302 <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>) 3303 </p> 3304 <p> 3305 <p>VirtualHost appears at most once. If it is present, the object is considered 3306 to be a “root”.</p> 3307 </p> 3308 <table class="table table-striped table-borderless" style="border:none"> 3309 <thead class="border-bottom"> 3310 <tr> 3311 <th>Field</th> 3312 <th>Description</th> 3313 </tr> 3314 </thead> 3315 <tbody class="border-top"> 3316 <tr> 3317 <td style="white-space:nowrap"> 3318 <code>fqdn</code> 3319 <br> 3320 <em> 3321 string 3322 </em> 3323 </td> 3324 <td> 3325 <p>The fully qualified domain name of the root of the ingress tree 3326 all leaves of the DAG rooted at this object relate to the fqdn.</p> 3327 </td> 3328 </tr> 3329 <tr> 3330 <td style="white-space:nowrap"> 3331 <code>tls</code> 3332 <br> 3333 <em> 3334 <a href="#projectcontour.io/v1.TLS"> 3335 TLS 3336 </a> 3337 </em> 3338 </td> 3339 <td> 3340 <em>(Optional)</em> 3341 <p>If present the fields describes TLS properties of the virtual 3342 host. The SNI names that will be matched on are described in fqdn, 3343 the tls.secretName secret must contain a certificate that itself 3344 contains a name that matches the FQDN.</p> 3345 </td> 3346 </tr> 3347 <tr> 3348 <td style="white-space:nowrap"> 3349 <code>authorization</code> 3350 <br> 3351 <em> 3352 <a href="#projectcontour.io/v1.AuthorizationServer"> 3353 AuthorizationServer 3354 </a> 3355 </em> 3356 </td> 3357 <td> 3358 <em>(Optional)</em> 3359 <p>This field configures an extension service to perform 3360 authorization for this virtual host. Authorization can 3361 only be configured on virtual hosts that have TLS enabled. 3362 If the TLS configuration requires client certificate 3363 validation, the client certificate is always included in the 3364 authentication check request.</p> 3365 </td> 3366 </tr> 3367 <tr> 3368 <td style="white-space:nowrap"> 3369 <code>corsPolicy</code> 3370 <br> 3371 <em> 3372 <a href="#projectcontour.io/v1.CORSPolicy"> 3373 CORSPolicy 3374 </a> 3375 </em> 3376 </td> 3377 <td> 3378 <em>(Optional)</em> 3379 <p>Specifies the cross-origin policy to apply to the VirtualHost.</p> 3380 </td> 3381 </tr> 3382 <tr> 3383 <td style="white-space:nowrap"> 3384 <code>rateLimitPolicy</code> 3385 <br> 3386 <em> 3387 <a href="#projectcontour.io/v1.RateLimitPolicy"> 3388 RateLimitPolicy 3389 </a> 3390 </em> 3391 </td> 3392 <td> 3393 <em>(Optional)</em> 3394 <p>The policy for rate limiting on the virtual host.</p> 3395 </td> 3396 </tr> 3397 </tbody> 3398 </table> 3399 <hr/> 3400 <h2 id="projectcontour.io/v1alpha1">projectcontour.io/v1alpha1</h2> 3401 <p> 3402 <p>Package v1alpha1 contains API Schema definitions for the projectcontour.io v1alpha1 API group</p> 3403 </p> 3404 Resource Types: 3405 <ul><li> 3406 <a href="#projectcontour.io/v1alpha1.ContourConfiguration">ContourConfiguration</a> 3407 </li><li> 3408 <a href="#projectcontour.io/v1alpha1.ContourDeployment">ContourDeployment</a> 3409 </li><li> 3410 <a href="#projectcontour.io/v1alpha1.ExtensionService">ExtensionService</a> 3411 </li></ul> 3412 <h3 id="projectcontour.io/v1alpha1.ContourConfiguration">ContourConfiguration 3413 </h3> 3414 <p> 3415 <p>ContourConfiguration is the schema for a Contour instance.</p> 3416 </p> 3417 <table class="table table-striped table-borderless" style="border:none"> 3418 <thead class="border-bottom"> 3419 <tr> 3420 <th>Field</th> 3421 <th>Description</th> 3422 </tr> 3423 </thead> 3424 <tbody class="border-top"> 3425 <tr> 3426 <td> 3427 <code>apiVersion</code> 3428 <br> 3429 string</td> 3430 <td> 3431 <code> 3432 projectcontour.io/v1alpha1 3433 </code> 3434 </td> 3435 </tr> 3436 <tr> 3437 <td> 3438 <code>kind</code> 3439 <br> 3440 string 3441 </td> 3442 <td><code>ContourConfiguration</code></td> 3443 </tr> 3444 <tr> 3445 <td style="white-space:nowrap"> 3446 <code>metadata</code> 3447 <br> 3448 <em> 3449 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 3450 Kubernetes meta/v1.ObjectMeta 3451 </a> 3452 </em> 3453 </td> 3454 <td> 3455 Refer to the Kubernetes API documentation for the fields of the 3456 <code>metadata</code> field. 3457 </td> 3458 </tr> 3459 <tr> 3460 <td style="white-space:nowrap"> 3461 <code>spec</code> 3462 <br> 3463 <em> 3464 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec"> 3465 ContourConfigurationSpec 3466 </a> 3467 </em> 3468 </td> 3469 <td> 3470 <br> 3471 <br> 3472 <table style="border:none"> 3473 <tr> 3474 <td style="white-space:nowrap"> 3475 <code>xdsServer</code> 3476 <br> 3477 <em> 3478 <a href="#projectcontour.io/v1alpha1.XDSServerConfig"> 3479 XDSServerConfig 3480 </a> 3481 </em> 3482 </td> 3483 <td> 3484 <em>(Optional)</em> 3485 <p>XDSServer contains parameters for the xDS server.</p> 3486 </td> 3487 </tr> 3488 <tr> 3489 <td style="white-space:nowrap"> 3490 <code>ingress</code> 3491 <br> 3492 <em> 3493 <a href="#projectcontour.io/v1alpha1.IngressConfig"> 3494 IngressConfig 3495 </a> 3496 </em> 3497 </td> 3498 <td> 3499 <em>(Optional)</em> 3500 <p>Ingress contains parameters for ingress options.</p> 3501 </td> 3502 </tr> 3503 <tr> 3504 <td style="white-space:nowrap"> 3505 <code>debug</code> 3506 <br> 3507 <em> 3508 <a href="#projectcontour.io/v1alpha1.DebugConfig"> 3509 DebugConfig 3510 </a> 3511 </em> 3512 </td> 3513 <td> 3514 <em>(Optional)</em> 3515 <p>Debug contains parameters to enable debug logging 3516 and debug interfaces inside Contour.</p> 3517 </td> 3518 </tr> 3519 <tr> 3520 <td style="white-space:nowrap"> 3521 <code>health</code> 3522 <br> 3523 <em> 3524 <a href="#projectcontour.io/v1alpha1.HealthConfig"> 3525 HealthConfig 3526 </a> 3527 </em> 3528 </td> 3529 <td> 3530 <em>(Optional)</em> 3531 <p>Health contains parameters to configure endpoints which Contour 3532 exposes to respond to Kubernetes health checks.</p> 3533 </td> 3534 </tr> 3535 <tr> 3536 <td style="white-space:nowrap"> 3537 <code>envoy</code> 3538 <br> 3539 <em> 3540 <a href="#projectcontour.io/v1alpha1.EnvoyConfig"> 3541 EnvoyConfig 3542 </a> 3543 </em> 3544 </td> 3545 <td> 3546 <em>(Optional)</em> 3547 <p>Envoy contains parameters for Envoy as well 3548 as how to optionally configure a managed Envoy fleet.</p> 3549 </td> 3550 </tr> 3551 <tr> 3552 <td style="white-space:nowrap"> 3553 <code>gateway</code> 3554 <br> 3555 <em> 3556 <a href="#projectcontour.io/v1alpha1.GatewayConfig"> 3557 GatewayConfig 3558 </a> 3559 </em> 3560 </td> 3561 <td> 3562 <em>(Optional)</em> 3563 <p>Gateway contains parameters for the gateway-api Gateway that Contour 3564 is configured to serve traffic.</p> 3565 </td> 3566 </tr> 3567 <tr> 3568 <td style="white-space:nowrap"> 3569 <code>httpproxy</code> 3570 <br> 3571 <em> 3572 <a href="#projectcontour.io/v1alpha1.HTTPProxyConfig"> 3573 HTTPProxyConfig 3574 </a> 3575 </em> 3576 </td> 3577 <td> 3578 <em>(Optional)</em> 3579 <p>HTTPProxy defines parameters on HTTPProxy.</p> 3580 </td> 3581 </tr> 3582 <tr> 3583 <td style="white-space:nowrap"> 3584 <code>leaderElection</code> 3585 <br> 3586 <em> 3587 <a href="#projectcontour.io/v1alpha1.LeaderElectionConfig"> 3588 LeaderElectionConfig 3589 </a> 3590 </em> 3591 </td> 3592 <td> 3593 <em>(Optional)</em> 3594 <p>LeaderElection contains leader election parameters.</p> 3595 </td> 3596 </tr> 3597 <tr> 3598 <td style="white-space:nowrap"> 3599 <code>enableExternalNameService</code> 3600 <br> 3601 <em> 3602 bool 3603 </em> 3604 </td> 3605 <td> 3606 <em>(Optional)</em> 3607 <p>EnableExternalNameService allows processing of ExternalNameServices 3608 Defaults to disabled for security reasons.</p> 3609 </td> 3610 </tr> 3611 <tr> 3612 <td style="white-space:nowrap"> 3613 <code>rateLimitService</code> 3614 <br> 3615 <em> 3616 <a href="#projectcontour.io/v1alpha1.RateLimitServiceConfig"> 3617 RateLimitServiceConfig 3618 </a> 3619 </em> 3620 </td> 3621 <td> 3622 <em>(Optional)</em> 3623 <p>RateLimitService optionally holds properties of the Rate Limit Service 3624 to be used for global rate limiting.</p> 3625 </td> 3626 </tr> 3627 <tr> 3628 <td style="white-space:nowrap"> 3629 <code>policy</code> 3630 <br> 3631 <em> 3632 <a href="#projectcontour.io/v1alpha1.PolicyConfig"> 3633 PolicyConfig 3634 </a> 3635 </em> 3636 </td> 3637 <td> 3638 <em>(Optional)</em> 3639 <p>Policy specifies default policy applied if not overridden by the user</p> 3640 </td> 3641 </tr> 3642 <tr> 3643 <td style="white-space:nowrap"> 3644 <code>metrics</code> 3645 <br> 3646 <em> 3647 <a href="#projectcontour.io/v1alpha1.MetricsConfig"> 3648 MetricsConfig 3649 </a> 3650 </em> 3651 </td> 3652 <td> 3653 <em>(Optional)</em> 3654 <p>Metrics defines the endpoints Contour uses to serve to metrics.</p> 3655 </td> 3656 </tr> 3657 </table> 3658 </td> 3659 </tr> 3660 <tr> 3661 <td style="white-space:nowrap"> 3662 <code>status</code> 3663 <br> 3664 <em> 3665 <a href="#projectcontour.io/v1alpha1.ContourConfigurationStatus"> 3666 ContourConfigurationStatus 3667 </a> 3668 </em> 3669 </td> 3670 <td> 3671 <em>(Optional)</em> 3672 </td> 3673 </tr> 3674 </tbody> 3675 </table> 3676 <h3 id="projectcontour.io/v1alpha1.ContourDeployment">ContourDeployment 3677 </h3> 3678 <p> 3679 <p>ContourDeployment is the schema for a Contour Deployment.</p> 3680 </p> 3681 <table class="table table-striped table-borderless" style="border:none"> 3682 <thead class="border-bottom"> 3683 <tr> 3684 <th>Field</th> 3685 <th>Description</th> 3686 </tr> 3687 </thead> 3688 <tbody class="border-top"> 3689 <tr> 3690 <td> 3691 <code>apiVersion</code> 3692 <br> 3693 string</td> 3694 <td> 3695 <code> 3696 projectcontour.io/v1alpha1 3697 </code> 3698 </td> 3699 </tr> 3700 <tr> 3701 <td> 3702 <code>kind</code> 3703 <br> 3704 string 3705 </td> 3706 <td><code>ContourDeployment</code></td> 3707 </tr> 3708 <tr> 3709 <td style="white-space:nowrap"> 3710 <code>metadata</code> 3711 <br> 3712 <em> 3713 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 3714 Kubernetes meta/v1.ObjectMeta 3715 </a> 3716 </em> 3717 </td> 3718 <td> 3719 Refer to the Kubernetes API documentation for the fields of the 3720 <code>metadata</code> field. 3721 </td> 3722 </tr> 3723 <tr> 3724 <td style="white-space:nowrap"> 3725 <code>spec</code> 3726 <br> 3727 <em> 3728 <a href="#projectcontour.io/v1alpha1.ContourDeploymentSpec"> 3729 ContourDeploymentSpec 3730 </a> 3731 </em> 3732 </td> 3733 <td> 3734 <br> 3735 <br> 3736 <table style="border:none"> 3737 <tr> 3738 <td style="white-space:nowrap"> 3739 <code>replicas</code> 3740 <br> 3741 <em> 3742 int32 3743 </em> 3744 </td> 3745 <td> 3746 <p>Replicas is the desired number of Contour replicas. If unset, 3747 defaults to 2.</p> 3748 </td> 3749 </tr> 3750 <tr> 3751 <td style="white-space:nowrap"> 3752 <code>config</code> 3753 <br> 3754 <em> 3755 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec"> 3756 ContourConfigurationSpec 3757 </a> 3758 </em> 3759 </td> 3760 <td> 3761 <p>Config is the config that the instances of Contour are to utilize.</p> 3762 </td> 3763 </tr> 3764 </table> 3765 </td> 3766 </tr> 3767 <tr> 3768 <td style="white-space:nowrap"> 3769 <code>status</code> 3770 <br> 3771 <em> 3772 <a href="#projectcontour.io/v1alpha1.ContourDeploymentStatus"> 3773 ContourDeploymentStatus 3774 </a> 3775 </em> 3776 </td> 3777 <td> 3778 </td> 3779 </tr> 3780 </tbody> 3781 </table> 3782 <h3 id="projectcontour.io/v1alpha1.ExtensionService">ExtensionService 3783 </h3> 3784 <p> 3785 <p>ExtensionService is the schema for the Contour extension services API. 3786 An ExtensionService resource binds a network service to the Contour 3787 API so that Contour API features can be implemented by collaborating 3788 components.</p> 3789 </p> 3790 <table class="table table-striped table-borderless" style="border:none"> 3791 <thead class="border-bottom"> 3792 <tr> 3793 <th>Field</th> 3794 <th>Description</th> 3795 </tr> 3796 </thead> 3797 <tbody class="border-top"> 3798 <tr> 3799 <td> 3800 <code>apiVersion</code> 3801 <br> 3802 string</td> 3803 <td> 3804 <code> 3805 projectcontour.io/v1alpha1 3806 </code> 3807 </td> 3808 </tr> 3809 <tr> 3810 <td> 3811 <code>kind</code> 3812 <br> 3813 string 3814 </td> 3815 <td><code>ExtensionService</code></td> 3816 </tr> 3817 <tr> 3818 <td style="white-space:nowrap"> 3819 <code>metadata</code> 3820 <br> 3821 <em> 3822 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta"> 3823 Kubernetes meta/v1.ObjectMeta 3824 </a> 3825 </em> 3826 </td> 3827 <td> 3828 Refer to the Kubernetes API documentation for the fields of the 3829 <code>metadata</code> field. 3830 </td> 3831 </tr> 3832 <tr> 3833 <td style="white-space:nowrap"> 3834 <code>spec</code> 3835 <br> 3836 <em> 3837 <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec"> 3838 ExtensionServiceSpec 3839 </a> 3840 </em> 3841 </td> 3842 <td> 3843 <br> 3844 <br> 3845 <table style="border:none"> 3846 <tr> 3847 <td style="white-space:nowrap"> 3848 <code>services</code> 3849 <br> 3850 <em> 3851 <a href="#projectcontour.io/v1alpha1.ExtensionServiceTarget"> 3852 []ExtensionServiceTarget 3853 </a> 3854 </em> 3855 </td> 3856 <td> 3857 <p>Services specifies the set of Kubernetes Service resources that 3858 receive GRPC extension API requests. 3859 If no weights are specified for any of the entries in 3860 this array, traffic will be spread evenly across all the 3861 services. 3862 Otherwise, traffic is balanced proportionally to the 3863 Weight field in each entry.</p> 3864 </td> 3865 </tr> 3866 <tr> 3867 <td style="white-space:nowrap"> 3868 <code>validation</code> 3869 <br> 3870 <em> 3871 <a href="#projectcontour.io/v1.UpstreamValidation"> 3872 UpstreamValidation 3873 </a> 3874 </em> 3875 </td> 3876 <td> 3877 <em>(Optional)</em> 3878 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 3879 </td> 3880 </tr> 3881 <tr> 3882 <td style="white-space:nowrap"> 3883 <code>protocol</code> 3884 <br> 3885 <em> 3886 string 3887 </em> 3888 </td> 3889 <td> 3890 <em>(Optional)</em> 3891 <p>Protocol may be used to specify (or override) the protocol used to reach this Service. 3892 Values may be h2 or h2c. If omitted, protocol-selection falls back on Service annotations.</p> 3893 </td> 3894 </tr> 3895 <tr> 3896 <td style="white-space:nowrap"> 3897 <code>loadBalancerPolicy</code> 3898 <br> 3899 <em> 3900 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 3901 LoadBalancerPolicy 3902 </a> 3903 </em> 3904 </td> 3905 <td> 3906 <em>(Optional)</em> 3907 <p>The policy for load balancing GRPC service requests. Note that the 3908 <code>Cookie</code> and <code>RequestHash</code> load balancing strategies cannot be used 3909 here.</p> 3910 </td> 3911 </tr> 3912 <tr> 3913 <td style="white-space:nowrap"> 3914 <code>timeoutPolicy</code> 3915 <br> 3916 <em> 3917 <a href="#projectcontour.io/v1.TimeoutPolicy"> 3918 TimeoutPolicy 3919 </a> 3920 </em> 3921 </td> 3922 <td> 3923 <em>(Optional)</em> 3924 <p>The timeout policy for requests to the services.</p> 3925 </td> 3926 </tr> 3927 <tr> 3928 <td style="white-space:nowrap"> 3929 <code>protocolVersion</code> 3930 <br> 3931 <em> 3932 <a href="#projectcontour.io/v1alpha1.ExtensionProtocolVersion"> 3933 ExtensionProtocolVersion 3934 </a> 3935 </em> 3936 </td> 3937 <td> 3938 <em>(Optional)</em> 3939 <p>This field sets the version of the GRPC protocol that Envoy uses to 3940 send requests to the extension service. Since Contour always uses the 3941 v3 Envoy API, this is currently fixed at “v3”. However, other 3942 protocol options will be available in future.</p> 3943 </td> 3944 </tr> 3945 </table> 3946 </td> 3947 </tr> 3948 <tr> 3949 <td style="white-space:nowrap"> 3950 <code>status</code> 3951 <br> 3952 <em> 3953 <a href="#projectcontour.io/v1alpha1.ExtensionServiceStatus"> 3954 ExtensionServiceStatus 3955 </a> 3956 </em> 3957 </td> 3958 <td> 3959 </td> 3960 </tr> 3961 </tbody> 3962 </table> 3963 <h3 id="projectcontour.io/v1alpha1.AccessLogFields">AccessLogFields 3964 (<code>[]string</code> alias)</h3> 3965 <p> 3966 (<em>Appears on:</em> 3967 <a href="#projectcontour.io/v1alpha1.EnvoyLogging">EnvoyLogging</a>) 3968 </p> 3969 <p> 3970 </p> 3971 <h3 id="projectcontour.io/v1alpha1.AccessLogType">AccessLogType 3972 (<code>string</code> alias)</h3> 3973 <p> 3974 (<em>Appears on:</em> 3975 <a href="#projectcontour.io/v1alpha1.EnvoyLogging">EnvoyLogging</a>) 3976 </p> 3977 <p> 3978 <p>AccessLogType is the name of a supported access logging mechanism.</p> 3979 </p> 3980 <h3 id="projectcontour.io/v1alpha1.ClusterDNSFamilyType">ClusterDNSFamilyType 3981 (<code>string</code> alias)</h3> 3982 <p> 3983 (<em>Appears on:</em> 3984 <a href="#projectcontour.io/v1alpha1.ClusterParameters">ClusterParameters</a>) 3985 </p> 3986 <p> 3987 <p>ClusterDNSFamilyType is the Ip family to use for resolving DNS 3988 names in an Envoy cluster config.</p> 3989 </p> 3990 <h3 id="projectcontour.io/v1alpha1.ClusterParameters">ClusterParameters 3991 </h3> 3992 <p> 3993 (<em>Appears on:</em> 3994 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 3995 </p> 3996 <p> 3997 <p>ClusterParameters holds various configurable cluster values.</p> 3998 </p> 3999 <table class="table table-striped table-borderless" style="border:none"> 4000 <thead class="border-bottom"> 4001 <tr> 4002 <th>Field</th> 4003 <th>Description</th> 4004 </tr> 4005 </thead> 4006 <tbody class="border-top"> 4007 <tr> 4008 <td style="white-space:nowrap"> 4009 <code>dnsLookupFamily</code> 4010 <br> 4011 <em> 4012 <a href="#projectcontour.io/v1alpha1.ClusterDNSFamilyType"> 4013 ClusterDNSFamilyType 4014 </a> 4015 </em> 4016 </td> 4017 <td> 4018 <p>DNSLookupFamily defines how external names are looked up 4019 When configured as V4, the DNS resolver will only perform a lookup 4020 for addresses in the IPv4 family. If V6 is configured, the DNS resolver 4021 will only perform a lookup for addresses in the IPv6 family. 4022 If AUTO is configured, the DNS resolver will first perform a lookup 4023 for addresses in the IPv6 family and fallback to a lookup for addresses 4024 in the IPv4 family. 4025 Note: This only applies to externalName clusters.</p> 4026 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto.html#envoy-v3-api-enum-config-cluster-v3-cluster-dnslookupfamily">https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto.html#envoy-v3-api-enum-config-cluster-v3-cluster-dnslookupfamily</a> 4027 for more information.</p> 4028 </td> 4029 </tr> 4030 </tbody> 4031 </table> 4032 <h3 id="projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec 4033 </h3> 4034 <p> 4035 (<em>Appears on:</em> 4036 <a href="#projectcontour.io/v1alpha1.ContourConfiguration">ContourConfiguration</a>, 4037 <a href="#projectcontour.io/v1alpha1.ContourDeploymentSpec">ContourDeploymentSpec</a>) 4038 </p> 4039 <p> 4040 <p>ContourConfigurationSpec represents a configuration of a Contour controller. 4041 It contains most of all the options that can be customized, the 4042 other remaining options being command line flags.</p> 4043 </p> 4044 <table class="table table-striped table-borderless" style="border:none"> 4045 <thead class="border-bottom"> 4046 <tr> 4047 <th>Field</th> 4048 <th>Description</th> 4049 </tr> 4050 </thead> 4051 <tbody class="border-top"> 4052 <tr> 4053 <td style="white-space:nowrap"> 4054 <code>xdsServer</code> 4055 <br> 4056 <em> 4057 <a href="#projectcontour.io/v1alpha1.XDSServerConfig"> 4058 XDSServerConfig 4059 </a> 4060 </em> 4061 </td> 4062 <td> 4063 <em>(Optional)</em> 4064 <p>XDSServer contains parameters for the xDS server.</p> 4065 </td> 4066 </tr> 4067 <tr> 4068 <td style="white-space:nowrap"> 4069 <code>ingress</code> 4070 <br> 4071 <em> 4072 <a href="#projectcontour.io/v1alpha1.IngressConfig"> 4073 IngressConfig 4074 </a> 4075 </em> 4076 </td> 4077 <td> 4078 <em>(Optional)</em> 4079 <p>Ingress contains parameters for ingress options.</p> 4080 </td> 4081 </tr> 4082 <tr> 4083 <td style="white-space:nowrap"> 4084 <code>debug</code> 4085 <br> 4086 <em> 4087 <a href="#projectcontour.io/v1alpha1.DebugConfig"> 4088 DebugConfig 4089 </a> 4090 </em> 4091 </td> 4092 <td> 4093 <em>(Optional)</em> 4094 <p>Debug contains parameters to enable debug logging 4095 and debug interfaces inside Contour.</p> 4096 </td> 4097 </tr> 4098 <tr> 4099 <td style="white-space:nowrap"> 4100 <code>health</code> 4101 <br> 4102 <em> 4103 <a href="#projectcontour.io/v1alpha1.HealthConfig"> 4104 HealthConfig 4105 </a> 4106 </em> 4107 </td> 4108 <td> 4109 <em>(Optional)</em> 4110 <p>Health contains parameters to configure endpoints which Contour 4111 exposes to respond to Kubernetes health checks.</p> 4112 </td> 4113 </tr> 4114 <tr> 4115 <td style="white-space:nowrap"> 4116 <code>envoy</code> 4117 <br> 4118 <em> 4119 <a href="#projectcontour.io/v1alpha1.EnvoyConfig"> 4120 EnvoyConfig 4121 </a> 4122 </em> 4123 </td> 4124 <td> 4125 <em>(Optional)</em> 4126 <p>Envoy contains parameters for Envoy as well 4127 as how to optionally configure a managed Envoy fleet.</p> 4128 </td> 4129 </tr> 4130 <tr> 4131 <td style="white-space:nowrap"> 4132 <code>gateway</code> 4133 <br> 4134 <em> 4135 <a href="#projectcontour.io/v1alpha1.GatewayConfig"> 4136 GatewayConfig 4137 </a> 4138 </em> 4139 </td> 4140 <td> 4141 <em>(Optional)</em> 4142 <p>Gateway contains parameters for the gateway-api Gateway that Contour 4143 is configured to serve traffic.</p> 4144 </td> 4145 </tr> 4146 <tr> 4147 <td style="white-space:nowrap"> 4148 <code>httpproxy</code> 4149 <br> 4150 <em> 4151 <a href="#projectcontour.io/v1alpha1.HTTPProxyConfig"> 4152 HTTPProxyConfig 4153 </a> 4154 </em> 4155 </td> 4156 <td> 4157 <em>(Optional)</em> 4158 <p>HTTPProxy defines parameters on HTTPProxy.</p> 4159 </td> 4160 </tr> 4161 <tr> 4162 <td style="white-space:nowrap"> 4163 <code>leaderElection</code> 4164 <br> 4165 <em> 4166 <a href="#projectcontour.io/v1alpha1.LeaderElectionConfig"> 4167 LeaderElectionConfig 4168 </a> 4169 </em> 4170 </td> 4171 <td> 4172 <em>(Optional)</em> 4173 <p>LeaderElection contains leader election parameters.</p> 4174 </td> 4175 </tr> 4176 <tr> 4177 <td style="white-space:nowrap"> 4178 <code>enableExternalNameService</code> 4179 <br> 4180 <em> 4181 bool 4182 </em> 4183 </td> 4184 <td> 4185 <em>(Optional)</em> 4186 <p>EnableExternalNameService allows processing of ExternalNameServices 4187 Defaults to disabled for security reasons.</p> 4188 </td> 4189 </tr> 4190 <tr> 4191 <td style="white-space:nowrap"> 4192 <code>rateLimitService</code> 4193 <br> 4194 <em> 4195 <a href="#projectcontour.io/v1alpha1.RateLimitServiceConfig"> 4196 RateLimitServiceConfig 4197 </a> 4198 </em> 4199 </td> 4200 <td> 4201 <em>(Optional)</em> 4202 <p>RateLimitService optionally holds properties of the Rate Limit Service 4203 to be used for global rate limiting.</p> 4204 </td> 4205 </tr> 4206 <tr> 4207 <td style="white-space:nowrap"> 4208 <code>policy</code> 4209 <br> 4210 <em> 4211 <a href="#projectcontour.io/v1alpha1.PolicyConfig"> 4212 PolicyConfig 4213 </a> 4214 </em> 4215 </td> 4216 <td> 4217 <em>(Optional)</em> 4218 <p>Policy specifies default policy applied if not overridden by the user</p> 4219 </td> 4220 </tr> 4221 <tr> 4222 <td style="white-space:nowrap"> 4223 <code>metrics</code> 4224 <br> 4225 <em> 4226 <a href="#projectcontour.io/v1alpha1.MetricsConfig"> 4227 MetricsConfig 4228 </a> 4229 </em> 4230 </td> 4231 <td> 4232 <em>(Optional)</em> 4233 <p>Metrics defines the endpoints Contour uses to serve to metrics.</p> 4234 </td> 4235 </tr> 4236 </tbody> 4237 </table> 4238 <h3 id="projectcontour.io/v1alpha1.ContourConfigurationStatus">ContourConfigurationStatus 4239 </h3> 4240 <p> 4241 (<em>Appears on:</em> 4242 <a href="#projectcontour.io/v1alpha1.ContourConfiguration">ContourConfiguration</a>) 4243 </p> 4244 <p> 4245 <p>ContourConfigurationStatus defines the observed state of a ContourConfiguration resource.</p> 4246 </p> 4247 <table class="table table-striped table-borderless" style="border:none"> 4248 <thead class="border-bottom"> 4249 <tr> 4250 <th>Field</th> 4251 <th>Description</th> 4252 </tr> 4253 </thead> 4254 <tbody class="border-top"> 4255 <tr> 4256 <td style="white-space:nowrap"> 4257 <code>conditions</code> 4258 <br> 4259 <em> 4260 <a href="#projectcontour.io/v1.DetailedCondition"> 4261 []DetailedCondition 4262 </a> 4263 </em> 4264 </td> 4265 <td> 4266 <em>(Optional)</em> 4267 <p>Conditions contains the current status of the Contour resource.</p> 4268 <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.</p> 4269 <p>Contour will not modify any other Conditions set in this block, 4270 in case some other controller wants to add a Condition.</p> 4271 </td> 4272 </tr> 4273 </tbody> 4274 </table> 4275 <h3 id="projectcontour.io/v1alpha1.ContourDeploymentSpec">ContourDeploymentSpec 4276 </h3> 4277 <p> 4278 (<em>Appears on:</em> 4279 <a href="#projectcontour.io/v1alpha1.ContourDeployment">ContourDeployment</a>) 4280 </p> 4281 <p> 4282 <p>ContourDeploymentSpec defines the parameters of how a Contour 4283 instance should be configured.</p> 4284 </p> 4285 <table class="table table-striped table-borderless" style="border:none"> 4286 <thead class="border-bottom"> 4287 <tr> 4288 <th>Field</th> 4289 <th>Description</th> 4290 </tr> 4291 </thead> 4292 <tbody class="border-top"> 4293 <tr> 4294 <td style="white-space:nowrap"> 4295 <code>replicas</code> 4296 <br> 4297 <em> 4298 int32 4299 </em> 4300 </td> 4301 <td> 4302 <p>Replicas is the desired number of Contour replicas. If unset, 4303 defaults to 2.</p> 4304 </td> 4305 </tr> 4306 <tr> 4307 <td style="white-space:nowrap"> 4308 <code>config</code> 4309 <br> 4310 <em> 4311 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec"> 4312 ContourConfigurationSpec 4313 </a> 4314 </em> 4315 </td> 4316 <td> 4317 <p>Config is the config that the instances of Contour are to utilize.</p> 4318 </td> 4319 </tr> 4320 </tbody> 4321 </table> 4322 <h3 id="projectcontour.io/v1alpha1.ContourDeploymentStatus">ContourDeploymentStatus 4323 </h3> 4324 <p> 4325 (<em>Appears on:</em> 4326 <a href="#projectcontour.io/v1alpha1.ContourDeployment">ContourDeployment</a>) 4327 </p> 4328 <p> 4329 <p>ContourDeploymentStatus defines the observed state of a ContourDeployment resource.</p> 4330 </p> 4331 <table class="table table-striped table-borderless" style="border:none"> 4332 <thead class="border-bottom"> 4333 <tr> 4334 <th>Field</th> 4335 <th>Description</th> 4336 </tr> 4337 </thead> 4338 <tbody class="border-top"> 4339 <tr> 4340 <td style="white-space:nowrap"> 4341 <code>conditions</code> 4342 <br> 4343 <em> 4344 <a href="#projectcontour.io/v1.DetailedCondition"> 4345 []DetailedCondition 4346 </a> 4347 </em> 4348 </td> 4349 <td> 4350 <em>(Optional)</em> 4351 <p>Conditions contains the current status of the Contour resource.</p> 4352 <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.</p> 4353 <p>Contour will not modify any other Conditions set in this block, 4354 in case some other controller wants to add a Condition.</p> 4355 </td> 4356 </tr> 4357 </tbody> 4358 </table> 4359 <h3 id="projectcontour.io/v1alpha1.DebugConfig">DebugConfig 4360 </h3> 4361 <p> 4362 (<em>Appears on:</em> 4363 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 4364 </p> 4365 <p> 4366 <p>DebugConfig contains Contour specific troubleshooting options.</p> 4367 </p> 4368 <table class="table table-striped table-borderless" style="border:none"> 4369 <thead class="border-bottom"> 4370 <tr> 4371 <th>Field</th> 4372 <th>Description</th> 4373 </tr> 4374 </thead> 4375 <tbody class="border-top"> 4376 <tr> 4377 <td style="white-space:nowrap"> 4378 <code>address</code> 4379 <br> 4380 <em> 4381 string 4382 </em> 4383 </td> 4384 <td> 4385 <em>(Optional)</em> 4386 <p>Defines the Contour debug address interface.</p> 4387 </td> 4388 </tr> 4389 <tr> 4390 <td style="white-space:nowrap"> 4391 <code>port</code> 4392 <br> 4393 <em> 4394 int 4395 </em> 4396 </td> 4397 <td> 4398 <em>(Optional)</em> 4399 <p>Defines the Contour debug address port.</p> 4400 </td> 4401 </tr> 4402 <tr> 4403 <td style="white-space:nowrap"> 4404 <code>logLevel</code> 4405 <br> 4406 <em> 4407 <a href="#projectcontour.io/v1alpha1.LogLevel"> 4408 LogLevel 4409 </a> 4410 </em> 4411 </td> 4412 <td> 4413 <p>DebugLogLevel defines the log level which Contour will 4414 use when outputting log information.</p> 4415 </td> 4416 </tr> 4417 <tr> 4418 <td style="white-space:nowrap"> 4419 <code>kubernetesLogLevel</code> 4420 <br> 4421 <em> 4422 uint 4423 </em> 4424 </td> 4425 <td> 4426 <em>(Optional)</em> 4427 <p>KubernetesDebugLogLevel defines the log level which Contour will 4428 use when outputting Kubernetes specific log information.</p> 4429 <p>Details: <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md">https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md</a></p> 4430 </td> 4431 </tr> 4432 </tbody> 4433 </table> 4434 <h3 id="projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig 4435 </h3> 4436 <p> 4437 (<em>Appears on:</em> 4438 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 4439 </p> 4440 <p> 4441 <p>EnvoyConfig defines how Envoy is to be Configured from Contour.</p> 4442 </p> 4443 <table class="table table-striped table-borderless" style="border:none"> 4444 <thead class="border-bottom"> 4445 <tr> 4446 <th>Field</th> 4447 <th>Description</th> 4448 </tr> 4449 </thead> 4450 <tbody class="border-top"> 4451 <tr> 4452 <td style="white-space:nowrap"> 4453 <code>listener</code> 4454 <br> 4455 <em> 4456 <a href="#projectcontour.io/v1alpha1.EnvoyListenerConfig"> 4457 EnvoyListenerConfig 4458 </a> 4459 </em> 4460 </td> 4461 <td> 4462 <p>Listener hold various configurable Envoy listener values.</p> 4463 </td> 4464 </tr> 4465 <tr> 4466 <td style="white-space:nowrap"> 4467 <code>service</code> 4468 <br> 4469 <em> 4470 <a href="#projectcontour.io/v1alpha1.NamespacedName"> 4471 NamespacedName 4472 </a> 4473 </em> 4474 </td> 4475 <td> 4476 <p>Service holds Envoy service parameters for setting Ingress status.</p> 4477 </td> 4478 </tr> 4479 <tr> 4480 <td style="white-space:nowrap"> 4481 <code>http</code> 4482 <br> 4483 <em> 4484 <a href="#projectcontour.io/v1alpha1.EnvoyListener"> 4485 EnvoyListener 4486 </a> 4487 </em> 4488 </td> 4489 <td> 4490 <p>Defines the HTTP Listener for Envoy.</p> 4491 </td> 4492 </tr> 4493 <tr> 4494 <td style="white-space:nowrap"> 4495 <code>https</code> 4496 <br> 4497 <em> 4498 <a href="#projectcontour.io/v1alpha1.EnvoyListener"> 4499 EnvoyListener 4500 </a> 4501 </em> 4502 </td> 4503 <td> 4504 <p>Defines the HTTP Listener for Envoy.</p> 4505 </td> 4506 </tr> 4507 <tr> 4508 <td style="white-space:nowrap"> 4509 <code>metrics</code> 4510 <br> 4511 <em> 4512 <a href="#projectcontour.io/v1alpha1.MetricsConfig"> 4513 MetricsConfig 4514 </a> 4515 </em> 4516 </td> 4517 <td> 4518 <p>Metrics defines the endpoints Envoy use to serve to metrics.</p> 4519 </td> 4520 </tr> 4521 <tr> 4522 <td style="white-space:nowrap"> 4523 <code>clientCertificate</code> 4524 <br> 4525 <em> 4526 <a href="#projectcontour.io/v1alpha1.NamespacedName"> 4527 NamespacedName 4528 </a> 4529 </em> 4530 </td> 4531 <td> 4532 <em>(Optional)</em> 4533 <p>ClientCertificate defines the namespace/name of the Kubernetes 4534 secret containing the client certificate and private key 4535 to be used when establishing TLS connection to upstream 4536 cluster.</p> 4537 </td> 4538 </tr> 4539 <tr> 4540 <td style="white-space:nowrap"> 4541 <code>logging</code> 4542 <br> 4543 <em> 4544 <a href="#projectcontour.io/v1alpha1.EnvoyLogging"> 4545 EnvoyLogging 4546 </a> 4547 </em> 4548 </td> 4549 <td> 4550 <p>Logging defines how Envoy’s logs can be configured.</p> 4551 </td> 4552 </tr> 4553 <tr> 4554 <td style="white-space:nowrap"> 4555 <code>defaultHTTPVersions</code> 4556 <br> 4557 <em> 4558 <a href="#projectcontour.io/v1alpha1.HTTPVersionType"> 4559 []HTTPVersionType 4560 </a> 4561 </em> 4562 </td> 4563 <td> 4564 <p>DefaultHTTPVersions defines the default set of HTTPS 4565 versions the proxy should accept. HTTP versions are 4566 strings of the form “HTTP/xx”. Supported versions are 4567 “HTTP/1.1” and “HTTP/2”.</p> 4568 </td> 4569 </tr> 4570 <tr> 4571 <td style="white-space:nowrap"> 4572 <code>timeouts</code> 4573 <br> 4574 <em> 4575 <a href="#projectcontour.io/v1alpha1.TimeoutParameters"> 4576 TimeoutParameters 4577 </a> 4578 </em> 4579 </td> 4580 <td> 4581 <em>(Optional)</em> 4582 <p>Timeouts holds various configurable timeouts that can 4583 be set in the config file.</p> 4584 </td> 4585 </tr> 4586 <tr> 4587 <td style="white-space:nowrap"> 4588 <code>cluster</code> 4589 <br> 4590 <em> 4591 <a href="#projectcontour.io/v1alpha1.ClusterParameters"> 4592 ClusterParameters 4593 </a> 4594 </em> 4595 </td> 4596 <td> 4597 <p>Cluster holds various configurable Envoy cluster values that can 4598 be set in the config file.</p> 4599 </td> 4600 </tr> 4601 <tr> 4602 <td style="white-space:nowrap"> 4603 <code>network</code> 4604 <br> 4605 <em> 4606 <a href="#projectcontour.io/v1alpha1.NetworkParameters"> 4607 NetworkParameters 4608 </a> 4609 </em> 4610 </td> 4611 <td> 4612 <p>Network holds various configurable Envoy network values.</p> 4613 </td> 4614 </tr> 4615 </tbody> 4616 </table> 4617 <h3 id="projectcontour.io/v1alpha1.EnvoyListener">EnvoyListener 4618 </h3> 4619 <p> 4620 (<em>Appears on:</em> 4621 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 4622 </p> 4623 <p> 4624 <p>EnvoyListener defines parameters for an Envoy Listener.</p> 4625 </p> 4626 <table class="table table-striped table-borderless" style="border:none"> 4627 <thead class="border-bottom"> 4628 <tr> 4629 <th>Field</th> 4630 <th>Description</th> 4631 </tr> 4632 </thead> 4633 <tbody class="border-top"> 4634 <tr> 4635 <td style="white-space:nowrap"> 4636 <code>address</code> 4637 <br> 4638 <em> 4639 string 4640 </em> 4641 </td> 4642 <td> 4643 <p>Defines an Envoy Listener Address.</p> 4644 </td> 4645 </tr> 4646 <tr> 4647 <td style="white-space:nowrap"> 4648 <code>port</code> 4649 <br> 4650 <em> 4651 int 4652 </em> 4653 </td> 4654 <td> 4655 <p>Defines an Envoy listener Port.</p> 4656 </td> 4657 </tr> 4658 <tr> 4659 <td style="white-space:nowrap"> 4660 <code>accessLog</code> 4661 <br> 4662 <em> 4663 string 4664 </em> 4665 </td> 4666 <td> 4667 <p>AccessLog defines where Envoy logs are outputted for this listener.</p> 4668 </td> 4669 </tr> 4670 </tbody> 4671 </table> 4672 <h3 id="projectcontour.io/v1alpha1.EnvoyListenerConfig">EnvoyListenerConfig 4673 </h3> 4674 <p> 4675 (<em>Appears on:</em> 4676 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 4677 </p> 4678 <p> 4679 <p>EnvoyListenerConfig hold various configurable Envoy listener values.</p> 4680 </p> 4681 <table class="table table-striped table-borderless" style="border:none"> 4682 <thead class="border-bottom"> 4683 <tr> 4684 <th>Field</th> 4685 <th>Description</th> 4686 </tr> 4687 </thead> 4688 <tbody class="border-top"> 4689 <tr> 4690 <td style="white-space:nowrap"> 4691 <code>useProxyProtocol</code> 4692 <br> 4693 <em> 4694 bool 4695 </em> 4696 </td> 4697 <td> 4698 <p>Use PROXY protocol for all listeners.</p> 4699 </td> 4700 </tr> 4701 <tr> 4702 <td style="white-space:nowrap"> 4703 <code>disableAllowChunkedLength</code> 4704 <br> 4705 <em> 4706 bool 4707 </em> 4708 </td> 4709 <td> 4710 <p>DisableAllowChunkedLength disables the RFC-compliant Envoy behavior to 4711 strip the “Content-Length” header if “Transfer-Encoding: chunked” is 4712 also set. This is an emergency off-switch to revert back to Envoy’s 4713 default behavior in case of failures. Please file an issue if failures 4714 are encountered. 4715 See: <a href="https://github.com/projectcontour/contour/issues/3221">https://github.com/projectcontour/contour/issues/3221</a></p> 4716 </td> 4717 </tr> 4718 <tr> 4719 <td style="white-space:nowrap"> 4720 <code>connectionBalancer</code> 4721 <br> 4722 <em> 4723 string 4724 </em> 4725 </td> 4726 <td> 4727 <p>ConnectionBalancer. If the value is exact, the listener will use the exact connection balancer 4728 See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/listener.proto#envoy-api-msg-listener-connectionbalanceconfig">https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/listener.proto#envoy-api-msg-listener-connectionbalanceconfig</a> 4729 for more information.</p> 4730 </td> 4731 </tr> 4732 <tr> 4733 <td style="white-space:nowrap"> 4734 <code>tls</code> 4735 <br> 4736 <em> 4737 <a href="#projectcontour.io/v1alpha1.EnvoyTLS"> 4738 EnvoyTLS 4739 </a> 4740 </em> 4741 </td> 4742 <td> 4743 <p>TLS holds various configurable Envoy TLS listener values.</p> 4744 </td> 4745 </tr> 4746 </tbody> 4747 </table> 4748 <h3 id="projectcontour.io/v1alpha1.EnvoyLogging">EnvoyLogging 4749 </h3> 4750 <p> 4751 (<em>Appears on:</em> 4752 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 4753 </p> 4754 <p> 4755 <p>EnvoyLogging defines how Envoy’s logs can be configured.</p> 4756 </p> 4757 <table class="table table-striped table-borderless" style="border:none"> 4758 <thead class="border-bottom"> 4759 <tr> 4760 <th>Field</th> 4761 <th>Description</th> 4762 </tr> 4763 </thead> 4764 <tbody class="border-top"> 4765 <tr> 4766 <td style="white-space:nowrap"> 4767 <code>accessLogFormat</code> 4768 <br> 4769 <em> 4770 <a href="#projectcontour.io/v1alpha1.AccessLogType"> 4771 AccessLogType 4772 </a> 4773 </em> 4774 </td> 4775 <td> 4776 <p>AccessLogFormat sets the global access log format. 4777 Valid options are ‘envoy’ or ‘json’</p> 4778 </td> 4779 </tr> 4780 <tr> 4781 <td style="white-space:nowrap"> 4782 <code>accessLogFormatString</code> 4783 <br> 4784 <em> 4785 string 4786 </em> 4787 </td> 4788 <td> 4789 <em>(Optional)</em> 4790 <p>AccessLogFormatString sets the access log format when format is set to <code>envoy</code>. 4791 When empty, Envoy’s default format is used.</p> 4792 </td> 4793 </tr> 4794 <tr> 4795 <td style="white-space:nowrap"> 4796 <code>jsonFields</code> 4797 <br> 4798 <em> 4799 <a href="#projectcontour.io/v1alpha1.AccessLogFields"> 4800 AccessLogFields 4801 </a> 4802 </em> 4803 </td> 4804 <td> 4805 <em>(Optional)</em> 4806 <p>AccessLogFields sets the fields that JSON logging will 4807 output when AccessLogFormat is json.</p> 4808 </td> 4809 </tr> 4810 </tbody> 4811 </table> 4812 <h3 id="projectcontour.io/v1alpha1.EnvoyTLS">EnvoyTLS 4813 </h3> 4814 <p> 4815 (<em>Appears on:</em> 4816 <a href="#projectcontour.io/v1alpha1.EnvoyListenerConfig">EnvoyListenerConfig</a>) 4817 </p> 4818 <p> 4819 <p>EnvoyTLS describes tls parameters for Envoy listneners.</p> 4820 </p> 4821 <table class="table table-striped table-borderless" style="border:none"> 4822 <thead class="border-bottom"> 4823 <tr> 4824 <th>Field</th> 4825 <th>Description</th> 4826 </tr> 4827 </thead> 4828 <tbody class="border-top"> 4829 <tr> 4830 <td style="white-space:nowrap"> 4831 <code>minimumProtocolVersion</code> 4832 <br> 4833 <em> 4834 string 4835 </em> 4836 </td> 4837 <td> 4838 <p>MinimumProtocolVersion is the minimum TLS version this vhost should 4839 negotiate. Valid options are <code>1.2</code> (default) and <code>1.3</code>.</p> 4840 </td> 4841 </tr> 4842 <tr> 4843 <td style="white-space:nowrap"> 4844 <code>cipherSuites</code> 4845 <br> 4846 <em> 4847 <a href="#projectcontour.io/v1alpha1.TLSCipherType"> 4848 []TLSCipherType 4849 </a> 4850 </em> 4851 </td> 4852 <td> 4853 <p>CipherSuites defines the TLS ciphers to be supported by Envoy TLS 4854 listeners when negotiating TLS 1.2. Ciphers are validated against the 4855 set that Envoy supports by default. This parameter should only be used 4856 by advanced users. Note that these will be ignored when TLS 1.3 is in 4857 use.</p> 4858 <p>See: <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-tlsparameters">https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto#extensions-transport-sockets-tls-v3-tlsparameters</a> 4859 Note: This list is a superset of what is valid for stock Envoy builds and those using BoringSSL FIPS.</p> 4860 </td> 4861 </tr> 4862 </tbody> 4863 </table> 4864 <h3 id="projectcontour.io/v1alpha1.ExtensionProtocolVersion">ExtensionProtocolVersion 4865 (<code>string</code> alias)</h3> 4866 <p> 4867 (<em>Appears on:</em> 4868 <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>) 4869 </p> 4870 <p> 4871 <p>ExtensionProtocolVersion is the version of the GRPC protocol used 4872 to access extension services. The only version currently supported 4873 is “v3”.</p> 4874 </p> 4875 <h3 id="projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec 4876 </h3> 4877 <p> 4878 (<em>Appears on:</em> 4879 <a href="#projectcontour.io/v1alpha1.ExtensionService">ExtensionService</a>) 4880 </p> 4881 <p> 4882 <p>ExtensionServiceSpec defines the desired state of an ExtensionService resource.</p> 4883 </p> 4884 <table class="table table-striped table-borderless" style="border:none"> 4885 <thead class="border-bottom"> 4886 <tr> 4887 <th>Field</th> 4888 <th>Description</th> 4889 </tr> 4890 </thead> 4891 <tbody class="border-top"> 4892 <tr> 4893 <td style="white-space:nowrap"> 4894 <code>services</code> 4895 <br> 4896 <em> 4897 <a href="#projectcontour.io/v1alpha1.ExtensionServiceTarget"> 4898 []ExtensionServiceTarget 4899 </a> 4900 </em> 4901 </td> 4902 <td> 4903 <p>Services specifies the set of Kubernetes Service resources that 4904 receive GRPC extension API requests. 4905 If no weights are specified for any of the entries in 4906 this array, traffic will be spread evenly across all the 4907 services. 4908 Otherwise, traffic is balanced proportionally to the 4909 Weight field in each entry.</p> 4910 </td> 4911 </tr> 4912 <tr> 4913 <td style="white-space:nowrap"> 4914 <code>validation</code> 4915 <br> 4916 <em> 4917 <a href="#projectcontour.io/v1.UpstreamValidation"> 4918 UpstreamValidation 4919 </a> 4920 </em> 4921 </td> 4922 <td> 4923 <em>(Optional)</em> 4924 <p>UpstreamValidation defines how to verify the backend service’s certificate</p> 4925 </td> 4926 </tr> 4927 <tr> 4928 <td style="white-space:nowrap"> 4929 <code>protocol</code> 4930 <br> 4931 <em> 4932 string 4933 </em> 4934 </td> 4935 <td> 4936 <em>(Optional)</em> 4937 <p>Protocol may be used to specify (or override) the protocol used to reach this Service. 4938 Values may be h2 or h2c. If omitted, protocol-selection falls back on Service annotations.</p> 4939 </td> 4940 </tr> 4941 <tr> 4942 <td style="white-space:nowrap"> 4943 <code>loadBalancerPolicy</code> 4944 <br> 4945 <em> 4946 <a href="#projectcontour.io/v1.LoadBalancerPolicy"> 4947 LoadBalancerPolicy 4948 </a> 4949 </em> 4950 </td> 4951 <td> 4952 <em>(Optional)</em> 4953 <p>The policy for load balancing GRPC service requests. Note that the 4954 <code>Cookie</code> and <code>RequestHash</code> load balancing strategies cannot be used 4955 here.</p> 4956 </td> 4957 </tr> 4958 <tr> 4959 <td style="white-space:nowrap"> 4960 <code>timeoutPolicy</code> 4961 <br> 4962 <em> 4963 <a href="#projectcontour.io/v1.TimeoutPolicy"> 4964 TimeoutPolicy 4965 </a> 4966 </em> 4967 </td> 4968 <td> 4969 <em>(Optional)</em> 4970 <p>The timeout policy for requests to the services.</p> 4971 </td> 4972 </tr> 4973 <tr> 4974 <td style="white-space:nowrap"> 4975 <code>protocolVersion</code> 4976 <br> 4977 <em> 4978 <a href="#projectcontour.io/v1alpha1.ExtensionProtocolVersion"> 4979 ExtensionProtocolVersion 4980 </a> 4981 </em> 4982 </td> 4983 <td> 4984 <em>(Optional)</em> 4985 <p>This field sets the version of the GRPC protocol that Envoy uses to 4986 send requests to the extension service. Since Contour always uses the 4987 v3 Envoy API, this is currently fixed at “v3”. However, other 4988 protocol options will be available in future.</p> 4989 </td> 4990 </tr> 4991 </tbody> 4992 </table> 4993 <h3 id="projectcontour.io/v1alpha1.ExtensionServiceStatus">ExtensionServiceStatus 4994 </h3> 4995 <p> 4996 (<em>Appears on:</em> 4997 <a href="#projectcontour.io/v1alpha1.ExtensionService">ExtensionService</a>) 4998 </p> 4999 <p> 5000 <p>ExtensionServiceStatus defines the observed state of an 5001 ExtensionService resource.</p> 5002 </p> 5003 <table class="table table-striped table-borderless" style="border:none"> 5004 <thead class="border-bottom"> 5005 <tr> 5006 <th>Field</th> 5007 <th>Description</th> 5008 </tr> 5009 </thead> 5010 <tbody class="border-top"> 5011 <tr> 5012 <td style="white-space:nowrap"> 5013 <code>conditions</code> 5014 <br> 5015 <em> 5016 <a href="#projectcontour.io/v1.DetailedCondition"> 5017 []DetailedCondition 5018 </a> 5019 </em> 5020 </td> 5021 <td> 5022 <em>(Optional)</em> 5023 <p>Conditions contains the current status of the ExtensionService resource.</p> 5024 <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.</p> 5025 <p>Contour will not modify any other Conditions set in this block, 5026 in case some other controller wants to add a Condition.</p> 5027 </td> 5028 </tr> 5029 </tbody> 5030 </table> 5031 <h3 id="projectcontour.io/v1alpha1.ExtensionServiceTarget">ExtensionServiceTarget 5032 </h3> 5033 <p> 5034 (<em>Appears on:</em> 5035 <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>) 5036 </p> 5037 <p> 5038 <p>ExtensionServiceTarget defines an Kubernetes Service to target with 5039 extension service traffic.</p> 5040 </p> 5041 <table class="table table-striped table-borderless" style="border:none"> 5042 <thead class="border-bottom"> 5043 <tr> 5044 <th>Field</th> 5045 <th>Description</th> 5046 </tr> 5047 </thead> 5048 <tbody class="border-top"> 5049 <tr> 5050 <td style="white-space:nowrap"> 5051 <code>name</code> 5052 <br> 5053 <em> 5054 string 5055 </em> 5056 </td> 5057 <td> 5058 <p>Name is the name of Kubernetes service that will accept service 5059 traffic.</p> 5060 </td> 5061 </tr> 5062 <tr> 5063 <td style="white-space:nowrap"> 5064 <code>port</code> 5065 <br> 5066 <em> 5067 int 5068 </em> 5069 </td> 5070 <td> 5071 <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p> 5072 </td> 5073 </tr> 5074 <tr> 5075 <td style="white-space:nowrap"> 5076 <code>weight</code> 5077 <br> 5078 <em> 5079 uint32 5080 </em> 5081 </td> 5082 <td> 5083 <em>(Optional)</em> 5084 <p>Weight defines proportion of traffic to balance to the Kubernetes Service.</p> 5085 </td> 5086 </tr> 5087 </tbody> 5088 </table> 5089 <h3 id="projectcontour.io/v1alpha1.GatewayConfig">GatewayConfig 5090 </h3> 5091 <p> 5092 (<em>Appears on:</em> 5093 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5094 </p> 5095 <p> 5096 <p>GatewayConfig holds the config for Gateway API controllers.</p> 5097 </p> 5098 <table class="table table-striped table-borderless" style="border:none"> 5099 <thead class="border-bottom"> 5100 <tr> 5101 <th>Field</th> 5102 <th>Description</th> 5103 </tr> 5104 </thead> 5105 <tbody class="border-top"> 5106 <tr> 5107 <td style="white-space:nowrap"> 5108 <code>controllerName</code> 5109 <br> 5110 <em> 5111 string 5112 </em> 5113 </td> 5114 <td> 5115 <p>ControllerName is used to determine whether Contour should reconcile a 5116 GatewayClass. The string takes the form of “projectcontour.io/<namespace>/contour”. 5117 If unset, the gatewayclass controller will not be started.</p> 5118 </td> 5119 </tr> 5120 </tbody> 5121 </table> 5122 <h3 id="projectcontour.io/v1alpha1.HTTPProxyConfig">HTTPProxyConfig 5123 </h3> 5124 <p> 5125 (<em>Appears on:</em> 5126 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5127 </p> 5128 <p> 5129 <p>HTTPProxyConfig defines parameters on HTTPProxy.</p> 5130 </p> 5131 <table class="table table-striped table-borderless" style="border:none"> 5132 <thead class="border-bottom"> 5133 <tr> 5134 <th>Field</th> 5135 <th>Description</th> 5136 </tr> 5137 </thead> 5138 <tbody class="border-top"> 5139 <tr> 5140 <td style="white-space:nowrap"> 5141 <code>disablePermitInsecure</code> 5142 <br> 5143 <em> 5144 bool 5145 </em> 5146 </td> 5147 <td> 5148 <p>DisablePermitInsecure disables the use of the 5149 permitInsecure field in HTTPProxy.</p> 5150 </td> 5151 </tr> 5152 <tr> 5153 <td style="white-space:nowrap"> 5154 <code>rootNamespaces</code> 5155 <br> 5156 <em> 5157 []string 5158 </em> 5159 </td> 5160 <td> 5161 <em>(Optional)</em> 5162 <p>Restrict Contour to searching these namespaces for root ingress routes.</p> 5163 </td> 5164 </tr> 5165 <tr> 5166 <td style="white-space:nowrap"> 5167 <code>fallbackCertificate</code> 5168 <br> 5169 <em> 5170 <a href="#projectcontour.io/v1alpha1.NamespacedName"> 5171 NamespacedName 5172 </a> 5173 </em> 5174 </td> 5175 <td> 5176 <em>(Optional)</em> 5177 <p>FallbackCertificate defines the namespace/name of the Kubernetes secret to 5178 use as fallback when a non-SNI request is received.</p> 5179 </td> 5180 </tr> 5181 </tbody> 5182 </table> 5183 <h3 id="projectcontour.io/v1alpha1.HTTPVersionType">HTTPVersionType 5184 (<code>string</code> alias)</h3> 5185 <p> 5186 (<em>Appears on:</em> 5187 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 5188 </p> 5189 <p> 5190 <p>HTTPVersionType is the name of a supported HTTP version.</p> 5191 </p> 5192 <h3 id="projectcontour.io/v1alpha1.HeadersPolicy">HeadersPolicy 5193 </h3> 5194 <p> 5195 (<em>Appears on:</em> 5196 <a href="#projectcontour.io/v1alpha1.PolicyConfig">PolicyConfig</a>) 5197 </p> 5198 <p> 5199 </p> 5200 <table class="table table-striped table-borderless" style="border:none"> 5201 <thead class="border-bottom"> 5202 <tr> 5203 <th>Field</th> 5204 <th>Description</th> 5205 </tr> 5206 </thead> 5207 <tbody class="border-top"> 5208 <tr> 5209 <td style="white-space:nowrap"> 5210 <code>set</code> 5211 <br> 5212 <em> 5213 map[string]string 5214 </em> 5215 </td> 5216 <td> 5217 <em>(Optional)</em> 5218 </td> 5219 </tr> 5220 <tr> 5221 <td style="white-space:nowrap"> 5222 <code>remove</code> 5223 <br> 5224 <em> 5225 []string 5226 </em> 5227 </td> 5228 <td> 5229 <em>(Optional)</em> 5230 </td> 5231 </tr> 5232 </tbody> 5233 </table> 5234 <h3 id="projectcontour.io/v1alpha1.HealthConfig">HealthConfig 5235 </h3> 5236 <p> 5237 (<em>Appears on:</em> 5238 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5239 </p> 5240 <p> 5241 <p>HealthConfig defines the endpoints Contour will serve to enable health checks.</p> 5242 </p> 5243 <table class="table table-striped table-borderless" style="border:none"> 5244 <thead class="border-bottom"> 5245 <tr> 5246 <th>Field</th> 5247 <th>Description</th> 5248 </tr> 5249 </thead> 5250 <tbody class="border-top"> 5251 <tr> 5252 <td style="white-space:nowrap"> 5253 <code>address</code> 5254 <br> 5255 <em> 5256 string 5257 </em> 5258 </td> 5259 <td> 5260 <p>Defines the Contour health address interface.</p> 5261 </td> 5262 </tr> 5263 <tr> 5264 <td style="white-space:nowrap"> 5265 <code>port</code> 5266 <br> 5267 <em> 5268 int 5269 </em> 5270 </td> 5271 <td> 5272 <p>Defines the Contour health port.</p> 5273 </td> 5274 </tr> 5275 </tbody> 5276 </table> 5277 <h3 id="projectcontour.io/v1alpha1.IngressConfig">IngressConfig 5278 </h3> 5279 <p> 5280 (<em>Appears on:</em> 5281 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5282 </p> 5283 <p> 5284 <p>IngressConfig defines ingress specific config items.</p> 5285 </p> 5286 <table class="table table-striped table-borderless" style="border:none"> 5287 <thead class="border-bottom"> 5288 <tr> 5289 <th>Field</th> 5290 <th>Description</th> 5291 </tr> 5292 </thead> 5293 <tbody class="border-top"> 5294 <tr> 5295 <td style="white-space:nowrap"> 5296 <code>className</code> 5297 <br> 5298 <em> 5299 string 5300 </em> 5301 </td> 5302 <td> 5303 <em>(Optional)</em> 5304 <p>Ingress Class Name Contour should use.</p> 5305 </td> 5306 </tr> 5307 <tr> 5308 <td style="white-space:nowrap"> 5309 <code>statusAddress</code> 5310 <br> 5311 <em> 5312 string 5313 </em> 5314 </td> 5315 <td> 5316 <em>(Optional)</em> 5317 <p>Address to set in Ingress object status.</p> 5318 </td> 5319 </tr> 5320 </tbody> 5321 </table> 5322 <h3 id="projectcontour.io/v1alpha1.LeaderElectionConfig">LeaderElectionConfig 5323 </h3> 5324 <p> 5325 (<em>Appears on:</em> 5326 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5327 </p> 5328 <p> 5329 <p>LeaderElectionConfig holds the config bits for leader election 5330 inside the config file.</p> 5331 </p> 5332 <table class="table table-striped table-borderless" style="border:none"> 5333 <thead class="border-bottom"> 5334 <tr> 5335 <th>Field</th> 5336 <th>Description</th> 5337 </tr> 5338 </thead> 5339 <tbody class="border-top"> 5340 <tr> 5341 <td style="white-space:nowrap"> 5342 <code>leaseDuration</code> 5343 <br> 5344 <em> 5345 string 5346 </em> 5347 </td> 5348 <td> 5349 <em>(Optional)</em> 5350 </td> 5351 </tr> 5352 <tr> 5353 <td style="white-space:nowrap"> 5354 <code>renewDeadline</code> 5355 <br> 5356 <em> 5357 string 5358 </em> 5359 </td> 5360 <td> 5361 <em>(Optional)</em> 5362 </td> 5363 </tr> 5364 <tr> 5365 <td style="white-space:nowrap"> 5366 <code>retryPeriod</code> 5367 <br> 5368 <em> 5369 string 5370 </em> 5371 </td> 5372 <td> 5373 <em>(Optional)</em> 5374 </td> 5375 </tr> 5376 <tr> 5377 <td style="white-space:nowrap"> 5378 <code>configmap</code> 5379 <br> 5380 <em> 5381 <a href="#projectcontour.io/v1alpha1.NamespacedName"> 5382 NamespacedName 5383 </a> 5384 </em> 5385 </td> 5386 <td> 5387 <em>(Optional)</em> 5388 </td> 5389 </tr> 5390 <tr> 5391 <td style="white-space:nowrap"> 5392 <code>disableLeaderElection</code> 5393 <br> 5394 <em> 5395 bool 5396 </em> 5397 </td> 5398 <td> 5399 </td> 5400 </tr> 5401 </tbody> 5402 </table> 5403 <h3 id="projectcontour.io/v1alpha1.LogLevel">LogLevel 5404 (<code>string</code> alias)</h3> 5405 <p> 5406 (<em>Appears on:</em> 5407 <a href="#projectcontour.io/v1alpha1.DebugConfig">DebugConfig</a>) 5408 </p> 5409 <p> 5410 <p>LogLevel is the logging levels available.</p> 5411 </p> 5412 <h3 id="projectcontour.io/v1alpha1.MetricsConfig">MetricsConfig 5413 </h3> 5414 <p> 5415 (<em>Appears on:</em> 5416 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>, 5417 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 5418 </p> 5419 <p> 5420 <p>MetricsConfig defines the metrics endpoint.</p> 5421 </p> 5422 <table class="table table-striped table-borderless" style="border:none"> 5423 <thead class="border-bottom"> 5424 <tr> 5425 <th>Field</th> 5426 <th>Description</th> 5427 </tr> 5428 </thead> 5429 <tbody class="border-top"> 5430 <tr> 5431 <td style="white-space:nowrap"> 5432 <code>address</code> 5433 <br> 5434 <em> 5435 string 5436 </em> 5437 </td> 5438 <td> 5439 <p>Defines the metrics address interface.</p> 5440 </td> 5441 </tr> 5442 <tr> 5443 <td style="white-space:nowrap"> 5444 <code>port</code> 5445 <br> 5446 <em> 5447 int 5448 </em> 5449 </td> 5450 <td> 5451 <p>Defines the metrics port.</p> 5452 </td> 5453 </tr> 5454 </tbody> 5455 </table> 5456 <h3 id="projectcontour.io/v1alpha1.NamespacedName">NamespacedName 5457 </h3> 5458 <p> 5459 (<em>Appears on:</em> 5460 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>, 5461 <a href="#projectcontour.io/v1alpha1.HTTPProxyConfig">HTTPProxyConfig</a>, 5462 <a href="#projectcontour.io/v1alpha1.LeaderElectionConfig">LeaderElectionConfig</a>, 5463 <a href="#projectcontour.io/v1alpha1.RateLimitServiceConfig">RateLimitServiceConfig</a>) 5464 </p> 5465 <p> 5466 <p>NamespacedName defines the namespace/name of the Kubernetes resource referred from the config file. 5467 Used for Contour config YAML file parsing, otherwise we could use K8s types.NamespacedName.</p> 5468 </p> 5469 <table class="table table-striped table-borderless" style="border:none"> 5470 <thead class="border-bottom"> 5471 <tr> 5472 <th>Field</th> 5473 <th>Description</th> 5474 </tr> 5475 </thead> 5476 <tbody class="border-top"> 5477 <tr> 5478 <td style="white-space:nowrap"> 5479 <code>name</code> 5480 <br> 5481 <em> 5482 string 5483 </em> 5484 </td> 5485 <td> 5486 </td> 5487 </tr> 5488 <tr> 5489 <td style="white-space:nowrap"> 5490 <code>namespace</code> 5491 <br> 5492 <em> 5493 string 5494 </em> 5495 </td> 5496 <td> 5497 </td> 5498 </tr> 5499 </tbody> 5500 </table> 5501 <h3 id="projectcontour.io/v1alpha1.NetworkParameters">NetworkParameters 5502 </h3> 5503 <p> 5504 (<em>Appears on:</em> 5505 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 5506 </p> 5507 <p> 5508 <p>NetworkParameters hold various configurable network values.</p> 5509 </p> 5510 <table class="table table-striped table-borderless" style="border:none"> 5511 <thead class="border-bottom"> 5512 <tr> 5513 <th>Field</th> 5514 <th>Description</th> 5515 </tr> 5516 </thead> 5517 <tbody class="border-top"> 5518 <tr> 5519 <td style="white-space:nowrap"> 5520 <code>numTrustedHops</code> 5521 <br> 5522 <em> 5523 uint32 5524 </em> 5525 </td> 5526 <td> 5527 <em>(Optional)</em> 5528 <p>XffNumTrustedHops defines the number of additional ingress proxy hops from the 5529 right side of the x-forwarded-for HTTP header to trust when determining the origin 5530 client’s IP address.</p> 5531 <p>See <a href="https://www.envoyproxy.io/docs/envoy/v1.17.0/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto?highlight=xff_num_trusted_hops">https://www.envoyproxy.io/docs/envoy/v1.17.0/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto?highlight=xff_num_trusted_hops</a> 5532 for more information.</p> 5533 </td> 5534 </tr> 5535 <tr> 5536 <td style="white-space:nowrap"> 5537 <code>adminPort</code> 5538 <br> 5539 <em> 5540 int 5541 </em> 5542 </td> 5543 <td> 5544 <p>Configure the port used to access the Envoy Admin interface. 5545 If configured to port “0” then the admin interface is disabled.</p> 5546 </td> 5547 </tr> 5548 </tbody> 5549 </table> 5550 <h3 id="projectcontour.io/v1alpha1.PolicyConfig">PolicyConfig 5551 </h3> 5552 <p> 5553 (<em>Appears on:</em> 5554 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5555 </p> 5556 <p> 5557 <p>PolicyConfig holds default policy used if not explicitly set by the user</p> 5558 </p> 5559 <table class="table table-striped table-borderless" style="border:none"> 5560 <thead class="border-bottom"> 5561 <tr> 5562 <th>Field</th> 5563 <th>Description</th> 5564 </tr> 5565 </thead> 5566 <tbody class="border-top"> 5567 <tr> 5568 <td style="white-space:nowrap"> 5569 <code>requestHeaders</code> 5570 <br> 5571 <em> 5572 <a href="#projectcontour.io/v1alpha1.HeadersPolicy"> 5573 HeadersPolicy 5574 </a> 5575 </em> 5576 </td> 5577 <td> 5578 <em>(Optional)</em> 5579 <p>RequestHeadersPolicy defines the request headers set/removed on all routes</p> 5580 </td> 5581 </tr> 5582 <tr> 5583 <td style="white-space:nowrap"> 5584 <code>responseHeaders</code> 5585 <br> 5586 <em> 5587 <a href="#projectcontour.io/v1alpha1.HeadersPolicy"> 5588 HeadersPolicy 5589 </a> 5590 </em> 5591 </td> 5592 <td> 5593 <em>(Optional)</em> 5594 <p>ResponseHeadersPolicy defines the response headers set/removed on all routes</p> 5595 </td> 5596 </tr> 5597 <tr> 5598 <td style="white-space:nowrap"> 5599 <code>applyToIngress</code> 5600 <br> 5601 <em> 5602 bool 5603 </em> 5604 </td> 5605 <td> 5606 <em>(Optional)</em> 5607 <p>ApplyToIngress determines if the Policies will apply to ingress objects</p> 5608 </td> 5609 </tr> 5610 </tbody> 5611 </table> 5612 <h3 id="projectcontour.io/v1alpha1.RateLimitServiceConfig">RateLimitServiceConfig 5613 </h3> 5614 <p> 5615 (<em>Appears on:</em> 5616 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5617 </p> 5618 <p> 5619 <p>RateLimitServiceConfig defines properties of a global Rate Limit Service.</p> 5620 </p> 5621 <table class="table table-striped table-borderless" style="border:none"> 5622 <thead class="border-bottom"> 5623 <tr> 5624 <th>Field</th> 5625 <th>Description</th> 5626 </tr> 5627 </thead> 5628 <tbody class="border-top"> 5629 <tr> 5630 <td style="white-space:nowrap"> 5631 <code>extensionService</code> 5632 <br> 5633 <em> 5634 <a href="#projectcontour.io/v1alpha1.NamespacedName"> 5635 NamespacedName 5636 </a> 5637 </em> 5638 </td> 5639 <td> 5640 <p>ExtensionService identifies the extension service defining the RLS.</p> 5641 </td> 5642 </tr> 5643 <tr> 5644 <td style="white-space:nowrap"> 5645 <code>domain</code> 5646 <br> 5647 <em> 5648 string 5649 </em> 5650 </td> 5651 <td> 5652 <p>Domain is passed to the Rate Limit Service.</p> 5653 </td> 5654 </tr> 5655 <tr> 5656 <td style="white-space:nowrap"> 5657 <code>failOpen</code> 5658 <br> 5659 <em> 5660 bool 5661 </em> 5662 </td> 5663 <td> 5664 <p>FailOpen defines whether to allow requests to proceed when the 5665 Rate Limit Service fails to respond with a valid rate limit 5666 decision within the timeout defined on the extension service.</p> 5667 </td> 5668 </tr> 5669 <tr> 5670 <td style="white-space:nowrap"> 5671 <code>enableXRateLimitHeaders</code> 5672 <br> 5673 <em> 5674 bool 5675 </em> 5676 </td> 5677 <td> 5678 <p>EnableXRateLimitHeaders defines whether to include the X-RateLimit 5679 headers X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset 5680 (as defined by the IETF Internet-Draft linked below), on responses 5681 to clients when the Rate Limit Service is consulted for a request.</p> 5682 <p>ref. <a href="https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html">https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html</a></p> 5683 </td> 5684 </tr> 5685 </tbody> 5686 </table> 5687 <h3 id="projectcontour.io/v1alpha1.TLS">TLS 5688 </h3> 5689 <p> 5690 (<em>Appears on:</em> 5691 <a href="#projectcontour.io/v1alpha1.XDSServerConfig">XDSServerConfig</a>) 5692 </p> 5693 <p> 5694 <p>TLS holds TLS file config details.</p> 5695 </p> 5696 <table class="table table-striped table-borderless" style="border:none"> 5697 <thead class="border-bottom"> 5698 <tr> 5699 <th>Field</th> 5700 <th>Description</th> 5701 </tr> 5702 </thead> 5703 <tbody class="border-top"> 5704 <tr> 5705 <td style="white-space:nowrap"> 5706 <code>caFile</code> 5707 <br> 5708 <em> 5709 string 5710 </em> 5711 </td> 5712 <td> 5713 <em>(Optional)</em> 5714 <p>CA filename.</p> 5715 </td> 5716 </tr> 5717 <tr> 5718 <td style="white-space:nowrap"> 5719 <code>certFile</code> 5720 <br> 5721 <em> 5722 string 5723 </em> 5724 </td> 5725 <td> 5726 <em>(Optional)</em> 5727 <p>Client certificate filename.</p> 5728 </td> 5729 </tr> 5730 <tr> 5731 <td style="white-space:nowrap"> 5732 <code>keyFile</code> 5733 <br> 5734 <em> 5735 string 5736 </em> 5737 </td> 5738 <td> 5739 <em>(Optional)</em> 5740 <p>Client key filename.</p> 5741 </td> 5742 </tr> 5743 <tr> 5744 <td style="white-space:nowrap"> 5745 <code>insecure</code> 5746 <br> 5747 <em> 5748 bool 5749 </em> 5750 </td> 5751 <td> 5752 <p>Allow serving the xDS gRPC API without TLS.</p> 5753 </td> 5754 </tr> 5755 </tbody> 5756 </table> 5757 <h3 id="projectcontour.io/v1alpha1.TLSCipherType">TLSCipherType 5758 (<code>string</code> alias)</h3> 5759 <p> 5760 (<em>Appears on:</em> 5761 <a href="#projectcontour.io/v1alpha1.EnvoyTLS">EnvoyTLS</a>) 5762 </p> 5763 <p> 5764 </p> 5765 <h3 id="projectcontour.io/v1alpha1.TimeoutParameters">TimeoutParameters 5766 </h3> 5767 <p> 5768 (<em>Appears on:</em> 5769 <a href="#projectcontour.io/v1alpha1.EnvoyConfig">EnvoyConfig</a>) 5770 </p> 5771 <p> 5772 <p>TimeoutParameters holds various configurable proxy timeout values.</p> 5773 </p> 5774 <table class="table table-striped table-borderless" style="border:none"> 5775 <thead class="border-bottom"> 5776 <tr> 5777 <th>Field</th> 5778 <th>Description</th> 5779 </tr> 5780 </thead> 5781 <tbody class="border-top"> 5782 <tr> 5783 <td style="white-space:nowrap"> 5784 <code>requestTimeout</code> 5785 <br> 5786 <em> 5787 string 5788 </em> 5789 </td> 5790 <td> 5791 <em>(Optional)</em> 5792 <p>RequestTimeout sets the client request timeout globally for Contour. Note that 5793 this is a timeout for the entire request, not an idle timeout. Omit or set to 5794 “infinity” to disable the timeout entirely.</p> 5795 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-request-timeout">https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-request-timeout</a> 5796 for more information.</p> 5797 </td> 5798 </tr> 5799 <tr> 5800 <td style="white-space:nowrap"> 5801 <code>connectionIdleTimeout</code> 5802 <br> 5803 <em> 5804 string 5805 </em> 5806 </td> 5807 <td> 5808 <em>(Optional)</em> 5809 <p>ConnectionIdleTimeout defines how long the proxy should wait while there are 5810 no active requests (for HTTP/1.1) or streams (for HTTP/2) before terminating 5811 an HTTP connection. Set to “infinity” to disable the timeout entirely.</p> 5812 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-idle-timeout">https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-idle-timeout</a> 5813 for more information.</p> 5814 </td> 5815 </tr> 5816 <tr> 5817 <td style="white-space:nowrap"> 5818 <code>streamIdleTimeout</code> 5819 <br> 5820 <em> 5821 string 5822 </em> 5823 </td> 5824 <td> 5825 <em>(Optional)</em> 5826 <p>StreamIdleTimeout defines how long the proxy should wait while there is no 5827 request activity (for HTTP/1.1) or stream activity (for HTTP/2) before 5828 terminating the HTTP request or stream. Set to “infinity” to disable the 5829 timeout entirely.</p> 5830 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-stream-idle-timeout">https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-stream-idle-timeout</a> 5831 for more information.</p> 5832 </td> 5833 </tr> 5834 <tr> 5835 <td style="white-space:nowrap"> 5836 <code>maxConnectionDuration</code> 5837 <br> 5838 <em> 5839 string 5840 </em> 5841 </td> 5842 <td> 5843 <em>(Optional)</em> 5844 <p>MaxConnectionDuration defines the maximum period of time after an HTTP connection 5845 has been established from the client to the proxy before it is closed by the proxy, 5846 regardless of whether there has been activity or not. Omit or set to “infinity” for 5847 no max duration.</p> 5848 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-max-connection-duration">https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/protocol.proto#envoy-v3-api-field-config-core-v3-httpprotocoloptions-max-connection-duration</a> 5849 for more information.</p> 5850 </td> 5851 </tr> 5852 <tr> 5853 <td style="white-space:nowrap"> 5854 <code>delayedCloseTimeout</code> 5855 <br> 5856 <em> 5857 string 5858 </em> 5859 </td> 5860 <td> 5861 <em>(Optional)</em> 5862 <p>DelayedCloseTimeout defines how long envoy will wait, once connection 5863 close processing has been initiated, for the downstream peer to close 5864 the connection before Envoy closes the socket associated with the connection.</p> 5865 <p>Setting this timeout to ‘infinity’ will disable it, equivalent to setting it to ‘0’ 5866 in Envoy. Leaving it unset will result in the Envoy default value being used.</p> 5867 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-delayed-close-timeout">https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-delayed-close-timeout</a> 5868 for more information.</p> 5869 </td> 5870 </tr> 5871 <tr> 5872 <td style="white-space:nowrap"> 5873 <code>connectionShutdownGracePeriod</code> 5874 <br> 5875 <em> 5876 string 5877 </em> 5878 </td> 5879 <td> 5880 <em>(Optional)</em> 5881 <p>ConnectionShutdownGracePeriod defines how long the proxy will wait between sending an 5882 initial GOAWAY frame and a second, final GOAWAY frame when terminating an HTTP/2 connection. 5883 During this grace period, the proxy will continue to respond to new streams. After the final 5884 GOAWAY frame has been sent, the proxy will refuse new streams.</p> 5885 <p>See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-drain-timeout">https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-drain-timeout</a> 5886 for more information.</p> 5887 </td> 5888 </tr> 5889 </tbody> 5890 </table> 5891 <h3 id="projectcontour.io/v1alpha1.XDSServerConfig">XDSServerConfig 5892 </h3> 5893 <p> 5894 (<em>Appears on:</em> 5895 <a href="#projectcontour.io/v1alpha1.ContourConfigurationSpec">ContourConfigurationSpec</a>) 5896 </p> 5897 <p> 5898 <p>XDSServerConfig holds the config for the Contour xDS server.</p> 5899 </p> 5900 <table class="table table-striped table-borderless" style="border:none"> 5901 <thead class="border-bottom"> 5902 <tr> 5903 <th>Field</th> 5904 <th>Description</th> 5905 </tr> 5906 </thead> 5907 <tbody class="border-top"> 5908 <tr> 5909 <td style="white-space:nowrap"> 5910 <code>type</code> 5911 <br> 5912 <em> 5913 <a href="#projectcontour.io/v1alpha1.XDSServerType"> 5914 XDSServerType 5915 </a> 5916 </em> 5917 </td> 5918 <td> 5919 <p>Defines the XDSServer to use for <code>contour serve</code>.</p> 5920 </td> 5921 </tr> 5922 <tr> 5923 <td style="white-space:nowrap"> 5924 <code>address</code> 5925 <br> 5926 <em> 5927 string 5928 </em> 5929 </td> 5930 <td> 5931 <p>Defines the xDS gRPC API address which Contour will serve.</p> 5932 </td> 5933 </tr> 5934 <tr> 5935 <td style="white-space:nowrap"> 5936 <code>port</code> 5937 <br> 5938 <em> 5939 int 5940 </em> 5941 </td> 5942 <td> 5943 <p>Defines the xDS gRPC API port which Contour will serve.</p> 5944 </td> 5945 </tr> 5946 <tr> 5947 <td style="white-space:nowrap"> 5948 <code>tls</code> 5949 <br> 5950 <em> 5951 <a href="#projectcontour.io/v1alpha1.TLS"> 5952 TLS 5953 </a> 5954 </em> 5955 </td> 5956 <td> 5957 <em>(Optional)</em> 5958 <p>TLS holds TLS file config details.</p> 5959 </td> 5960 </tr> 5961 </tbody> 5962 </table> 5963 <h3 id="projectcontour.io/v1alpha1.XDSServerType">XDSServerType 5964 (<code>string</code> alias)</h3> 5965 <p> 5966 (<em>Appears on:</em> 5967 <a href="#projectcontour.io/v1alpha1.XDSServerConfig">XDSServerConfig</a>) 5968 </p> 5969 <p> 5970 <p>XDSServerType is the type of xDS server implementation.</p> 5971 </p> 5972 <hr/> 5973 <p><em> 5974 Generated with <code>gen-crd-api-reference-docs</code>. 5975 </em></p>