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