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