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