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&rsquo;ve inadvertently overloaded the word &ldquo;Condition&rdquo;, so we&rsquo;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 &ldquo;root&rdquo; 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 &ldquo;ns&rdquo;, &ldquo;us&rdquo; (or &ldquo;µs&rdquo;), &ldquo;ms&rdquo;, &ldquo;s&rdquo;, &ldquo;m&rdquo;, &ldquo;h&rdquo;.
   393  The string &ldquo;infinity&rdquo; 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. &ldquo;*&rdquo; 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 &ldquo;ns&rdquo;, &ldquo;us&rdquo; (or &ldquo;µs&rdquo;), &ldquo;ms&rdquo;, &ldquo;s&rdquo;, &ldquo;m&rdquo;, &ldquo;h&rdquo;.
   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&rsquo;
   571  is ignored. If the TargetNamespace list contains the character, &ldquo;*&rdquo;
   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 &ldquo;projectcontour.io/v1alpha1&rdquo; 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 &ldquo;generic_key&rdquo;.</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 &ldquo;contour-envoy-healthcheck&rdquo;
  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 &ldquo;root&rdquo; 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  &ldquo;second&rdquo;, &ldquo;minute&rdquo; and &ldquo;hour&rdquo;.</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&rsquo;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&rsquo;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&rsquo;s populated
  1942  if the request&rsquo;s headers match a set of 1+ match criteria. The
  1943  descriptor key is &ldquo;header_match&rdquo;, 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 &ldquo;remote_address&rdquo;
  1959  and a value equal to the client&rsquo;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  &ldquo;remote_address&rdquo; and a value equal to the client&rsquo;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&rsquo;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&rsquo;s populated
  2186  if the request&rsquo;s headers match a set of 1+ match criteria. The descriptor key
  2187  is &ldquo;header_match&rdquo;, 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 &lsquo;Host&rsquo; 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&rsquo;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 &lsquo;Host&rsquo; 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 &lsquo;Host&rsquo; 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 &ldquo;ErrorPresent: true&rdquo;.</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&rsquo;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&rsquo;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&rsquo;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&rsquo;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 &ldquo;ns&rdquo;, &ldquo;us&rdquo; (or &ldquo;µs&rdquo;), &ldquo;ms&rdquo;, &ldquo;s&rdquo;, &ldquo;m&rdquo;, &ldquo;h&rdquo;.
  3210  The string &ldquo;infinity&rdquo; is also a valid input and specifies no timeout.
  3211  A value of &ldquo;0s&rdquo; will be treated as if the field were not set, i.e. by using Envoy&rsquo;s default behavior.</p>
  3212  <p>Example input values: &ldquo;300ms&rdquo;, &ldquo;5s&rdquo;, &ldquo;1m&rdquo;.</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&rsquo;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&rsquo;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 &lsquo;subjectAltName&rsquo; 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 &ldquo;root&rdquo;.</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&rsquo;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 &ldquo;v3&rdquo;. 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&rsquo;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 &ldquo;HTTP/xx&rdquo;. Supported versions are
  4567  &ldquo;HTTP/1.1&rdquo; and &ldquo;HTTP/2&rdquo;.</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 &ldquo;Content-Length&rdquo; header if &ldquo;Transfer-Encoding: chunked&rdquo; is
  4712  also set. This is an emergency off-switch to revert back to Envoy&rsquo;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&rsquo;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 &lsquo;envoy&rsquo; or &lsquo;json&rsquo;</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&rsquo;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 &ldquo;v3&rdquo;.</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&rsquo;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 &ldquo;v3&rdquo;. 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 &ldquo;projectcontour.io/<namespace>/contour&rdquo;.
  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 &ldquo;0&rdquo; 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  &ldquo;infinity&rdquo; 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 &ldquo;infinity&rdquo; 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 &ldquo;infinity&rdquo; 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 &ldquo;infinity&rdquo; 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 &lsquo;infinity&rsquo; will disable it, equivalent to setting it to &lsquo;0&rsquo;
  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>