github.com/projectcontour/contour@v1.28.2/site/content/docs/v1.18.2/config/api-reference.html (about)

     1  <p>Packages:</p>
     2  <ul>
     3  <li>
     4  <a href="#projectcontour.io%2fv1">projectcontour.io/v1</a>
     5  </li>
     6  <li>
     7  <a href="#projectcontour.io%2fv1alpha1">projectcontour.io/v1alpha1</a>
     8  </li>
     9  </ul>
    10  <h2 id="projectcontour.io/v1">projectcontour.io/v1</h2>
    11  <p>
    12  <p>Package v1 holds the specification for the projectcontour.io Custom Resource Definitions (CRDs).</p>
    13  <p>In building this CRD, we&rsquo;ve inadvertently overloaded the word &ldquo;Condition&rdquo;, so we&rsquo;ve tried to make
    14  this spec clear as to which types of condition are which.</p>
    15  <p><code>MatchConditions</code> are used by <code>Routes</code> and <code>Includes</code> to specify rules to match requests against for either
    16  routing or inclusion.</p>
    17  <p><code>DetailedConditions</code> are used in the <code>Status</code> of these objects to hold information about the relevant
    18  state of the object and the world around it.</p>
    19  <p><code>SubConditions</code> are used underneath <code>DetailedConditions</code> to give more detail to errors or warnings.</p>
    20  </p>
    21  Resource Types:
    22  <ul><li>
    23  <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>
    24  </li><li>
    25  <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>
    26  </li></ul>
    27  <h3 id="projectcontour.io/v1.HTTPProxy">HTTPProxy
    28  </h3>
    29  <p>
    30  <p>HTTPProxy is an Ingress CRD specification.</p>
    31  </p>
    32  <table class="table table-striped table-borderless" style="border:none">
    33  <thead class="border-bottom">
    34  <tr>
    35  <th>Field</th>
    36  <th>Description</th>
    37  </tr>
    38  </thead>
    39  <tbody class="border-top">
    40  <tr>
    41  <td>
    42  <code>apiVersion</code>
    43  <br>
    44  string</td>
    45  <td>
    46  <code>
    47  projectcontour.io/v1
    48  </code>
    49  </td>
    50  </tr>
    51  <tr>
    52  <td>
    53  <code>kind</code>
    54  <br>
    55  string
    56  </td>
    57  <td><code>HTTPProxy</code></td>
    58  </tr>
    59  <tr>
    60  <td style="white-space:nowrap">
    61  <code>metadata</code>
    62  <br>
    63  <em>
    64  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta">
    65  Kubernetes meta/v1.ObjectMeta
    66  </a>
    67  </em>
    68  </td>
    69  <td>
    70  Refer to the Kubernetes API documentation for the fields of the
    71  <code>metadata</code> field.
    72  </td>
    73  </tr>
    74  <tr>
    75  <td style="white-space:nowrap">
    76  <code>spec</code>
    77  <br>
    78  <em>
    79  <a href="#projectcontour.io/v1.HTTPProxySpec">
    80  HTTPProxySpec
    81  </a>
    82  </em>
    83  </td>
    84  <td>
    85  <br>
    86  <br>
    87  <table style="border:none">
    88  <tr>
    89  <td style="white-space:nowrap">
    90  <code>virtualhost</code>
    91  <br>
    92  <em>
    93  <a href="#projectcontour.io/v1.VirtualHost">
    94  VirtualHost
    95  </a>
    96  </em>
    97  </td>
    98  <td>
    99  <em>(Optional)</em>
   100  <p>Virtualhost appears at most once. If it is present, the object is considered
   101  to be a &ldquo;root&rdquo; HTTPProxy.</p>
   102  </td>
   103  </tr>
   104  <tr>
   105  <td style="white-space:nowrap">
   106  <code>routes</code>
   107  <br>
   108  <em>
   109  <a href="#projectcontour.io/v1.Route">
   110  []Route
   111  </a>
   112  </em>
   113  </td>
   114  <td>
   115  <em>(Optional)</em>
   116  <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p>
   117  </td>
   118  </tr>
   119  <tr>
   120  <td style="white-space:nowrap">
   121  <code>tcpproxy</code>
   122  <br>
   123  <em>
   124  <a href="#projectcontour.io/v1.TCPProxy">
   125  TCPProxy
   126  </a>
   127  </em>
   128  </td>
   129  <td>
   130  <em>(Optional)</em>
   131  <p>TCPProxy holds TCP proxy information.</p>
   132  </td>
   133  </tr>
   134  <tr>
   135  <td style="white-space:nowrap">
   136  <code>includes</code>
   137  <br>
   138  <em>
   139  <a href="#projectcontour.io/v1.Include">
   140  []Include
   141  </a>
   142  </em>
   143  </td>
   144  <td>
   145  <em>(Optional)</em>
   146  <p>Includes allow for specific routing configuration to be included from another HTTPProxy,
   147  possibly in another namespace.</p>
   148  </td>
   149  </tr>
   150  <tr>
   151  <td style="white-space:nowrap">
   152  <code>ingressClassName</code>
   153  <br>
   154  <em>
   155  string
   156  </em>
   157  </td>
   158  <td>
   159  <em>(Optional)</em>
   160  <p>IngressClassName optionally specifies the ingress class to use for this
   161  HTTPProxy. This replaces the deprecated <code>kubernetes.io/ingress.class</code>
   162  annotation. For backwards compatibility, when that annotation is set, it
   163  is given precedence over this field.</p>
   164  </td>
   165  </tr>
   166  </table>
   167  </td>
   168  </tr>
   169  <tr>
   170  <td style="white-space:nowrap">
   171  <code>status</code>
   172  <br>
   173  <em>
   174  <a href="#projectcontour.io/v1.HTTPProxyStatus">
   175  HTTPProxyStatus
   176  </a>
   177  </em>
   178  </td>
   179  <td>
   180  <em>(Optional)</em>
   181  <p>Status is a container for computed information about the HTTPProxy.</p>
   182  </td>
   183  </tr>
   184  </tbody>
   185  </table>
   186  <h3 id="projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation
   187  </h3>
   188  <p>
   189  <p>TLSCertificateDelegation is an TLS Certificate Delegation CRD specification.
   190  See design/tls-certificate-delegation.md for details.</p>
   191  </p>
   192  <table class="table table-striped table-borderless" style="border:none">
   193  <thead class="border-bottom">
   194  <tr>
   195  <th>Field</th>
   196  <th>Description</th>
   197  </tr>
   198  </thead>
   199  <tbody class="border-top">
   200  <tr>
   201  <td>
   202  <code>apiVersion</code>
   203  <br>
   204  string</td>
   205  <td>
   206  <code>
   207  projectcontour.io/v1
   208  </code>
   209  </td>
   210  </tr>
   211  <tr>
   212  <td>
   213  <code>kind</code>
   214  <br>
   215  string
   216  </td>
   217  <td><code>TLSCertificateDelegation</code></td>
   218  </tr>
   219  <tr>
   220  <td style="white-space:nowrap">
   221  <code>metadata</code>
   222  <br>
   223  <em>
   224  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta">
   225  Kubernetes meta/v1.ObjectMeta
   226  </a>
   227  </em>
   228  </td>
   229  <td>
   230  Refer to the Kubernetes API documentation for the fields of the
   231  <code>metadata</code> field.
   232  </td>
   233  </tr>
   234  <tr>
   235  <td style="white-space:nowrap">
   236  <code>spec</code>
   237  <br>
   238  <em>
   239  <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec">
   240  TLSCertificateDelegationSpec
   241  </a>
   242  </em>
   243  </td>
   244  <td>
   245  <br>
   246  <br>
   247  <table style="border:none">
   248  <tr>
   249  <td style="white-space:nowrap">
   250  <code>delegations</code>
   251  <br>
   252  <em>
   253  <a href="#projectcontour.io/v1.CertificateDelegation">
   254  []CertificateDelegation
   255  </a>
   256  </em>
   257  </td>
   258  <td>
   259  </td>
   260  </tr>
   261  </table>
   262  </td>
   263  </tr>
   264  <tr>
   265  <td style="white-space:nowrap">
   266  <code>status</code>
   267  <br>
   268  <em>
   269  <a href="#projectcontour.io/v1.TLSCertificateDelegationStatus">
   270  TLSCertificateDelegationStatus
   271  </a>
   272  </em>
   273  </td>
   274  <td>
   275  <em>(Optional)</em>
   276  </td>
   277  </tr>
   278  </tbody>
   279  </table>
   280  <h3 id="projectcontour.io/v1.AuthorizationPolicy">AuthorizationPolicy
   281  </h3>
   282  <p>
   283  (<em>Appears on:</em>
   284  <a href="#projectcontour.io/v1.AuthorizationServer">AuthorizationServer</a>, 
   285  <a href="#projectcontour.io/v1.Route">Route</a>)
   286  </p>
   287  <p>
   288  <p>AuthorizationPolicy modifies how client requests are authenticated.</p>
   289  </p>
   290  <table class="table table-striped table-borderless" style="border:none">
   291  <thead class="border-bottom">
   292  <tr>
   293  <th>Field</th>
   294  <th>Description</th>
   295  </tr>
   296  </thead>
   297  <tbody class="border-top">
   298  <tr>
   299  <td style="white-space:nowrap">
   300  <code>disabled</code>
   301  <br>
   302  <em>
   303  bool
   304  </em>
   305  </td>
   306  <td>
   307  <em>(Optional)</em>
   308  <p>When true, this field disables client request authentication
   309  for the scope of the policy.</p>
   310  </td>
   311  </tr>
   312  <tr>
   313  <td style="white-space:nowrap">
   314  <code>context</code>
   315  <br>
   316  <em>
   317  map[string]string
   318  </em>
   319  </td>
   320  <td>
   321  <em>(Optional)</em>
   322  <p>Context is a set of key/value pairs that are sent to the
   323  authentication server in the check request. If a context
   324  is provided at an enclosing scope, the entries are merged
   325  such that the inner scope overrides matching keys from the
   326  outer scope.</p>
   327  </td>
   328  </tr>
   329  </tbody>
   330  </table>
   331  <h3 id="projectcontour.io/v1.AuthorizationServer">AuthorizationServer
   332  </h3>
   333  <p>
   334  (<em>Appears on:</em>
   335  <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>)
   336  </p>
   337  <p>
   338  <p>AuthorizationServer configures an external server to authenticate
   339  client requests. The external server must implement the v3 Envoy
   340  external authorization GRPC protocol (<a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/external_auth.proto">https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/external_auth.proto</a>).</p>
   341  </p>
   342  <table class="table table-striped table-borderless" style="border:none">
   343  <thead class="border-bottom">
   344  <tr>
   345  <th>Field</th>
   346  <th>Description</th>
   347  </tr>
   348  </thead>
   349  <tbody class="border-top">
   350  <tr>
   351  <td style="white-space:nowrap">
   352  <code>extensionRef</code>
   353  <br>
   354  <em>
   355  <a href="#projectcontour.io/v1.ExtensionServiceReference">
   356  ExtensionServiceReference
   357  </a>
   358  </em>
   359  </td>
   360  <td>
   361  <p>ExtensionServiceRef specifies the extension resource that will authorize client requests.</p>
   362  </td>
   363  </tr>
   364  <tr>
   365  <td style="white-space:nowrap">
   366  <code>authPolicy</code>
   367  <br>
   368  <em>
   369  <a href="#projectcontour.io/v1.AuthorizationPolicy">
   370  AuthorizationPolicy
   371  </a>
   372  </em>
   373  </td>
   374  <td>
   375  <em>(Optional)</em>
   376  <p>AuthPolicy sets a default authorization policy for client requests.
   377  This policy will be used unless overridden by individual routes.</p>
   378  </td>
   379  </tr>
   380  <tr>
   381  <td style="white-space:nowrap">
   382  <code>responseTimeout</code>
   383  <br>
   384  <em>
   385  string
   386  </em>
   387  </td>
   388  <td>
   389  <em>(Optional)</em>
   390  <p>ResponseTimeout configures maximum time to wait for a check response from the authorization server.
   391  Timeout durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>.
   392  Valid time units are &ldquo;ns&rdquo;, &ldquo;us&rdquo; (or &ldquo;µs&rdquo;), &ldquo;ms&rdquo;, &ldquo;s&rdquo;, &ldquo;m&rdquo;, &ldquo;h&rdquo;.
   393  The string &ldquo;infinity&rdquo; is also a valid input and specifies no timeout.</p>
   394  </td>
   395  </tr>
   396  <tr>
   397  <td style="white-space:nowrap">
   398  <code>failOpen</code>
   399  <br>
   400  <em>
   401  bool
   402  </em>
   403  </td>
   404  <td>
   405  <em>(Optional)</em>
   406  <p>If FailOpen is true, the client request is forwarded to the upstream service
   407  even if the authorization server fails to respond. This field should not be
   408  set in most cases. It is intended for use only while migrating applications
   409  from internal authorization to Contour external authorization.</p>
   410  </td>
   411  </tr>
   412  </tbody>
   413  </table>
   414  <h3 id="projectcontour.io/v1.CORSHeaderValue">CORSHeaderValue
   415  (<code>string</code> alias)</h3>
   416  <p>
   417  (<em>Appears on:</em>
   418  <a href="#projectcontour.io/v1.CORSPolicy">CORSPolicy</a>)
   419  </p>
   420  <p>
   421  <p>CORSHeaderValue specifies the value of the string headers returned by a cross-domain request.</p>
   422  </p>
   423  <h3 id="projectcontour.io/v1.CORSPolicy">CORSPolicy
   424  </h3>
   425  <p>
   426  (<em>Appears on:</em>
   427  <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>)
   428  </p>
   429  <p>
   430  <p>CORSPolicy allows setting the CORS policy</p>
   431  </p>
   432  <table class="table table-striped table-borderless" style="border:none">
   433  <thead class="border-bottom">
   434  <tr>
   435  <th>Field</th>
   436  <th>Description</th>
   437  </tr>
   438  </thead>
   439  <tbody class="border-top">
   440  <tr>
   441  <td style="white-space:nowrap">
   442  <code>allowCredentials</code>
   443  <br>
   444  <em>
   445  bool
   446  </em>
   447  </td>
   448  <td>
   449  <em>(Optional)</em>
   450  <p>Specifies whether the resource allows credentials.</p>
   451  </td>
   452  </tr>
   453  <tr>
   454  <td style="white-space:nowrap">
   455  <code>allowOrigin</code>
   456  <br>
   457  <em>
   458  []string
   459  </em>
   460  </td>
   461  <td>
   462  <p>AllowOrigin specifies the origins that will be allowed to do CORS requests. &ldquo;*&rdquo; means
   463  allow any origin.</p>
   464  </td>
   465  </tr>
   466  <tr>
   467  <td style="white-space:nowrap">
   468  <code>allowMethods</code>
   469  <br>
   470  <em>
   471  <a href="#projectcontour.io/v1.CORSHeaderValue">
   472  []CORSHeaderValue
   473  </a>
   474  </em>
   475  </td>
   476  <td>
   477  <p>AllowMethods specifies the content for the <em>access-control-allow-methods</em> header.</p>
   478  </td>
   479  </tr>
   480  <tr>
   481  <td style="white-space:nowrap">
   482  <code>allowHeaders</code>
   483  <br>
   484  <em>
   485  <a href="#projectcontour.io/v1.CORSHeaderValue">
   486  []CORSHeaderValue
   487  </a>
   488  </em>
   489  </td>
   490  <td>
   491  <em>(Optional)</em>
   492  <p>AllowHeaders specifies the content for the <em>access-control-allow-headers</em> header.</p>
   493  </td>
   494  </tr>
   495  <tr>
   496  <td style="white-space:nowrap">
   497  <code>exposeHeaders</code>
   498  <br>
   499  <em>
   500  <a href="#projectcontour.io/v1.CORSHeaderValue">
   501  []CORSHeaderValue
   502  </a>
   503  </em>
   504  </td>
   505  <td>
   506  <em>(Optional)</em>
   507  <p>ExposeHeaders Specifies the content for the <em>access-control-expose-headers</em> header.</p>
   508  </td>
   509  </tr>
   510  <tr>
   511  <td style="white-space:nowrap">
   512  <code>maxAge</code>
   513  <br>
   514  <em>
   515  string
   516  </em>
   517  </td>
   518  <td>
   519  <em>(Optional)</em>
   520  <p>MaxAge indicates for how long the results of a preflight request can be cached.
   521  MaxAge durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>.
   522  Valid time units are &ldquo;ns&rdquo;, &ldquo;us&rdquo; (or &ldquo;µs&rdquo;), &ldquo;ms&rdquo;, &ldquo;s&rdquo;, &ldquo;m&rdquo;, &ldquo;h&rdquo;.
   523  Only positive values are allowed while 0 disables the cache requiring a preflight OPTIONS
   524  check for all cross-origin requests.</p>
   525  </td>
   526  </tr>
   527  </tbody>
   528  </table>
   529  <h3 id="projectcontour.io/v1.CertificateDelegation">CertificateDelegation
   530  </h3>
   531  <p>
   532  (<em>Appears on:</em>
   533  <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec</a>)
   534  </p>
   535  <p>
   536  <p>CertificateDelegation maps the authority to reference a secret
   537  in the current namespace to a set of namespaces.</p>
   538  </p>
   539  <table class="table table-striped table-borderless" style="border:none">
   540  <thead class="border-bottom">
   541  <tr>
   542  <th>Field</th>
   543  <th>Description</th>
   544  </tr>
   545  </thead>
   546  <tbody class="border-top">
   547  <tr>
   548  <td style="white-space:nowrap">
   549  <code>secretName</code>
   550  <br>
   551  <em>
   552  string
   553  </em>
   554  </td>
   555  <td>
   556  <p>required, the name of a secret in the current namespace.</p>
   557  </td>
   558  </tr>
   559  <tr>
   560  <td style="white-space:nowrap">
   561  <code>targetNamespaces</code>
   562  <br>
   563  <em>
   564  []string
   565  </em>
   566  </td>
   567  <td>
   568  <p>required, the namespaces the authority to reference the
   569  the secret will be delegated to.
   570  If TargetNamespaces is nil or empty, the CertificateDelegation&rsquo;
   571  is ignored. If the TargetNamespace list contains the character, &ldquo;*&rdquo;
   572  the secret will be delegated to all namespaces.</p>
   573  </td>
   574  </tr>
   575  </tbody>
   576  </table>
   577  <h3 id="projectcontour.io/v1.DetailedCondition">DetailedCondition
   578  </h3>
   579  <p>
   580  (<em>Appears on:</em>
   581  <a href="#projectcontour.io/v1.HTTPProxyStatus">HTTPProxyStatus</a>, 
   582  <a href="#projectcontour.io/v1.TLSCertificateDelegationStatus">TLSCertificateDelegationStatus</a>, 
   583  <a href="#projectcontour.io/v1alpha1.ExtensionServiceStatus">ExtensionServiceStatus</a>)
   584  </p>
   585  <p>
   586  <p>DetailedCondition is an extension of the normal Kubernetes conditions, with two extra
   587  fields to hold sub-conditions, which provide more detailed reasons for the state (True or False)
   588  of the condition.</p>
   589  <p><code>errors</code> holds information about sub-conditions which are fatal to that condition and render its state False.</p>
   590  <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>
   591  <p>Remember that Conditions have a type, a status, and a reason.</p>
   592  <p>The type is the type of the condition, the most important one in this CRD set is <code>Valid</code>.
   593  <code>Valid</code> is a positive-polarity condition: when it is <code>status: true</code> there are no problems.</p>
   594  <p>In more detail, <code>status: true</code> means that the object is has been ingested into Contour with no errors.
   595  <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>
   596  slice in this case.</p>
   597  <p><code>Valid</code>, <code>status: false</code> means that the object has had one or more fatal errors during processing into Contour.
   598  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>
   599  slice if <code>status</code> is <code>false</code>.</p>
   600  <p>For DetailedConditions of types other than <code>Valid</code>, the Condition must be in the negative polarity.
   601  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.
   602  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.
   603  In either case, there may be entries in the <code>warnings</code> slice.</p>
   604  <p>Regardless of the polarity, the <code>reason</code> and <code>message</code> fields must be updated with either the detail of the reason
   605  (if there is one and only one entry in total across both the <code>errors</code> and <code>warnings</code> slices), or
   606  <code>MultipleReasons</code> if there is more than one entry.</p>
   607  </p>
   608  <table class="table table-striped table-borderless" style="border:none">
   609  <thead class="border-bottom">
   610  <tr>
   611  <th>Field</th>
   612  <th>Description</th>
   613  </tr>
   614  </thead>
   615  <tbody class="border-top">
   616  <tr>
   617  <td style="white-space:nowrap">
   618  <code>Condition</code>
   619  <br>
   620  <em>
   621  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#condition-v1-meta">
   622  Kubernetes meta/v1.Condition
   623  </a>
   624  </em>
   625  </td>
   626  <td>
   627  <p>
   628  (Members of <code>Condition</code> are embedded into this type.)
   629  </p>
   630  </td>
   631  </tr>
   632  <tr>
   633  <td style="white-space:nowrap">
   634  <code>errors</code>
   635  <br>
   636  <em>
   637  <a href="#projectcontour.io/v1.SubCondition">
   638  []SubCondition
   639  </a>
   640  </em>
   641  </td>
   642  <td>
   643  <em>(Optional)</em>
   644  <p>Errors contains a slice of relevant error subconditions for this object.</p>
   645  <p>Subconditions are expected to appear when relevant (when there is a error), and disappear when not relevant.
   646  An empty slice here indicates no errors.</p>
   647  </td>
   648  </tr>
   649  <tr>
   650  <td style="white-space:nowrap">
   651  <code>warnings</code>
   652  <br>
   653  <em>
   654  <a href="#projectcontour.io/v1.SubCondition">
   655  []SubCondition
   656  </a>
   657  </em>
   658  </td>
   659  <td>
   660  <em>(Optional)</em>
   661  <p>Warnings contains a slice of relevant warning subconditions for this object.</p>
   662  <p>Subconditions are expected to appear when relevant (when there is a warning), and disappear when not relevant.
   663  An empty slice here indicates no warnings.</p>
   664  </td>
   665  </tr>
   666  </tbody>
   667  </table>
   668  <h3 id="projectcontour.io/v1.DownstreamValidation">DownstreamValidation
   669  </h3>
   670  <p>
   671  (<em>Appears on:</em>
   672  <a href="#projectcontour.io/v1.TLS">TLS</a>)
   673  </p>
   674  <p>
   675  <p>DownstreamValidation defines how to verify the client certificate.</p>
   676  </p>
   677  <table class="table table-striped table-borderless" style="border:none">
   678  <thead class="border-bottom">
   679  <tr>
   680  <th>Field</th>
   681  <th>Description</th>
   682  </tr>
   683  </thead>
   684  <tbody class="border-top">
   685  <tr>
   686  <td style="white-space:nowrap">
   687  <code>caSecret</code>
   688  <br>
   689  <em>
   690  string
   691  </em>
   692  </td>
   693  <td>
   694  <em>(Optional)</em>
   695  <p>Name of a Kubernetes secret that contains a CA certificate bundle.
   696  The client certificate must validate against the certificates in the bundle.
   697  If specified and SkipClientCertValidation is true, client certificates will
   698  be required on requests.</p>
   699  </td>
   700  </tr>
   701  <tr>
   702  <td style="white-space:nowrap">
   703  <code>skipClientCertValidation</code>
   704  <br>
   705  <em>
   706  bool
   707  </em>
   708  </td>
   709  <td>
   710  <em>(Optional)</em>
   711  <p>SkipClientCertValidation disables downstream client certificate
   712  validation. Defaults to false. This field is intended to be used in
   713  conjunction with external authorization in order to enable the external
   714  authorization server to validate client certificates. When this field
   715  is set to true, client certificates are requested but not verified by
   716  Envoy. If CACertificate is specified, client certificates are required on
   717  requests, but not verified. If external authorization is in use, they are
   718  presented to the external authorization server.</p>
   719  </td>
   720  </tr>
   721  </tbody>
   722  </table>
   723  <h3 id="projectcontour.io/v1.ExtensionServiceReference">ExtensionServiceReference
   724  </h3>
   725  <p>
   726  (<em>Appears on:</em>
   727  <a href="#projectcontour.io/v1.AuthorizationServer">AuthorizationServer</a>)
   728  </p>
   729  <p>
   730  <p>ExtensionServiceReference names an ExtensionService resource.</p>
   731  </p>
   732  <table class="table table-striped table-borderless" style="border:none">
   733  <thead class="border-bottom">
   734  <tr>
   735  <th>Field</th>
   736  <th>Description</th>
   737  </tr>
   738  </thead>
   739  <tbody class="border-top">
   740  <tr>
   741  <td style="white-space:nowrap">
   742  <code>apiVersion</code>
   743  <br>
   744  <em>
   745  string
   746  </em>
   747  </td>
   748  <td>
   749  <em>(Optional)</em>
   750  <p>API version of the referent.
   751  If this field is not specified, the default &ldquo;projectcontour.io/v1alpha1&rdquo; will be used</p>
   752  </td>
   753  </tr>
   754  <tr>
   755  <td style="white-space:nowrap">
   756  <code>namespace</code>
   757  <br>
   758  <em>
   759  string
   760  </em>
   761  </td>
   762  <td>
   763  <em>(Optional)</em>
   764  <p>Namespace of the referent.
   765  If this field is not specifies, the namespace of the resource that targets the referent will be used.</p>
   766  <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>
   767  </td>
   768  </tr>
   769  <tr>
   770  <td style="white-space:nowrap">
   771  <code>name</code>
   772  <br>
   773  <em>
   774  string
   775  </em>
   776  </td>
   777  <td>
   778  <p>Name of the referent.</p>
   779  <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>
   780  </td>
   781  </tr>
   782  </tbody>
   783  </table>
   784  <h3 id="projectcontour.io/v1.GenericKeyDescriptor">GenericKeyDescriptor
   785  </h3>
   786  <p>
   787  (<em>Appears on:</em>
   788  <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>)
   789  </p>
   790  <p>
   791  <p>GenericKeyDescriptor defines a descriptor entry with a static key and
   792  value.</p>
   793  </p>
   794  <table class="table table-striped table-borderless" style="border:none">
   795  <thead class="border-bottom">
   796  <tr>
   797  <th>Field</th>
   798  <th>Description</th>
   799  </tr>
   800  </thead>
   801  <tbody class="border-top">
   802  <tr>
   803  <td style="white-space:nowrap">
   804  <code>key</code>
   805  <br>
   806  <em>
   807  string
   808  </em>
   809  </td>
   810  <td>
   811  <em>(Optional)</em>
   812  <p>Key defines the key of the descriptor entry. If not set, the
   813  key is set to &ldquo;generic_key&rdquo;.</p>
   814  </td>
   815  </tr>
   816  <tr>
   817  <td style="white-space:nowrap">
   818  <code>value</code>
   819  <br>
   820  <em>
   821  string
   822  </em>
   823  </td>
   824  <td>
   825  <p>Value defines the value of the descriptor entry.</p>
   826  </td>
   827  </tr>
   828  </tbody>
   829  </table>
   830  <h3 id="projectcontour.io/v1.GlobalRateLimitPolicy">GlobalRateLimitPolicy
   831  </h3>
   832  <p>
   833  (<em>Appears on:</em>
   834  <a href="#projectcontour.io/v1.RateLimitPolicy">RateLimitPolicy</a>)
   835  </p>
   836  <p>
   837  <p>GlobalRateLimitPolicy defines global rate limiting parameters.</p>
   838  </p>
   839  <table class="table table-striped table-borderless" style="border:none">
   840  <thead class="border-bottom">
   841  <tr>
   842  <th>Field</th>
   843  <th>Description</th>
   844  </tr>
   845  </thead>
   846  <tbody class="border-top">
   847  <tr>
   848  <td style="white-space:nowrap">
   849  <code>descriptors</code>
   850  <br>
   851  <em>
   852  <a href="#projectcontour.io/v1.RateLimitDescriptor">
   853  []RateLimitDescriptor
   854  </a>
   855  </em>
   856  </td>
   857  <td>
   858  <p>Descriptors defines the list of descriptors that will
   859  be generated and sent to the rate limit service. Each
   860  descriptor contains 1+ key-value pair entries.</p>
   861  </td>
   862  </tr>
   863  </tbody>
   864  </table>
   865  <h3 id="projectcontour.io/v1.HTTPHealthCheckPolicy">HTTPHealthCheckPolicy
   866  </h3>
   867  <p>
   868  (<em>Appears on:</em>
   869  <a href="#projectcontour.io/v1.Route">Route</a>)
   870  </p>
   871  <p>
   872  <p>HTTPHealthCheckPolicy defines health checks on the upstream service.</p>
   873  </p>
   874  <table class="table table-striped table-borderless" style="border:none">
   875  <thead class="border-bottom">
   876  <tr>
   877  <th>Field</th>
   878  <th>Description</th>
   879  </tr>
   880  </thead>
   881  <tbody class="border-top">
   882  <tr>
   883  <td style="white-space:nowrap">
   884  <code>path</code>
   885  <br>
   886  <em>
   887  string
   888  </em>
   889  </td>
   890  <td>
   891  <p>HTTP endpoint used to perform health checks on upstream service</p>
   892  </td>
   893  </tr>
   894  <tr>
   895  <td style="white-space:nowrap">
   896  <code>host</code>
   897  <br>
   898  <em>
   899  string
   900  </em>
   901  </td>
   902  <td>
   903  <p>The value of the host header in the HTTP health check request.
   904  If left empty (default value), the name &ldquo;contour-envoy-healthcheck&rdquo;
   905  will be used.</p>
   906  </td>
   907  </tr>
   908  <tr>
   909  <td style="white-space:nowrap">
   910  <code>intervalSeconds</code>
   911  <br>
   912  <em>
   913  int64
   914  </em>
   915  </td>
   916  <td>
   917  <em>(Optional)</em>
   918  <p>The interval (seconds) between health checks</p>
   919  </td>
   920  </tr>
   921  <tr>
   922  <td style="white-space:nowrap">
   923  <code>timeoutSeconds</code>
   924  <br>
   925  <em>
   926  int64
   927  </em>
   928  </td>
   929  <td>
   930  <em>(Optional)</em>
   931  <p>The time to wait (seconds) for a health check response</p>
   932  </td>
   933  </tr>
   934  <tr>
   935  <td style="white-space:nowrap">
   936  <code>unhealthyThresholdCount</code>
   937  <br>
   938  <em>
   939  int64
   940  </em>
   941  </td>
   942  <td>
   943  <em>(Optional)</em>
   944  <p>The number of unhealthy health checks required before a host is marked unhealthy</p>
   945  </td>
   946  </tr>
   947  <tr>
   948  <td style="white-space:nowrap">
   949  <code>healthyThresholdCount</code>
   950  <br>
   951  <em>
   952  int64
   953  </em>
   954  </td>
   955  <td>
   956  <em>(Optional)</em>
   957  <p>The number of healthy health checks required before a host is marked healthy</p>
   958  </td>
   959  </tr>
   960  </tbody>
   961  </table>
   962  <h3 id="projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec
   963  </h3>
   964  <p>
   965  (<em>Appears on:</em>
   966  <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>)
   967  </p>
   968  <p>
   969  <p>HTTPProxySpec defines the spec of the CRD.</p>
   970  </p>
   971  <table class="table table-striped table-borderless" style="border:none">
   972  <thead class="border-bottom">
   973  <tr>
   974  <th>Field</th>
   975  <th>Description</th>
   976  </tr>
   977  </thead>
   978  <tbody class="border-top">
   979  <tr>
   980  <td style="white-space:nowrap">
   981  <code>virtualhost</code>
   982  <br>
   983  <em>
   984  <a href="#projectcontour.io/v1.VirtualHost">
   985  VirtualHost
   986  </a>
   987  </em>
   988  </td>
   989  <td>
   990  <em>(Optional)</em>
   991  <p>Virtualhost appears at most once. If it is present, the object is considered
   992  to be a &ldquo;root&rdquo; HTTPProxy.</p>
   993  </td>
   994  </tr>
   995  <tr>
   996  <td style="white-space:nowrap">
   997  <code>routes</code>
   998  <br>
   999  <em>
  1000  <a href="#projectcontour.io/v1.Route">
  1001  []Route
  1002  </a>
  1003  </em>
  1004  </td>
  1005  <td>
  1006  <em>(Optional)</em>
  1007  <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p>
  1008  </td>
  1009  </tr>
  1010  <tr>
  1011  <td style="white-space:nowrap">
  1012  <code>tcpproxy</code>
  1013  <br>
  1014  <em>
  1015  <a href="#projectcontour.io/v1.TCPProxy">
  1016  TCPProxy
  1017  </a>
  1018  </em>
  1019  </td>
  1020  <td>
  1021  <em>(Optional)</em>
  1022  <p>TCPProxy holds TCP proxy information.</p>
  1023  </td>
  1024  </tr>
  1025  <tr>
  1026  <td style="white-space:nowrap">
  1027  <code>includes</code>
  1028  <br>
  1029  <em>
  1030  <a href="#projectcontour.io/v1.Include">
  1031  []Include
  1032  </a>
  1033  </em>
  1034  </td>
  1035  <td>
  1036  <em>(Optional)</em>
  1037  <p>Includes allow for specific routing configuration to be included from another HTTPProxy,
  1038  possibly in another namespace.</p>
  1039  </td>
  1040  </tr>
  1041  <tr>
  1042  <td style="white-space:nowrap">
  1043  <code>ingressClassName</code>
  1044  <br>
  1045  <em>
  1046  string
  1047  </em>
  1048  </td>
  1049  <td>
  1050  <em>(Optional)</em>
  1051  <p>IngressClassName optionally specifies the ingress class to use for this
  1052  HTTPProxy. This replaces the deprecated <code>kubernetes.io/ingress.class</code>
  1053  annotation. For backwards compatibility, when that annotation is set, it
  1054  is given precedence over this field.</p>
  1055  </td>
  1056  </tr>
  1057  </tbody>
  1058  </table>
  1059  <h3 id="projectcontour.io/v1.HTTPProxyStatus">HTTPProxyStatus
  1060  </h3>
  1061  <p>
  1062  (<em>Appears on:</em>
  1063  <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>)
  1064  </p>
  1065  <p>
  1066  <p>HTTPProxyStatus reports the current state of the HTTPProxy.</p>
  1067  </p>
  1068  <table class="table table-striped table-borderless" style="border:none">
  1069  <thead class="border-bottom">
  1070  <tr>
  1071  <th>Field</th>
  1072  <th>Description</th>
  1073  </tr>
  1074  </thead>
  1075  <tbody class="border-top">
  1076  <tr>
  1077  <td style="white-space:nowrap">
  1078  <code>currentStatus</code>
  1079  <br>
  1080  <em>
  1081  string
  1082  </em>
  1083  </td>
  1084  <td>
  1085  <em>(Optional)</em>
  1086  </td>
  1087  </tr>
  1088  <tr>
  1089  <td style="white-space:nowrap">
  1090  <code>description</code>
  1091  <br>
  1092  <em>
  1093  string
  1094  </em>
  1095  </td>
  1096  <td>
  1097  <em>(Optional)</em>
  1098  </td>
  1099  </tr>
  1100  <tr>
  1101  <td style="white-space:nowrap">
  1102  <code>loadBalancer</code>
  1103  <br>
  1104  <em>
  1105  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#loadbalancerstatus-v1-core">
  1106  Kubernetes core/v1.LoadBalancerStatus
  1107  </a>
  1108  </em>
  1109  </td>
  1110  <td>
  1111  <em>(Optional)</em>
  1112  <p>LoadBalancer contains the current status of the load balancer.</p>
  1113  </td>
  1114  </tr>
  1115  <tr>
  1116  <td style="white-space:nowrap">
  1117  <code>conditions</code>
  1118  <br>
  1119  <em>
  1120  <a href="#projectcontour.io/v1.DetailedCondition">
  1121  []DetailedCondition
  1122  </a>
  1123  </em>
  1124  </td>
  1125  <td>
  1126  <em>(Optional)</em>
  1127  <p>Conditions contains information about the current status of the HTTPProxy,
  1128  in an upstream-friendly container.</p>
  1129  <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.
  1130  That is, when <code>currentStatus</code> is <code>valid</code>, the <code>Valid</code> condition will be <code>status: true</code>,
  1131  and vice versa.</p>
  1132  <p>Contour will leave untouched any other Conditions set in this block,
  1133  in case some other controller wants to add a Condition.</p>
  1134  <p>If you are another controller owner and wish to add a condition, you <em>should</em>
  1135  namespace your condition with a label, like <code>controller.domain.com/ConditionName</code>.</p>
  1136  </td>
  1137  </tr>
  1138  </tbody>
  1139  </table>
  1140  <h3 id="projectcontour.io/v1.HeaderHashOptions">HeaderHashOptions
  1141  </h3>
  1142  <p>
  1143  (<em>Appears on:</em>
  1144  <a href="#projectcontour.io/v1.RequestHashPolicy">RequestHashPolicy</a>)
  1145  </p>
  1146  <p>
  1147  <p>HeaderHashOptions contains options to configure a HTTP request header hash
  1148  policy, used in request attribute hash based load balancing.</p>
  1149  </p>
  1150  <table class="table table-striped table-borderless" style="border:none">
  1151  <thead class="border-bottom">
  1152  <tr>
  1153  <th>Field</th>
  1154  <th>Description</th>
  1155  </tr>
  1156  </thead>
  1157  <tbody class="border-top">
  1158  <tr>
  1159  <td style="white-space:nowrap">
  1160  <code>headerName</code>
  1161  <br>
  1162  <em>
  1163  string
  1164  </em>
  1165  </td>
  1166  <td>
  1167  <p>HeaderName is the name of the HTTP request header that will be used to
  1168  calculate the hash key. If the header specified is not present on a
  1169  request, no hash will be produced.</p>
  1170  </td>
  1171  </tr>
  1172  </tbody>
  1173  </table>
  1174  <h3 id="projectcontour.io/v1.HeaderMatchCondition">HeaderMatchCondition
  1175  </h3>
  1176  <p>
  1177  (<em>Appears on:</em>
  1178  <a href="#projectcontour.io/v1.MatchCondition">MatchCondition</a>, 
  1179  <a href="#projectcontour.io/v1.RequestHeaderValueMatchDescriptor">RequestHeaderValueMatchDescriptor</a>)
  1180  </p>
  1181  <p>
  1182  <p>HeaderMatchCondition specifies how to conditionally match against HTTP
  1183  headers. The Name field is required, but only one of the remaining
  1184  fields should be be provided.</p>
  1185  </p>
  1186  <table class="table table-striped table-borderless" style="border:none">
  1187  <thead class="border-bottom">
  1188  <tr>
  1189  <th>Field</th>
  1190  <th>Description</th>
  1191  </tr>
  1192  </thead>
  1193  <tbody class="border-top">
  1194  <tr>
  1195  <td style="white-space:nowrap">
  1196  <code>name</code>
  1197  <br>
  1198  <em>
  1199  string
  1200  </em>
  1201  </td>
  1202  <td>
  1203  <p>Name is the name of the header to match against. Name is required.
  1204  Header names are case insensitive.</p>
  1205  </td>
  1206  </tr>
  1207  <tr>
  1208  <td style="white-space:nowrap">
  1209  <code>present</code>
  1210  <br>
  1211  <em>
  1212  bool
  1213  </em>
  1214  </td>
  1215  <td>
  1216  <em>(Optional)</em>
  1217  <p>Present specifies that condition is true when the named header
  1218  is present, regardless of its value. Note that setting Present
  1219  to false does not make the condition true if the named header
  1220  is absent.</p>
  1221  </td>
  1222  </tr>
  1223  <tr>
  1224  <td style="white-space:nowrap">
  1225  <code>notpresent</code>
  1226  <br>
  1227  <em>
  1228  bool
  1229  </em>
  1230  </td>
  1231  <td>
  1232  <em>(Optional)</em>
  1233  <p>NotPresent specifies that condition is true when the named header
  1234  is not present. Note that setting NotPresent to false does not
  1235  make the condition true if the named header is present.</p>
  1236  </td>
  1237  </tr>
  1238  <tr>
  1239  <td style="white-space:nowrap">
  1240  <code>contains</code>
  1241  <br>
  1242  <em>
  1243  string
  1244  </em>
  1245  </td>
  1246  <td>
  1247  <em>(Optional)</em>
  1248  <p>Contains specifies a substring that must be present in
  1249  the header value.</p>
  1250  </td>
  1251  </tr>
  1252  <tr>
  1253  <td style="white-space:nowrap">
  1254  <code>notcontains</code>
  1255  <br>
  1256  <em>
  1257  string
  1258  </em>
  1259  </td>
  1260  <td>
  1261  <em>(Optional)</em>
  1262  <p>NotContains specifies a substring that must not be present
  1263  in the header value.</p>
  1264  </td>
  1265  </tr>
  1266  <tr>
  1267  <td style="white-space:nowrap">
  1268  <code>exact</code>
  1269  <br>
  1270  <em>
  1271  string
  1272  </em>
  1273  </td>
  1274  <td>
  1275  <em>(Optional)</em>
  1276  <p>Exact specifies a string that the header value must be equal to.</p>
  1277  </td>
  1278  </tr>
  1279  <tr>
  1280  <td style="white-space:nowrap">
  1281  <code>notexact</code>
  1282  <br>
  1283  <em>
  1284  string
  1285  </em>
  1286  </td>
  1287  <td>
  1288  <em>(Optional)</em>
  1289  <p>NoExact specifies a string that the header value must not be
  1290  equal to. The condition is true if the header has any other value.</p>
  1291  </td>
  1292  </tr>
  1293  </tbody>
  1294  </table>
  1295  <h3 id="projectcontour.io/v1.HeaderValue">HeaderValue
  1296  </h3>
  1297  <p>
  1298  (<em>Appears on:</em>
  1299  <a href="#projectcontour.io/v1.HeadersPolicy">HeadersPolicy</a>, 
  1300  <a href="#projectcontour.io/v1.LocalRateLimitPolicy">LocalRateLimitPolicy</a>)
  1301  </p>
  1302  <p>
  1303  <p>HeaderValue represents a header name/value pair</p>
  1304  </p>
  1305  <table class="table table-striped table-borderless" style="border:none">
  1306  <thead class="border-bottom">
  1307  <tr>
  1308  <th>Field</th>
  1309  <th>Description</th>
  1310  </tr>
  1311  </thead>
  1312  <tbody class="border-top">
  1313  <tr>
  1314  <td style="white-space:nowrap">
  1315  <code>name</code>
  1316  <br>
  1317  <em>
  1318  string
  1319  </em>
  1320  </td>
  1321  <td>
  1322  <p>Name represents a key of a header</p>
  1323  </td>
  1324  </tr>
  1325  <tr>
  1326  <td style="white-space:nowrap">
  1327  <code>value</code>
  1328  <br>
  1329  <em>
  1330  string
  1331  </em>
  1332  </td>
  1333  <td>
  1334  <p>Value represents the value of a header specified by a key</p>
  1335  </td>
  1336  </tr>
  1337  </tbody>
  1338  </table>
  1339  <h3 id="projectcontour.io/v1.HeadersPolicy">HeadersPolicy
  1340  </h3>
  1341  <p>
  1342  (<em>Appears on:</em>
  1343  <a href="#projectcontour.io/v1.Route">Route</a>, 
  1344  <a href="#projectcontour.io/v1.Service">Service</a>)
  1345  </p>
  1346  <p>
  1347  <p>HeadersPolicy defines how headers are managed during forwarding.
  1348  The <code>Host</code> header is treated specially and if set in a HTTP response
  1349  will be used as the SNI server name when forwarding over TLS. It is an
  1350  error to attempt to set the <code>Host</code> header in a HTTP response.</p>
  1351  </p>
  1352  <table class="table table-striped table-borderless" style="border:none">
  1353  <thead class="border-bottom">
  1354  <tr>
  1355  <th>Field</th>
  1356  <th>Description</th>
  1357  </tr>
  1358  </thead>
  1359  <tbody class="border-top">
  1360  <tr>
  1361  <td style="white-space:nowrap">
  1362  <code>set</code>
  1363  <br>
  1364  <em>
  1365  <a href="#projectcontour.io/v1.HeaderValue">
  1366  []HeaderValue
  1367  </a>
  1368  </em>
  1369  </td>
  1370  <td>
  1371  <em>(Optional)</em>
  1372  <p>Set specifies a list of HTTP header values that will be set in the HTTP header.
  1373  If the header does not exist it will be added, otherwise it will be overwritten with the new value.</p>
  1374  </td>
  1375  </tr>
  1376  <tr>
  1377  <td style="white-space:nowrap">
  1378  <code>remove</code>
  1379  <br>
  1380  <em>
  1381  []string
  1382  </em>
  1383  </td>
  1384  <td>
  1385  <em>(Optional)</em>
  1386  <p>Remove specifies a list of HTTP header names to remove.</p>
  1387  </td>
  1388  </tr>
  1389  </tbody>
  1390  </table>
  1391  <h3 id="projectcontour.io/v1.Include">Include
  1392  </h3>
  1393  <p>
  1394  (<em>Appears on:</em>
  1395  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  1396  </p>
  1397  <p>
  1398  <p>Include describes a set of policies that can be applied to an HTTPProxy in a namespace.</p>
  1399  </p>
  1400  <table class="table table-striped table-borderless" style="border:none">
  1401  <thead class="border-bottom">
  1402  <tr>
  1403  <th>Field</th>
  1404  <th>Description</th>
  1405  </tr>
  1406  </thead>
  1407  <tbody class="border-top">
  1408  <tr>
  1409  <td style="white-space:nowrap">
  1410  <code>name</code>
  1411  <br>
  1412  <em>
  1413  string
  1414  </em>
  1415  </td>
  1416  <td>
  1417  <p>Name of the HTTPProxy</p>
  1418  </td>
  1419  </tr>
  1420  <tr>
  1421  <td style="white-space:nowrap">
  1422  <code>namespace</code>
  1423  <br>
  1424  <em>
  1425  string
  1426  </em>
  1427  </td>
  1428  <td>
  1429  <em>(Optional)</em>
  1430  <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p>
  1431  </td>
  1432  </tr>
  1433  <tr>
  1434  <td style="white-space:nowrap">
  1435  <code>conditions</code>
  1436  <br>
  1437  <em>
  1438  <a href="#projectcontour.io/v1.MatchCondition">
  1439  []MatchCondition
  1440  </a>
  1441  </em>
  1442  </td>
  1443  <td>
  1444  <em>(Optional)</em>
  1445  <p>Conditions are a set of rules that are applied to included HTTPProxies.
  1446  In effect, they are added onto the Conditions of included HTTPProxy Route
  1447  structs.
  1448  When applied, they are merged using AND, with one exception:
  1449  There can be only one Prefix MatchCondition per Conditions slice.
  1450  More than one Prefix, or contradictory Conditions, will make the
  1451  include invalid.</p>
  1452  </td>
  1453  </tr>
  1454  </tbody>
  1455  </table>
  1456  <h3 id="projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy
  1457  </h3>
  1458  <p>
  1459  (<em>Appears on:</em>
  1460  <a href="#projectcontour.io/v1.Route">Route</a>, 
  1461  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>, 
  1462  <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>)
  1463  </p>
  1464  <p>
  1465  <p>LoadBalancerPolicy defines the load balancing policy.</p>
  1466  </p>
  1467  <table class="table table-striped table-borderless" style="border:none">
  1468  <thead class="border-bottom">
  1469  <tr>
  1470  <th>Field</th>
  1471  <th>Description</th>
  1472  </tr>
  1473  </thead>
  1474  <tbody class="border-top">
  1475  <tr>
  1476  <td style="white-space:nowrap">
  1477  <code>strategy</code>
  1478  <br>
  1479  <em>
  1480  string
  1481  </em>
  1482  </td>
  1483  <td>
  1484  <p>Strategy specifies the policy used to balance requests
  1485  across the pool of backend pods. Valid policy names are
  1486  <code>Random</code>, <code>RoundRobin</code>, <code>WeightedLeastRequest</code>, <code>Cookie</code>,
  1487  and <code>RequestHash</code>. If an unknown strategy name is specified
  1488  or no policy is supplied, the default <code>RoundRobin</code> policy
  1489  is used.</p>
  1490  </td>
  1491  </tr>
  1492  <tr>
  1493  <td style="white-space:nowrap">
  1494  <code>requestHashPolicies</code>
  1495  <br>
  1496  <em>
  1497  <a href="#projectcontour.io/v1.RequestHashPolicy">
  1498  []RequestHashPolicy
  1499  </a>
  1500  </em>
  1501  </td>
  1502  <td>
  1503  <p>RequestHashPolicies contains a list of hash policies to apply when the
  1504  <code>RequestHash</code> load balancing strategy is chosen. If an element of the
  1505  supplied list of hash policies is invalid, it will be ignored. If the
  1506  list of hash policies is empty after validation, the load balancing
  1507  strategy will fall back to the default <code>RoundRobin</code>.</p>
  1508  </td>
  1509  </tr>
  1510  </tbody>
  1511  </table>
  1512  <h3 id="projectcontour.io/v1.LocalRateLimitPolicy">LocalRateLimitPolicy
  1513  </h3>
  1514  <p>
  1515  (<em>Appears on:</em>
  1516  <a href="#projectcontour.io/v1.RateLimitPolicy">RateLimitPolicy</a>)
  1517  </p>
  1518  <p>
  1519  <p>LocalRateLimitPolicy defines local rate limiting parameters.</p>
  1520  </p>
  1521  <table class="table table-striped table-borderless" style="border:none">
  1522  <thead class="border-bottom">
  1523  <tr>
  1524  <th>Field</th>
  1525  <th>Description</th>
  1526  </tr>
  1527  </thead>
  1528  <tbody class="border-top">
  1529  <tr>
  1530  <td style="white-space:nowrap">
  1531  <code>requests</code>
  1532  <br>
  1533  <em>
  1534  uint32
  1535  </em>
  1536  </td>
  1537  <td>
  1538  <p>Requests defines how many requests per unit of time should
  1539  be allowed before rate limiting occurs.</p>
  1540  </td>
  1541  </tr>
  1542  <tr>
  1543  <td style="white-space:nowrap">
  1544  <code>unit</code>
  1545  <br>
  1546  <em>
  1547  string
  1548  </em>
  1549  </td>
  1550  <td>
  1551  <p>Unit defines the period of time within which requests
  1552  over the limit will be rate limited. Valid values are
  1553  &ldquo;second&rdquo;, &ldquo;minute&rdquo; and &ldquo;hour&rdquo;.</p>
  1554  </td>
  1555  </tr>
  1556  <tr>
  1557  <td style="white-space:nowrap">
  1558  <code>burst</code>
  1559  <br>
  1560  <em>
  1561  uint32
  1562  </em>
  1563  </td>
  1564  <td>
  1565  <em>(Optional)</em>
  1566  <p>Burst defines the number of requests above the requests per
  1567  unit that should be allowed within a short period of time.</p>
  1568  </td>
  1569  </tr>
  1570  <tr>
  1571  <td style="white-space:nowrap">
  1572  <code>responseStatusCode</code>
  1573  <br>
  1574  <em>
  1575  uint32
  1576  </em>
  1577  </td>
  1578  <td>
  1579  <em>(Optional)</em>
  1580  <p>ResponseStatusCode is the HTTP status code to use for responses
  1581  to rate-limited requests. Codes must be in the 400-599 range
  1582  (inclusive). If not specified, the Envoy default of 429 (Too
  1583  Many Requests) is used.</p>
  1584  </td>
  1585  </tr>
  1586  <tr>
  1587  <td style="white-space:nowrap">
  1588  <code>responseHeadersToAdd</code>
  1589  <br>
  1590  <em>
  1591  <a href="#projectcontour.io/v1.HeaderValue">
  1592  []HeaderValue
  1593  </a>
  1594  </em>
  1595  </td>
  1596  <td>
  1597  <em>(Optional)</em>
  1598  <p>ResponseHeadersToAdd is an optional list of response headers to
  1599  set when a request is rate-limited.</p>
  1600  </td>
  1601  </tr>
  1602  </tbody>
  1603  </table>
  1604  <h3 id="projectcontour.io/v1.MatchCondition">MatchCondition
  1605  </h3>
  1606  <p>
  1607  (<em>Appears on:</em>
  1608  <a href="#projectcontour.io/v1.Include">Include</a>, 
  1609  <a href="#projectcontour.io/v1.Route">Route</a>)
  1610  </p>
  1611  <p>
  1612  <p>MatchCondition are a general holder for matching rules for HTTPProxies.
  1613  One of Prefix or Header must be provided.</p>
  1614  </p>
  1615  <table class="table table-striped table-borderless" style="border:none">
  1616  <thead class="border-bottom">
  1617  <tr>
  1618  <th>Field</th>
  1619  <th>Description</th>
  1620  </tr>
  1621  </thead>
  1622  <tbody class="border-top">
  1623  <tr>
  1624  <td style="white-space:nowrap">
  1625  <code>prefix</code>
  1626  <br>
  1627  <em>
  1628  string
  1629  </em>
  1630  </td>
  1631  <td>
  1632  <em>(Optional)</em>
  1633  <p>Prefix defines a prefix match for a request.</p>
  1634  </td>
  1635  </tr>
  1636  <tr>
  1637  <td style="white-space:nowrap">
  1638  <code>header</code>
  1639  <br>
  1640  <em>
  1641  <a href="#projectcontour.io/v1.HeaderMatchCondition">
  1642  HeaderMatchCondition
  1643  </a>
  1644  </em>
  1645  </td>
  1646  <td>
  1647  <em>(Optional)</em>
  1648  <p>Header specifies the header condition to match.</p>
  1649  </td>
  1650  </tr>
  1651  </tbody>
  1652  </table>
  1653  <h3 id="projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy
  1654  </h3>
  1655  <p>
  1656  (<em>Appears on:</em>
  1657  <a href="#projectcontour.io/v1.Route">Route</a>)
  1658  </p>
  1659  <p>
  1660  <p>PathRewritePolicy specifies how a request URL path should be
  1661  rewritten. This rewriting takes place after a request is routed
  1662  and has no subsequent effects on the proxy&rsquo;s routing decision.
  1663  No HTTP headers or body content is rewritten.</p>
  1664  <p>Exactly one field in this struct may be specified.</p>
  1665  </p>
  1666  <table class="table table-striped table-borderless" style="border:none">
  1667  <thead class="border-bottom">
  1668  <tr>
  1669  <th>Field</th>
  1670  <th>Description</th>
  1671  </tr>
  1672  </thead>
  1673  <tbody class="border-top">
  1674  <tr>
  1675  <td style="white-space:nowrap">
  1676  <code>replacePrefix</code>
  1677  <br>
  1678  <em>
  1679  <a href="#projectcontour.io/v1.ReplacePrefix">
  1680  []ReplacePrefix
  1681  </a>
  1682  </em>
  1683  </td>
  1684  <td>
  1685  <em>(Optional)</em>
  1686  <p>ReplacePrefix describes how the path prefix should be replaced.</p>
  1687  </td>
  1688  </tr>
  1689  </tbody>
  1690  </table>
  1691  <h3 id="projectcontour.io/v1.RateLimitDescriptor">RateLimitDescriptor
  1692  </h3>
  1693  <p>
  1694  (<em>Appears on:</em>
  1695  <a href="#projectcontour.io/v1.GlobalRateLimitPolicy">GlobalRateLimitPolicy</a>)
  1696  </p>
  1697  <p>
  1698  <p>RateLimitDescriptor defines a list of key-value pair generators.</p>
  1699  </p>
  1700  <table class="table table-striped table-borderless" style="border:none">
  1701  <thead class="border-bottom">
  1702  <tr>
  1703  <th>Field</th>
  1704  <th>Description</th>
  1705  </tr>
  1706  </thead>
  1707  <tbody class="border-top">
  1708  <tr>
  1709  <td style="white-space:nowrap">
  1710  <code>entries</code>
  1711  <br>
  1712  <em>
  1713  <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">
  1714  []RateLimitDescriptorEntry
  1715  </a>
  1716  </em>
  1717  </td>
  1718  <td>
  1719  <p>Entries is the list of key-value pair generators.</p>
  1720  </td>
  1721  </tr>
  1722  </tbody>
  1723  </table>
  1724  <h3 id="projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry
  1725  </h3>
  1726  <p>
  1727  (<em>Appears on:</em>
  1728  <a href="#projectcontour.io/v1.RateLimitDescriptor">RateLimitDescriptor</a>)
  1729  </p>
  1730  <p>
  1731  <p>RateLimitDescriptorEntry is a key-value pair generator. Exactly
  1732  one field on this struct must be non-nil.</p>
  1733  </p>
  1734  <table class="table table-striped table-borderless" style="border:none">
  1735  <thead class="border-bottom">
  1736  <tr>
  1737  <th>Field</th>
  1738  <th>Description</th>
  1739  </tr>
  1740  </thead>
  1741  <tbody class="border-top">
  1742  <tr>
  1743  <td style="white-space:nowrap">
  1744  <code>genericKey</code>
  1745  <br>
  1746  <em>
  1747  <a href="#projectcontour.io/v1.GenericKeyDescriptor">
  1748  GenericKeyDescriptor
  1749  </a>
  1750  </em>
  1751  </td>
  1752  <td>
  1753  <em>(Optional)</em>
  1754  <p>GenericKey defines a descriptor entry with a static key and value.</p>
  1755  </td>
  1756  </tr>
  1757  <tr>
  1758  <td style="white-space:nowrap">
  1759  <code>requestHeader</code>
  1760  <br>
  1761  <em>
  1762  <a href="#projectcontour.io/v1.RequestHeaderDescriptor">
  1763  RequestHeaderDescriptor
  1764  </a>
  1765  </em>
  1766  </td>
  1767  <td>
  1768  <em>(Optional)</em>
  1769  <p>RequestHeader defines a descriptor entry that&rsquo;s populated only if
  1770  a given header is present on the request. The descriptor key is static,
  1771  and the descriptor value is equal to the value of the header.</p>
  1772  </td>
  1773  </tr>
  1774  <tr>
  1775  <td style="white-space:nowrap">
  1776  <code>requestHeaderValueMatch</code>
  1777  <br>
  1778  <em>
  1779  <a href="#projectcontour.io/v1.RequestHeaderValueMatchDescriptor">
  1780  RequestHeaderValueMatchDescriptor
  1781  </a>
  1782  </em>
  1783  </td>
  1784  <td>
  1785  <em>(Optional)</em>
  1786  <p>RequestHeaderValueMatch defines a descriptor entry that&rsquo;s populated
  1787  if the request&rsquo;s headers match a set of 1+ match criteria. The
  1788  descriptor key is &ldquo;header_match&rdquo;, and the descriptor value is static.</p>
  1789  </td>
  1790  </tr>
  1791  <tr>
  1792  <td style="white-space:nowrap">
  1793  <code>remoteAddress</code>
  1794  <br>
  1795  <em>
  1796  <a href="#projectcontour.io/v1.RemoteAddressDescriptor">
  1797  RemoteAddressDescriptor
  1798  </a>
  1799  </em>
  1800  </td>
  1801  <td>
  1802  <em>(Optional)</em>
  1803  <p>RemoteAddress defines a descriptor entry with a key of &ldquo;remote_address&rdquo;
  1804  and a value equal to the client&rsquo;s IP address (from x-forwarded-for).</p>
  1805  </td>
  1806  </tr>
  1807  </tbody>
  1808  </table>
  1809  <h3 id="projectcontour.io/v1.RateLimitPolicy">RateLimitPolicy
  1810  </h3>
  1811  <p>
  1812  (<em>Appears on:</em>
  1813  <a href="#projectcontour.io/v1.Route">Route</a>, 
  1814  <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>)
  1815  </p>
  1816  <p>
  1817  <p>RateLimitPolicy defines rate limiting parameters.</p>
  1818  </p>
  1819  <table class="table table-striped table-borderless" style="border:none">
  1820  <thead class="border-bottom">
  1821  <tr>
  1822  <th>Field</th>
  1823  <th>Description</th>
  1824  </tr>
  1825  </thead>
  1826  <tbody class="border-top">
  1827  <tr>
  1828  <td style="white-space:nowrap">
  1829  <code>local</code>
  1830  <br>
  1831  <em>
  1832  <a href="#projectcontour.io/v1.LocalRateLimitPolicy">
  1833  LocalRateLimitPolicy
  1834  </a>
  1835  </em>
  1836  </td>
  1837  <td>
  1838  <em>(Optional)</em>
  1839  <p>Local defines local rate limiting parameters, i.e. parameters
  1840  for rate limiting that occurs within each Envoy pod as requests
  1841  are handled.</p>
  1842  </td>
  1843  </tr>
  1844  <tr>
  1845  <td style="white-space:nowrap">
  1846  <code>global</code>
  1847  <br>
  1848  <em>
  1849  <a href="#projectcontour.io/v1.GlobalRateLimitPolicy">
  1850  GlobalRateLimitPolicy
  1851  </a>
  1852  </em>
  1853  </td>
  1854  <td>
  1855  <em>(Optional)</em>
  1856  <p>Global defines global rate limiting parameters, i.e. parameters
  1857  defining descriptors that are sent to an external rate limit
  1858  service (RLS) for a rate limit decision on each request.</p>
  1859  </td>
  1860  </tr>
  1861  </tbody>
  1862  </table>
  1863  <h3 id="projectcontour.io/v1.RemoteAddressDescriptor">RemoteAddressDescriptor
  1864  </h3>
  1865  <p>
  1866  (<em>Appears on:</em>
  1867  <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>)
  1868  </p>
  1869  <p>
  1870  <p>RemoteAddressDescriptor defines a descriptor entry with a key of
  1871  &ldquo;remote_address&rdquo; and a value equal to the client&rsquo;s IP address
  1872  (from x-forwarded-for).</p>
  1873  </p>
  1874  <h3 id="projectcontour.io/v1.ReplacePrefix">ReplacePrefix
  1875  </h3>
  1876  <p>
  1877  (<em>Appears on:</em>
  1878  <a href="#projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy</a>)
  1879  </p>
  1880  <p>
  1881  <p>ReplacePrefix describes a path prefix replacement.</p>
  1882  </p>
  1883  <table class="table table-striped table-borderless" style="border:none">
  1884  <thead class="border-bottom">
  1885  <tr>
  1886  <th>Field</th>
  1887  <th>Description</th>
  1888  </tr>
  1889  </thead>
  1890  <tbody class="border-top">
  1891  <tr>
  1892  <td style="white-space:nowrap">
  1893  <code>prefix</code>
  1894  <br>
  1895  <em>
  1896  string
  1897  </em>
  1898  </td>
  1899  <td>
  1900  <em>(Optional)</em>
  1901  <p>Prefix specifies the URL path prefix to be replaced.</p>
  1902  <p>If Prefix is specified, it must exactly match the MatchCondition
  1903  prefix that is rendered by the chain of including HTTPProxies
  1904  and only that path prefix will be replaced by Replacement.
  1905  This allows HTTPProxies that are included through multiple
  1906  roots to only replace specific path prefixes, leaving others
  1907  unmodified.</p>
  1908  <p>If Prefix is not specified, all routing prefixes rendered
  1909  by the include chain will be replaced.</p>
  1910  </td>
  1911  </tr>
  1912  <tr>
  1913  <td style="white-space:nowrap">
  1914  <code>replacement</code>
  1915  <br>
  1916  <em>
  1917  string
  1918  </em>
  1919  </td>
  1920  <td>
  1921  <p>Replacement is the string that the routing path prefix
  1922  will be replaced with. This must not be empty.</p>
  1923  </td>
  1924  </tr>
  1925  </tbody>
  1926  </table>
  1927  <h3 id="projectcontour.io/v1.RequestHashPolicy">RequestHashPolicy
  1928  </h3>
  1929  <p>
  1930  (<em>Appears on:</em>
  1931  <a href="#projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy</a>)
  1932  </p>
  1933  <p>
  1934  <p>RequestHashPolicy contains configuration for an individual hash policy
  1935  on a request attribute.</p>
  1936  </p>
  1937  <table class="table table-striped table-borderless" style="border:none">
  1938  <thead class="border-bottom">
  1939  <tr>
  1940  <th>Field</th>
  1941  <th>Description</th>
  1942  </tr>
  1943  </thead>
  1944  <tbody class="border-top">
  1945  <tr>
  1946  <td style="white-space:nowrap">
  1947  <code>terminal</code>
  1948  <br>
  1949  <em>
  1950  bool
  1951  </em>
  1952  </td>
  1953  <td>
  1954  <p>Terminal is a flag that allows for short-circuiting computing of a hash
  1955  for a given request. If set to true, and the request attribute specified
  1956  in the attribute hash options is present, no further hash policies will
  1957  be used to calculate a hash for the request.</p>
  1958  </td>
  1959  </tr>
  1960  <tr>
  1961  <td style="white-space:nowrap">
  1962  <code>headerHashOptions</code>
  1963  <br>
  1964  <em>
  1965  <a href="#projectcontour.io/v1.HeaderHashOptions">
  1966  HeaderHashOptions
  1967  </a>
  1968  </em>
  1969  </td>
  1970  <td>
  1971  <p>HeaderHashOptions should be set when request header hash based load
  1972  balancing is desired. It must be the only hash option field set,
  1973  otherwise this request hash policy object will be ignored.</p>
  1974  </td>
  1975  </tr>
  1976  </tbody>
  1977  </table>
  1978  <h3 id="projectcontour.io/v1.RequestHeaderDescriptor">RequestHeaderDescriptor
  1979  </h3>
  1980  <p>
  1981  (<em>Appears on:</em>
  1982  <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>)
  1983  </p>
  1984  <p>
  1985  <p>RequestHeaderDescriptor defines a descriptor entry that&rsquo;s populated only
  1986  if a given header is present on the request. The value of the descriptor
  1987  entry is equal to the value of the header (if present).</p>
  1988  </p>
  1989  <table class="table table-striped table-borderless" style="border:none">
  1990  <thead class="border-bottom">
  1991  <tr>
  1992  <th>Field</th>
  1993  <th>Description</th>
  1994  </tr>
  1995  </thead>
  1996  <tbody class="border-top">
  1997  <tr>
  1998  <td style="white-space:nowrap">
  1999  <code>headerName</code>
  2000  <br>
  2001  <em>
  2002  string
  2003  </em>
  2004  </td>
  2005  <td>
  2006  <p>HeaderName defines the name of the header to look for on the request.</p>
  2007  </td>
  2008  </tr>
  2009  <tr>
  2010  <td style="white-space:nowrap">
  2011  <code>descriptorKey</code>
  2012  <br>
  2013  <em>
  2014  string
  2015  </em>
  2016  </td>
  2017  <td>
  2018  <p>DescriptorKey defines the key to use on the descriptor entry.</p>
  2019  </td>
  2020  </tr>
  2021  </tbody>
  2022  </table>
  2023  <h3 id="projectcontour.io/v1.RequestHeaderValueMatchDescriptor">RequestHeaderValueMatchDescriptor
  2024  </h3>
  2025  <p>
  2026  (<em>Appears on:</em>
  2027  <a href="#projectcontour.io/v1.RateLimitDescriptorEntry">RateLimitDescriptorEntry</a>)
  2028  </p>
  2029  <p>
  2030  <p>RequestHeaderValueMatchDescriptor defines a descriptor entry that&rsquo;s populated
  2031  if the request&rsquo;s headers match a set of 1+ match criteria. The descriptor key
  2032  is &ldquo;header_match&rdquo;, and the descriptor value is statically defined.</p>
  2033  </p>
  2034  <table class="table table-striped table-borderless" style="border:none">
  2035  <thead class="border-bottom">
  2036  <tr>
  2037  <th>Field</th>
  2038  <th>Description</th>
  2039  </tr>
  2040  </thead>
  2041  <tbody class="border-top">
  2042  <tr>
  2043  <td style="white-space:nowrap">
  2044  <code>headers</code>
  2045  <br>
  2046  <em>
  2047  <a href="#projectcontour.io/v1.HeaderMatchCondition">
  2048  []HeaderMatchCondition
  2049  </a>
  2050  </em>
  2051  </td>
  2052  <td>
  2053  <p>Headers is a list of 1+ match criteria to apply against the request
  2054  to determine whether to populate the descriptor entry or not.</p>
  2055  </td>
  2056  </tr>
  2057  <tr>
  2058  <td style="white-space:nowrap">
  2059  <code>expectMatch</code>
  2060  <br>
  2061  <em>
  2062  bool
  2063  </em>
  2064  </td>
  2065  <td>
  2066  <p>ExpectMatch defines whether the request must positively match the match
  2067  criteria in order to generate a descriptor entry (i.e. true), or not
  2068  match the match criteria in order to generate a descriptor entry (i.e. false).
  2069  The default is true.</p>
  2070  </td>
  2071  </tr>
  2072  <tr>
  2073  <td style="white-space:nowrap">
  2074  <code>value</code>
  2075  <br>
  2076  <em>
  2077  string
  2078  </em>
  2079  </td>
  2080  <td>
  2081  <p>Value defines the value of the descriptor entry.</p>
  2082  </td>
  2083  </tr>
  2084  </tbody>
  2085  </table>
  2086  <h3 id="projectcontour.io/v1.RetryOn">RetryOn
  2087  (<code>string</code> alias)</h3>
  2088  <p>
  2089  (<em>Appears on:</em>
  2090  <a href="#projectcontour.io/v1.RetryPolicy">RetryPolicy</a>)
  2091  </p>
  2092  <p>
  2093  <p>RetryOn is a string type alias with validation to ensure that the value is valid.</p>
  2094  </p>
  2095  <h3 id="projectcontour.io/v1.RetryPolicy">RetryPolicy
  2096  </h3>
  2097  <p>
  2098  (<em>Appears on:</em>
  2099  <a href="#projectcontour.io/v1.Route">Route</a>)
  2100  </p>
  2101  <p>
  2102  <p>RetryPolicy defines the attributes associated with retrying policy.</p>
  2103  </p>
  2104  <table class="table table-striped table-borderless" style="border:none">
  2105  <thead class="border-bottom">
  2106  <tr>
  2107  <th>Field</th>
  2108  <th>Description</th>
  2109  </tr>
  2110  </thead>
  2111  <tbody class="border-top">
  2112  <tr>
  2113  <td style="white-space:nowrap">
  2114  <code>count</code>
  2115  <br>
  2116  <em>
  2117  int64
  2118  </em>
  2119  </td>
  2120  <td>
  2121  <em>(Optional)</em>
  2122  <p>NumRetries is maximum allowed number of retries.
  2123  If not supplied, the number of retries is one.</p>
  2124  </td>
  2125  </tr>
  2126  <tr>
  2127  <td style="white-space:nowrap">
  2128  <code>perTryTimeout</code>
  2129  <br>
  2130  <em>
  2131  string
  2132  </em>
  2133  </td>
  2134  <td>
  2135  <em>(Optional)</em>
  2136  <p>PerTryTimeout specifies the timeout per retry attempt.
  2137  Ignored if NumRetries is not supplied.</p>
  2138  </td>
  2139  </tr>
  2140  <tr>
  2141  <td style="white-space:nowrap">
  2142  <code>retryOn</code>
  2143  <br>
  2144  <em>
  2145  <a href="#projectcontour.io/v1.RetryOn">
  2146  []RetryOn
  2147  </a>
  2148  </em>
  2149  </td>
  2150  <td>
  2151  <em>(Optional)</em>
  2152  <p>RetryOn specifies the conditions on which to retry a request.</p>
  2153  <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>
  2154  <ul>
  2155  <li><code>5xx</code></li>
  2156  <li><code>gateway-error</code></li>
  2157  <li><code>reset</code></li>
  2158  <li><code>connect-failure</code></li>
  2159  <li><code>retriable-4xx</code></li>
  2160  <li><code>refused-stream</code></li>
  2161  <li><code>retriable-status-codes</code></li>
  2162  <li><code>retriable-headers</code></li>
  2163  </ul>
  2164  <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>
  2165  <ul>
  2166  <li><code>cancelled</code></li>
  2167  <li><code>deadline-exceeded</code></li>
  2168  <li><code>internal</code></li>
  2169  <li><code>resource-exhausted</code></li>
  2170  <li><code>unavailable</code></li>
  2171  </ul>
  2172  </td>
  2173  </tr>
  2174  <tr>
  2175  <td style="white-space:nowrap">
  2176  <code>retriableStatusCodes</code>
  2177  <br>
  2178  <em>
  2179  []uint32
  2180  </em>
  2181  </td>
  2182  <td>
  2183  <em>(Optional)</em>
  2184  <p>RetriableStatusCodes specifies the HTTP status codes that should be retried.</p>
  2185  <p>This field is only respected when you include <code>retriable-status-codes</code> in the <code>RetryOn</code> field.</p>
  2186  </td>
  2187  </tr>
  2188  </tbody>
  2189  </table>
  2190  <h3 id="projectcontour.io/v1.Route">Route
  2191  </h3>
  2192  <p>
  2193  (<em>Appears on:</em>
  2194  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  2195  </p>
  2196  <p>
  2197  <p>Route contains the set of routes for a virtual host.</p>
  2198  </p>
  2199  <table class="table table-striped table-borderless" style="border:none">
  2200  <thead class="border-bottom">
  2201  <tr>
  2202  <th>Field</th>
  2203  <th>Description</th>
  2204  </tr>
  2205  </thead>
  2206  <tbody class="border-top">
  2207  <tr>
  2208  <td style="white-space:nowrap">
  2209  <code>conditions</code>
  2210  <br>
  2211  <em>
  2212  <a href="#projectcontour.io/v1.MatchCondition">
  2213  []MatchCondition
  2214  </a>
  2215  </em>
  2216  </td>
  2217  <td>
  2218  <em>(Optional)</em>
  2219  <p>Conditions are a set of rules that are applied to a Route.
  2220  When applied, they are merged using AND, with one exception:
  2221  There can be only one Prefix MatchCondition per Conditions slice.
  2222  More than one Prefix, or contradictory Conditions, will make the
  2223  route invalid.</p>
  2224  </td>
  2225  </tr>
  2226  <tr>
  2227  <td style="white-space:nowrap">
  2228  <code>services</code>
  2229  <br>
  2230  <em>
  2231  <a href="#projectcontour.io/v1.Service">
  2232  []Service
  2233  </a>
  2234  </em>
  2235  </td>
  2236  <td>
  2237  <p>Services are the services to proxy traffic.</p>
  2238  </td>
  2239  </tr>
  2240  <tr>
  2241  <td style="white-space:nowrap">
  2242  <code>enableWebsockets</code>
  2243  <br>
  2244  <em>
  2245  bool
  2246  </em>
  2247  </td>
  2248  <td>
  2249  <em>(Optional)</em>
  2250  <p>Enables websocket support for the route.</p>
  2251  </td>
  2252  </tr>
  2253  <tr>
  2254  <td style="white-space:nowrap">
  2255  <code>permitInsecure</code>
  2256  <br>
  2257  <em>
  2258  bool
  2259  </em>
  2260  </td>
  2261  <td>
  2262  <em>(Optional)</em>
  2263  <p>Allow this path to respond to insecure requests over HTTP which are normally
  2264  not permitted when a <code>virtualhost.tls</code> block is present.</p>
  2265  </td>
  2266  </tr>
  2267  <tr>
  2268  <td style="white-space:nowrap">
  2269  <code>authPolicy</code>
  2270  <br>
  2271  <em>
  2272  <a href="#projectcontour.io/v1.AuthorizationPolicy">
  2273  AuthorizationPolicy
  2274  </a>
  2275  </em>
  2276  </td>
  2277  <td>
  2278  <em>(Optional)</em>
  2279  <p>AuthPolicy updates the authorization policy that was set
  2280  on the root HTTPProxy object for client requests that
  2281  match this route.</p>
  2282  </td>
  2283  </tr>
  2284  <tr>
  2285  <td style="white-space:nowrap">
  2286  <code>timeoutPolicy</code>
  2287  <br>
  2288  <em>
  2289  <a href="#projectcontour.io/v1.TimeoutPolicy">
  2290  TimeoutPolicy
  2291  </a>
  2292  </em>
  2293  </td>
  2294  <td>
  2295  <em>(Optional)</em>
  2296  <p>The timeout policy for this route.</p>
  2297  </td>
  2298  </tr>
  2299  <tr>
  2300  <td style="white-space:nowrap">
  2301  <code>retryPolicy</code>
  2302  <br>
  2303  <em>
  2304  <a href="#projectcontour.io/v1.RetryPolicy">
  2305  RetryPolicy
  2306  </a>
  2307  </em>
  2308  </td>
  2309  <td>
  2310  <em>(Optional)</em>
  2311  <p>The retry policy for this route.</p>
  2312  </td>
  2313  </tr>
  2314  <tr>
  2315  <td style="white-space:nowrap">
  2316  <code>healthCheckPolicy</code>
  2317  <br>
  2318  <em>
  2319  <a href="#projectcontour.io/v1.HTTPHealthCheckPolicy">
  2320  HTTPHealthCheckPolicy
  2321  </a>
  2322  </em>
  2323  </td>
  2324  <td>
  2325  <em>(Optional)</em>
  2326  <p>The health check policy for this route.</p>
  2327  </td>
  2328  </tr>
  2329  <tr>
  2330  <td style="white-space:nowrap">
  2331  <code>loadBalancerPolicy</code>
  2332  <br>
  2333  <em>
  2334  <a href="#projectcontour.io/v1.LoadBalancerPolicy">
  2335  LoadBalancerPolicy
  2336  </a>
  2337  </em>
  2338  </td>
  2339  <td>
  2340  <em>(Optional)</em>
  2341  <p>The load balancing policy for this route.</p>
  2342  </td>
  2343  </tr>
  2344  <tr>
  2345  <td style="white-space:nowrap">
  2346  <code>pathRewritePolicy</code>
  2347  <br>
  2348  <em>
  2349  <a href="#projectcontour.io/v1.PathRewritePolicy">
  2350  PathRewritePolicy
  2351  </a>
  2352  </em>
  2353  </td>
  2354  <td>
  2355  <em>(Optional)</em>
  2356  <p>The policy for rewriting the path of the request URL
  2357  after the request has been routed to a Service.</p>
  2358  </td>
  2359  </tr>
  2360  <tr>
  2361  <td style="white-space:nowrap">
  2362  <code>requestHeadersPolicy</code>
  2363  <br>
  2364  <em>
  2365  <a href="#projectcontour.io/v1.HeadersPolicy">
  2366  HeadersPolicy
  2367  </a>
  2368  </em>
  2369  </td>
  2370  <td>
  2371  <em>(Optional)</em>
  2372  <p>The policy for managing request headers during proxying.</p>
  2373  </td>
  2374  </tr>
  2375  <tr>
  2376  <td style="white-space:nowrap">
  2377  <code>responseHeadersPolicy</code>
  2378  <br>
  2379  <em>
  2380  <a href="#projectcontour.io/v1.HeadersPolicy">
  2381  HeadersPolicy
  2382  </a>
  2383  </em>
  2384  </td>
  2385  <td>
  2386  <em>(Optional)</em>
  2387  <p>The policy for managing response headers during proxying.
  2388  Rewriting the &lsquo;Host&rsquo; header is not supported.</p>
  2389  </td>
  2390  </tr>
  2391  <tr>
  2392  <td style="white-space:nowrap">
  2393  <code>rateLimitPolicy</code>
  2394  <br>
  2395  <em>
  2396  <a href="#projectcontour.io/v1.RateLimitPolicy">
  2397  RateLimitPolicy
  2398  </a>
  2399  </em>
  2400  </td>
  2401  <td>
  2402  <em>(Optional)</em>
  2403  <p>The policy for rate limiting on the route.</p>
  2404  </td>
  2405  </tr>
  2406  </tbody>
  2407  </table>
  2408  <h3 id="projectcontour.io/v1.Service">Service
  2409  </h3>
  2410  <p>
  2411  (<em>Appears on:</em>
  2412  <a href="#projectcontour.io/v1.Route">Route</a>, 
  2413  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  2414  </p>
  2415  <p>
  2416  <p>Service defines an Kubernetes Service to proxy traffic.</p>
  2417  </p>
  2418  <table class="table table-striped table-borderless" style="border:none">
  2419  <thead class="border-bottom">
  2420  <tr>
  2421  <th>Field</th>
  2422  <th>Description</th>
  2423  </tr>
  2424  </thead>
  2425  <tbody class="border-top">
  2426  <tr>
  2427  <td style="white-space:nowrap">
  2428  <code>name</code>
  2429  <br>
  2430  <em>
  2431  string
  2432  </em>
  2433  </td>
  2434  <td>
  2435  <p>Name is the name of Kubernetes service to proxy traffic.
  2436  Names defined here will be used to look up corresponding endpoints which contain the ips to route.</p>
  2437  </td>
  2438  </tr>
  2439  <tr>
  2440  <td style="white-space:nowrap">
  2441  <code>port</code>
  2442  <br>
  2443  <em>
  2444  int
  2445  </em>
  2446  </td>
  2447  <td>
  2448  <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p>
  2449  </td>
  2450  </tr>
  2451  <tr>
  2452  <td style="white-space:nowrap">
  2453  <code>protocol</code>
  2454  <br>
  2455  <em>
  2456  string
  2457  </em>
  2458  </td>
  2459  <td>
  2460  <em>(Optional)</em>
  2461  <p>Protocol may be used to specify (or override) the protocol used to reach this Service.
  2462  Values may be tls, h2, h2c. If omitted, protocol-selection falls back on Service annotations.</p>
  2463  </td>
  2464  </tr>
  2465  <tr>
  2466  <td style="white-space:nowrap">
  2467  <code>weight</code>
  2468  <br>
  2469  <em>
  2470  int64
  2471  </em>
  2472  </td>
  2473  <td>
  2474  <em>(Optional)</em>
  2475  <p>Weight defines percentage of traffic to balance traffic</p>
  2476  </td>
  2477  </tr>
  2478  <tr>
  2479  <td style="white-space:nowrap">
  2480  <code>validation</code>
  2481  <br>
  2482  <em>
  2483  <a href="#projectcontour.io/v1.UpstreamValidation">
  2484  UpstreamValidation
  2485  </a>
  2486  </em>
  2487  </td>
  2488  <td>
  2489  <em>(Optional)</em>
  2490  <p>UpstreamValidation defines how to verify the backend service&rsquo;s certificate</p>
  2491  </td>
  2492  </tr>
  2493  <tr>
  2494  <td style="white-space:nowrap">
  2495  <code>mirror</code>
  2496  <br>
  2497  <em>
  2498  bool
  2499  </em>
  2500  </td>
  2501  <td>
  2502  <p>If Mirror is true the Service will receive a read only mirror of the traffic for this route.</p>
  2503  </td>
  2504  </tr>
  2505  <tr>
  2506  <td style="white-space:nowrap">
  2507  <code>requestHeadersPolicy</code>
  2508  <br>
  2509  <em>
  2510  <a href="#projectcontour.io/v1.HeadersPolicy">
  2511  HeadersPolicy
  2512  </a>
  2513  </em>
  2514  </td>
  2515  <td>
  2516  <em>(Optional)</em>
  2517  <p>The policy for managing request headers during proxying.
  2518  Rewriting the &lsquo;Host&rsquo; header is not supported.</p>
  2519  </td>
  2520  </tr>
  2521  <tr>
  2522  <td style="white-space:nowrap">
  2523  <code>responseHeadersPolicy</code>
  2524  <br>
  2525  <em>
  2526  <a href="#projectcontour.io/v1.HeadersPolicy">
  2527  HeadersPolicy
  2528  </a>
  2529  </em>
  2530  </td>
  2531  <td>
  2532  <em>(Optional)</em>
  2533  <p>The policy for managing response headers during proxying.
  2534  Rewriting the &lsquo;Host&rsquo; header is not supported.</p>
  2535  </td>
  2536  </tr>
  2537  </tbody>
  2538  </table>
  2539  <h3 id="projectcontour.io/v1.SubCondition">SubCondition
  2540  </h3>
  2541  <p>
  2542  (<em>Appears on:</em>
  2543  <a href="#projectcontour.io/v1.DetailedCondition">DetailedCondition</a>)
  2544  </p>
  2545  <p>
  2546  <p>SubCondition is a Condition-like type intended for use as a subcondition inside a DetailedCondition.</p>
  2547  <p>It contains a subset of the Condition fields.</p>
  2548  <p>It is intended for warnings and errors, so <code>type</code> names should use abnormal-true polarity,
  2549  that is, they should be of the form &ldquo;ErrorPresent: true&rdquo;.</p>
  2550  <p>The expected lifecycle for these errors is that they should only be present when the error or warning is,
  2551  and should be removed when they are not relevant.</p>
  2552  </p>
  2553  <table class="table table-striped table-borderless" style="border:none">
  2554  <thead class="border-bottom">
  2555  <tr>
  2556  <th>Field</th>
  2557  <th>Description</th>
  2558  </tr>
  2559  </thead>
  2560  <tbody class="border-top">
  2561  <tr>
  2562  <td style="white-space:nowrap">
  2563  <code>type</code>
  2564  <br>
  2565  <em>
  2566  string
  2567  </em>
  2568  </td>
  2569  <td>
  2570  <p>Type of condition in <code>CamelCase</code> or in <code>foo.example.com/CamelCase</code>.</p>
  2571  <p>This must be in abnormal-true polarity, that is, <code>ErrorFound</code> or <code>controller.io/ErrorFound</code>.</p>
  2572  <p>The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)</p>
  2573  </td>
  2574  </tr>
  2575  <tr>
  2576  <td style="white-space:nowrap">
  2577  <code>status</code>
  2578  <br>
  2579  <em>
  2580  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#conditionstatus-v1-meta">
  2581  Kubernetes meta/v1.ConditionStatus
  2582  </a>
  2583  </em>
  2584  </td>
  2585  <td>
  2586  <p>Status of the condition, one of True, False, Unknown.</p>
  2587  </td>
  2588  </tr>
  2589  <tr>
  2590  <td style="white-space:nowrap">
  2591  <code>reason</code>
  2592  <br>
  2593  <em>
  2594  string
  2595  </em>
  2596  </td>
  2597  <td>
  2598  <p>Reason contains a programmatic identifier indicating the reason for the condition&rsquo;s last transition.
  2599  Producers of specific condition types may define expected values and meanings for this field,
  2600  and whether the values are considered a guaranteed API.</p>
  2601  <p>The value should be a CamelCase string.</p>
  2602  <p>This field may not be empty.</p>
  2603  </td>
  2604  </tr>
  2605  <tr>
  2606  <td style="white-space:nowrap">
  2607  <code>message</code>
  2608  <br>
  2609  <em>
  2610  string
  2611  </em>
  2612  </td>
  2613  <td>
  2614  <p>Message is a human readable message indicating details about the transition.</p>
  2615  <p>This may be an empty string.</p>
  2616  </td>
  2617  </tr>
  2618  </tbody>
  2619  </table>
  2620  <h3 id="projectcontour.io/v1.TCPHealthCheckPolicy">TCPHealthCheckPolicy
  2621  </h3>
  2622  <p>
  2623  (<em>Appears on:</em>
  2624  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  2625  </p>
  2626  <p>
  2627  <p>TCPHealthCheckPolicy defines health checks on the upstream service.</p>
  2628  </p>
  2629  <table class="table table-striped table-borderless" style="border:none">
  2630  <thead class="border-bottom">
  2631  <tr>
  2632  <th>Field</th>
  2633  <th>Description</th>
  2634  </tr>
  2635  </thead>
  2636  <tbody class="border-top">
  2637  <tr>
  2638  <td style="white-space:nowrap">
  2639  <code>intervalSeconds</code>
  2640  <br>
  2641  <em>
  2642  int64
  2643  </em>
  2644  </td>
  2645  <td>
  2646  <em>(Optional)</em>
  2647  <p>The interval (seconds) between health checks</p>
  2648  </td>
  2649  </tr>
  2650  <tr>
  2651  <td style="white-space:nowrap">
  2652  <code>timeoutSeconds</code>
  2653  <br>
  2654  <em>
  2655  int64
  2656  </em>
  2657  </td>
  2658  <td>
  2659  <em>(Optional)</em>
  2660  <p>The time to wait (seconds) for a health check response</p>
  2661  </td>
  2662  </tr>
  2663  <tr>
  2664  <td style="white-space:nowrap">
  2665  <code>unhealthyThresholdCount</code>
  2666  <br>
  2667  <em>
  2668  uint32
  2669  </em>
  2670  </td>
  2671  <td>
  2672  <em>(Optional)</em>
  2673  <p>The number of unhealthy health checks required before a host is marked unhealthy</p>
  2674  </td>
  2675  </tr>
  2676  <tr>
  2677  <td style="white-space:nowrap">
  2678  <code>healthyThresholdCount</code>
  2679  <br>
  2680  <em>
  2681  uint32
  2682  </em>
  2683  </td>
  2684  <td>
  2685  <em>(Optional)</em>
  2686  <p>The number of healthy health checks required before a host is marked healthy</p>
  2687  </td>
  2688  </tr>
  2689  </tbody>
  2690  </table>
  2691  <h3 id="projectcontour.io/v1.TCPProxy">TCPProxy
  2692  </h3>
  2693  <p>
  2694  (<em>Appears on:</em>
  2695  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  2696  </p>
  2697  <p>
  2698  <p>TCPProxy contains the set of services to proxy TCP connections.</p>
  2699  </p>
  2700  <table class="table table-striped table-borderless" style="border:none">
  2701  <thead class="border-bottom">
  2702  <tr>
  2703  <th>Field</th>
  2704  <th>Description</th>
  2705  </tr>
  2706  </thead>
  2707  <tbody class="border-top">
  2708  <tr>
  2709  <td style="white-space:nowrap">
  2710  <code>loadBalancerPolicy</code>
  2711  <br>
  2712  <em>
  2713  <a href="#projectcontour.io/v1.LoadBalancerPolicy">
  2714  LoadBalancerPolicy
  2715  </a>
  2716  </em>
  2717  </td>
  2718  <td>
  2719  <em>(Optional)</em>
  2720  <p>The load balancing policy for the backend services. Note that the
  2721  <code>Cookie</code> and <code>RequestHash</code> load balancing strategies cannot be used
  2722  here.</p>
  2723  </td>
  2724  </tr>
  2725  <tr>
  2726  <td style="white-space:nowrap">
  2727  <code>services</code>
  2728  <br>
  2729  <em>
  2730  <a href="#projectcontour.io/v1.Service">
  2731  []Service
  2732  </a>
  2733  </em>
  2734  </td>
  2735  <td>
  2736  <em>(Optional)</em>
  2737  <p>Services are the services to proxy traffic</p>
  2738  </td>
  2739  </tr>
  2740  <tr>
  2741  <td style="white-space:nowrap">
  2742  <code>include</code>
  2743  <br>
  2744  <em>
  2745  <a href="#projectcontour.io/v1.TCPProxyInclude">
  2746  TCPProxyInclude
  2747  </a>
  2748  </em>
  2749  </td>
  2750  <td>
  2751  <em>(Optional)</em>
  2752  <p>Include specifies that this tcpproxy should be delegated to another HTTPProxy.</p>
  2753  </td>
  2754  </tr>
  2755  <tr>
  2756  <td style="white-space:nowrap">
  2757  <code>includes</code>
  2758  <br>
  2759  <em>
  2760  <a href="#projectcontour.io/v1.TCPProxyInclude">
  2761  TCPProxyInclude
  2762  </a>
  2763  </em>
  2764  </td>
  2765  <td>
  2766  <em>(Optional)</em>
  2767  <p>IncludesDeprecated allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p>
  2768  <p>Exists due to a mistake when developing HTTPProxy and the field was marked plural
  2769  when it should have been singular. This field should stay to not break backwards compatibility to v1 users.</p>
  2770  </td>
  2771  </tr>
  2772  <tr>
  2773  <td style="white-space:nowrap">
  2774  <code>healthCheckPolicy</code>
  2775  <br>
  2776  <em>
  2777  <a href="#projectcontour.io/v1.TCPHealthCheckPolicy">
  2778  TCPHealthCheckPolicy
  2779  </a>
  2780  </em>
  2781  </td>
  2782  <td>
  2783  <em>(Optional)</em>
  2784  <p>The health check policy for this tcp proxy</p>
  2785  </td>
  2786  </tr>
  2787  </tbody>
  2788  </table>
  2789  <h3 id="projectcontour.io/v1.TCPProxyInclude">TCPProxyInclude
  2790  </h3>
  2791  <p>
  2792  (<em>Appears on:</em>
  2793  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  2794  </p>
  2795  <p>
  2796  <p>TCPProxyInclude describes a target HTTPProxy document which contains the TCPProxy details.</p>
  2797  </p>
  2798  <table class="table table-striped table-borderless" style="border:none">
  2799  <thead class="border-bottom">
  2800  <tr>
  2801  <th>Field</th>
  2802  <th>Description</th>
  2803  </tr>
  2804  </thead>
  2805  <tbody class="border-top">
  2806  <tr>
  2807  <td style="white-space:nowrap">
  2808  <code>name</code>
  2809  <br>
  2810  <em>
  2811  string
  2812  </em>
  2813  </td>
  2814  <td>
  2815  <p>Name of the child HTTPProxy</p>
  2816  </td>
  2817  </tr>
  2818  <tr>
  2819  <td style="white-space:nowrap">
  2820  <code>namespace</code>
  2821  <br>
  2822  <em>
  2823  string
  2824  </em>
  2825  </td>
  2826  <td>
  2827  <em>(Optional)</em>
  2828  <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p>
  2829  </td>
  2830  </tr>
  2831  </tbody>
  2832  </table>
  2833  <h3 id="projectcontour.io/v1.TLS">TLS
  2834  </h3>
  2835  <p>
  2836  (<em>Appears on:</em>
  2837  <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>)
  2838  </p>
  2839  <p>
  2840  <p>TLS describes tls properties. The SNI names that will be matched on
  2841  are described in the HTTPProxy&rsquo;s Spec.VirtualHost.Fqdn field.</p>
  2842  </p>
  2843  <table class="table table-striped table-borderless" style="border:none">
  2844  <thead class="border-bottom">
  2845  <tr>
  2846  <th>Field</th>
  2847  <th>Description</th>
  2848  </tr>
  2849  </thead>
  2850  <tbody class="border-top">
  2851  <tr>
  2852  <td style="white-space:nowrap">
  2853  <code>secretName</code>
  2854  <br>
  2855  <em>
  2856  string
  2857  </em>
  2858  </td>
  2859  <td>
  2860  <p>SecretName is the name of a TLS secret in the current namespace.
  2861  Either SecretName or Passthrough must be specified, but not both.
  2862  If specified, the named secret must contain a matching certificate
  2863  for the virtual host&rsquo;s FQDN.</p>
  2864  </td>
  2865  </tr>
  2866  <tr>
  2867  <td style="white-space:nowrap">
  2868  <code>minimumProtocolVersion</code>
  2869  <br>
  2870  <em>
  2871  string
  2872  </em>
  2873  </td>
  2874  <td>
  2875  <em>(Optional)</em>
  2876  <p>MinimumProtocolVersion is the minimum TLS version this vhost should
  2877  negotiate. Valid options are <code>1.2</code> (default) and <code>1.3</code>. Any other value
  2878  defaults to TLS 1.2.</p>
  2879  </td>
  2880  </tr>
  2881  <tr>
  2882  <td style="white-space:nowrap">
  2883  <code>passthrough</code>
  2884  <br>
  2885  <em>
  2886  bool
  2887  </em>
  2888  </td>
  2889  <td>
  2890  <em>(Optional)</em>
  2891  <p>Passthrough defines whether the encrypted TLS handshake will be
  2892  passed through to the backing cluster. Either Passthrough or
  2893  SecretName must be specified, but not both.</p>
  2894  </td>
  2895  </tr>
  2896  <tr>
  2897  <td style="white-space:nowrap">
  2898  <code>clientValidation</code>
  2899  <br>
  2900  <em>
  2901  <a href="#projectcontour.io/v1.DownstreamValidation">
  2902  DownstreamValidation
  2903  </a>
  2904  </em>
  2905  </td>
  2906  <td>
  2907  <em>(Optional)</em>
  2908  <p>ClientValidation defines how to verify the client certificate
  2909  when an external client establishes a TLS connection to Envoy.</p>
  2910  <p>This setting:</p>
  2911  <ol>
  2912  <li>Enables TLS client certificate validation.</li>
  2913  <li>Specifies how the client certificate will be validated (i.e.
  2914  validation required or skipped).</li>
  2915  </ol>
  2916  <p>Note: Setting client certificate validation to be skipped should
  2917  be only used in conjunction with an external authorization server that
  2918  performs client validation as Contour will ensure client certificates
  2919  are passed along.</p>
  2920  </td>
  2921  </tr>
  2922  <tr>
  2923  <td style="white-space:nowrap">
  2924  <code>enableFallbackCertificate</code>
  2925  <br>
  2926  <em>
  2927  bool
  2928  </em>
  2929  </td>
  2930  <td>
  2931  <p>EnableFallbackCertificate defines if the vhost should allow a default certificate to
  2932  be applied which handles all requests which don&rsquo;t match the SNI defined in this vhost.</p>
  2933  </td>
  2934  </tr>
  2935  </tbody>
  2936  </table>
  2937  <h3 id="projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec
  2938  </h3>
  2939  <p>
  2940  (<em>Appears on:</em>
  2941  <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>)
  2942  </p>
  2943  <p>
  2944  <p>TLSCertificateDelegationSpec defines the spec of the CRD</p>
  2945  </p>
  2946  <table class="table table-striped table-borderless" style="border:none">
  2947  <thead class="border-bottom">
  2948  <tr>
  2949  <th>Field</th>
  2950  <th>Description</th>
  2951  </tr>
  2952  </thead>
  2953  <tbody class="border-top">
  2954  <tr>
  2955  <td style="white-space:nowrap">
  2956  <code>delegations</code>
  2957  <br>
  2958  <em>
  2959  <a href="#projectcontour.io/v1.CertificateDelegation">
  2960  []CertificateDelegation
  2961  </a>
  2962  </em>
  2963  </td>
  2964  <td>
  2965  </td>
  2966  </tr>
  2967  </tbody>
  2968  </table>
  2969  <h3 id="projectcontour.io/v1.TLSCertificateDelegationStatus">TLSCertificateDelegationStatus
  2970  </h3>
  2971  <p>
  2972  (<em>Appears on:</em>
  2973  <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>)
  2974  </p>
  2975  <p>
  2976  <p>TLSCertificateDelegationStatus allows for the status of the delegation
  2977  to be presented to the user.</p>
  2978  </p>
  2979  <table class="table table-striped table-borderless" style="border:none">
  2980  <thead class="border-bottom">
  2981  <tr>
  2982  <th>Field</th>
  2983  <th>Description</th>
  2984  </tr>
  2985  </thead>
  2986  <tbody class="border-top">
  2987  <tr>
  2988  <td style="white-space:nowrap">
  2989  <code>conditions</code>
  2990  <br>
  2991  <em>
  2992  <a href="#projectcontour.io/v1.DetailedCondition">
  2993  []DetailedCondition
  2994  </a>
  2995  </em>
  2996  </td>
  2997  <td>
  2998  <em>(Optional)</em>
  2999  <p>Conditions contains information about the current status of the HTTPProxy,
  3000  in an upstream-friendly container.</p>
  3001  <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.
  3002  That is, when <code>currentStatus</code> is <code>valid</code>, the <code>Valid</code> condition will be <code>status: true</code>,
  3003  and vice versa.</p>
  3004  <p>Contour will leave untouched any other Conditions set in this block,
  3005  in case some other controller wants to add a Condition.</p>
  3006  <p>If you are another controller owner and wish to add a condition, you <em>should</em>
  3007  namespace your condition with a label, like <code>controller.domain.com\ConditionName</code>.</p>
  3008  </td>
  3009  </tr>
  3010  </tbody>
  3011  </table>
  3012  <h3 id="projectcontour.io/v1.TimeoutPolicy">TimeoutPolicy
  3013  </h3>
  3014  <p>
  3015  (<em>Appears on:</em>
  3016  <a href="#projectcontour.io/v1.Route">Route</a>, 
  3017  <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>)
  3018  </p>
  3019  <p>
  3020  <p>TimeoutPolicy configures timeouts that are used for handling network requests.</p>
  3021  <p>TimeoutPolicy durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>.
  3022  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;.
  3023  The string &ldquo;infinity&rdquo; is also a valid input and specifies no timeout.
  3024  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>
  3025  <p>Example input values: &ldquo;300ms&rdquo;, &ldquo;5s&rdquo;, &ldquo;1m&rdquo;.</p>
  3026  </p>
  3027  <table class="table table-striped table-borderless" style="border:none">
  3028  <thead class="border-bottom">
  3029  <tr>
  3030  <th>Field</th>
  3031  <th>Description</th>
  3032  </tr>
  3033  </thead>
  3034  <tbody class="border-top">
  3035  <tr>
  3036  <td style="white-space:nowrap">
  3037  <code>response</code>
  3038  <br>
  3039  <em>
  3040  string
  3041  </em>
  3042  </td>
  3043  <td>
  3044  <em>(Optional)</em>
  3045  <p>Timeout for receiving a response from the server after processing a request from client.
  3046  If not supplied, Envoy&rsquo;s default value of 15s applies.</p>
  3047  </td>
  3048  </tr>
  3049  <tr>
  3050  <td style="white-space:nowrap">
  3051  <code>idle</code>
  3052  <br>
  3053  <em>
  3054  string
  3055  </em>
  3056  </td>
  3057  <td>
  3058  <em>(Optional)</em>
  3059  <p>Timeout after which, if there are no active requests for this route, the connection between
  3060  Envoy and the backend or Envoy and the external client will be closed.
  3061  If not specified, there is no per-route idle timeout, though a connection manager-wide
  3062  stream_idle_timeout default of 5m still applies.</p>
  3063  </td>
  3064  </tr>
  3065  </tbody>
  3066  </table>
  3067  <h3 id="projectcontour.io/v1.UpstreamValidation">UpstreamValidation
  3068  </h3>
  3069  <p>
  3070  (<em>Appears on:</em>
  3071  <a href="#projectcontour.io/v1.Service">Service</a>, 
  3072  <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>)
  3073  </p>
  3074  <p>
  3075  <p>UpstreamValidation defines how to verify the backend service&rsquo;s certificate</p>
  3076  </p>
  3077  <table class="table table-striped table-borderless" style="border:none">
  3078  <thead class="border-bottom">
  3079  <tr>
  3080  <th>Field</th>
  3081  <th>Description</th>
  3082  </tr>
  3083  </thead>
  3084  <tbody class="border-top">
  3085  <tr>
  3086  <td style="white-space:nowrap">
  3087  <code>caSecret</code>
  3088  <br>
  3089  <em>
  3090  string
  3091  </em>
  3092  </td>
  3093  <td>
  3094  <p>Name or namespaced name of the Kubernetes secret used to validate the certificate presented by the backend</p>
  3095  </td>
  3096  </tr>
  3097  <tr>
  3098  <td style="white-space:nowrap">
  3099  <code>subjectName</code>
  3100  <br>
  3101  <em>
  3102  string
  3103  </em>
  3104  </td>
  3105  <td>
  3106  <p>Key which is expected to be present in the &lsquo;subjectAltName&rsquo; of the presented certificate</p>
  3107  </td>
  3108  </tr>
  3109  </tbody>
  3110  </table>
  3111  <h3 id="projectcontour.io/v1.VirtualHost">VirtualHost
  3112  </h3>
  3113  <p>
  3114  (<em>Appears on:</em>
  3115  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  3116  </p>
  3117  <p>
  3118  <p>VirtualHost appears at most once. If it is present, the object is considered
  3119  to be a &ldquo;root&rdquo;.</p>
  3120  </p>
  3121  <table class="table table-striped table-borderless" style="border:none">
  3122  <thead class="border-bottom">
  3123  <tr>
  3124  <th>Field</th>
  3125  <th>Description</th>
  3126  </tr>
  3127  </thead>
  3128  <tbody class="border-top">
  3129  <tr>
  3130  <td style="white-space:nowrap">
  3131  <code>fqdn</code>
  3132  <br>
  3133  <em>
  3134  string
  3135  </em>
  3136  </td>
  3137  <td>
  3138  <p>The fully qualified domain name of the root of the ingress tree
  3139  all leaves of the DAG rooted at this object relate to the fqdn.</p>
  3140  </td>
  3141  </tr>
  3142  <tr>
  3143  <td style="white-space:nowrap">
  3144  <code>tls</code>
  3145  <br>
  3146  <em>
  3147  <a href="#projectcontour.io/v1.TLS">
  3148  TLS
  3149  </a>
  3150  </em>
  3151  </td>
  3152  <td>
  3153  <em>(Optional)</em>
  3154  <p>If present the fields describes TLS properties of the virtual
  3155  host. The SNI names that will be matched on are described in fqdn,
  3156  the tls.secretName secret must contain a certificate that itself
  3157  contains a name that matches the FQDN.</p>
  3158  </td>
  3159  </tr>
  3160  <tr>
  3161  <td style="white-space:nowrap">
  3162  <code>authorization</code>
  3163  <br>
  3164  <em>
  3165  <a href="#projectcontour.io/v1.AuthorizationServer">
  3166  AuthorizationServer
  3167  </a>
  3168  </em>
  3169  </td>
  3170  <td>
  3171  <em>(Optional)</em>
  3172  <p>This field configures an extension service to perform
  3173  authorization for this virtual host. Authorization can
  3174  only be configured on virtual hosts that have TLS enabled.
  3175  If the TLS configuration requires client certificate
  3176  validation, the client certificate is always included in the
  3177  authentication check request.</p>
  3178  </td>
  3179  </tr>
  3180  <tr>
  3181  <td style="white-space:nowrap">
  3182  <code>corsPolicy</code>
  3183  <br>
  3184  <em>
  3185  <a href="#projectcontour.io/v1.CORSPolicy">
  3186  CORSPolicy
  3187  </a>
  3188  </em>
  3189  </td>
  3190  <td>
  3191  <em>(Optional)</em>
  3192  <p>Specifies the cross-origin policy to apply to the VirtualHost.</p>
  3193  </td>
  3194  </tr>
  3195  <tr>
  3196  <td style="white-space:nowrap">
  3197  <code>rateLimitPolicy</code>
  3198  <br>
  3199  <em>
  3200  <a href="#projectcontour.io/v1.RateLimitPolicy">
  3201  RateLimitPolicy
  3202  </a>
  3203  </em>
  3204  </td>
  3205  <td>
  3206  <em>(Optional)</em>
  3207  <p>The policy for rate limiting on the virtual host.</p>
  3208  </td>
  3209  </tr>
  3210  </tbody>
  3211  </table>
  3212  <hr/>
  3213  <h2 id="projectcontour.io/v1alpha1">projectcontour.io/v1alpha1</h2>
  3214  <p>
  3215  <p>Package v1alpha1 contains API Schema definitions for the projectcontour.io v1alpha1 API group</p>
  3216  </p>
  3217  Resource Types:
  3218  <ul><li>
  3219  <a href="#projectcontour.io/v1alpha1.ExtensionService">ExtensionService</a>
  3220  </li></ul>
  3221  <h3 id="projectcontour.io/v1alpha1.ExtensionService">ExtensionService
  3222  </h3>
  3223  <p>
  3224  <p>ExtensionService is the schema for the Contour extension services API.
  3225  An ExtensionService resource binds a network service to the Contour
  3226  API so that Contour API features can be implemented by collaborating
  3227  components.</p>
  3228  </p>
  3229  <table class="table table-striped table-borderless" style="border:none">
  3230  <thead class="border-bottom">
  3231  <tr>
  3232  <th>Field</th>
  3233  <th>Description</th>
  3234  </tr>
  3235  </thead>
  3236  <tbody class="border-top">
  3237  <tr>
  3238  <td>
  3239  <code>apiVersion</code>
  3240  <br>
  3241  string</td>
  3242  <td>
  3243  <code>
  3244  projectcontour.io/v1alpha1
  3245  </code>
  3246  </td>
  3247  </tr>
  3248  <tr>
  3249  <td>
  3250  <code>kind</code>
  3251  <br>
  3252  string
  3253  </td>
  3254  <td><code>ExtensionService</code></td>
  3255  </tr>
  3256  <tr>
  3257  <td style="white-space:nowrap">
  3258  <code>metadata</code>
  3259  <br>
  3260  <em>
  3261  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta">
  3262  Kubernetes meta/v1.ObjectMeta
  3263  </a>
  3264  </em>
  3265  </td>
  3266  <td>
  3267  Refer to the Kubernetes API documentation for the fields of the
  3268  <code>metadata</code> field.
  3269  </td>
  3270  </tr>
  3271  <tr>
  3272  <td style="white-space:nowrap">
  3273  <code>spec</code>
  3274  <br>
  3275  <em>
  3276  <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">
  3277  ExtensionServiceSpec
  3278  </a>
  3279  </em>
  3280  </td>
  3281  <td>
  3282  <br>
  3283  <br>
  3284  <table style="border:none">
  3285  <tr>
  3286  <td style="white-space:nowrap">
  3287  <code>services</code>
  3288  <br>
  3289  <em>
  3290  <a href="#projectcontour.io/v1alpha1.ExtensionServiceTarget">
  3291  []ExtensionServiceTarget
  3292  </a>
  3293  </em>
  3294  </td>
  3295  <td>
  3296  <p>Services specifies the set of Kubernetes Service resources that
  3297  receive GRPC extension API requests.
  3298  If no weights are specified for any of the entries in
  3299  this array, traffic will be spread evenly across all the
  3300  services.
  3301  Otherwise, traffic is balanced proportionally to the
  3302  Weight field in each entry.</p>
  3303  </td>
  3304  </tr>
  3305  <tr>
  3306  <td style="white-space:nowrap">
  3307  <code>validation</code>
  3308  <br>
  3309  <em>
  3310  <a href="#projectcontour.io/v1.UpstreamValidation">
  3311  UpstreamValidation
  3312  </a>
  3313  </em>
  3314  </td>
  3315  <td>
  3316  <em>(Optional)</em>
  3317  <p>UpstreamValidation defines how to verify the backend service&rsquo;s certificate</p>
  3318  </td>
  3319  </tr>
  3320  <tr>
  3321  <td style="white-space:nowrap">
  3322  <code>protocol</code>
  3323  <br>
  3324  <em>
  3325  string
  3326  </em>
  3327  </td>
  3328  <td>
  3329  <em>(Optional)</em>
  3330  <p>Protocol may be used to specify (or override) the protocol used to reach this Service.
  3331  Values may be h2 or h2c. If omitted, protocol-selection falls back on Service annotations.</p>
  3332  </td>
  3333  </tr>
  3334  <tr>
  3335  <td style="white-space:nowrap">
  3336  <code>loadBalancerPolicy</code>
  3337  <br>
  3338  <em>
  3339  <a href="#projectcontour.io/v1.LoadBalancerPolicy">
  3340  LoadBalancerPolicy
  3341  </a>
  3342  </em>
  3343  </td>
  3344  <td>
  3345  <em>(Optional)</em>
  3346  <p>The policy for load balancing GRPC service requests. Note that the
  3347  <code>Cookie</code> and <code>RequestHash</code> load balancing strategies cannot be used
  3348  here.</p>
  3349  </td>
  3350  </tr>
  3351  <tr>
  3352  <td style="white-space:nowrap">
  3353  <code>timeoutPolicy</code>
  3354  <br>
  3355  <em>
  3356  <a href="#projectcontour.io/v1.TimeoutPolicy">
  3357  TimeoutPolicy
  3358  </a>
  3359  </em>
  3360  </td>
  3361  <td>
  3362  <em>(Optional)</em>
  3363  <p>The timeout policy for requests to the services.</p>
  3364  </td>
  3365  </tr>
  3366  <tr>
  3367  <td style="white-space:nowrap">
  3368  <code>protocolVersion</code>
  3369  <br>
  3370  <em>
  3371  <a href="#projectcontour.io/v1alpha1.ExtensionProtocolVersion">
  3372  ExtensionProtocolVersion
  3373  </a>
  3374  </em>
  3375  </td>
  3376  <td>
  3377  <em>(Optional)</em>
  3378  <p>This field sets the version of the GRPC protocol that Envoy uses to
  3379  send requests to the extension service. Since Contour always uses the
  3380  v3 Envoy API, this is currently fixed at &ldquo;v3&rdquo;. However, other
  3381  protocol options will be available in future.</p>
  3382  </td>
  3383  </tr>
  3384  </table>
  3385  </td>
  3386  </tr>
  3387  <tr>
  3388  <td style="white-space:nowrap">
  3389  <code>status</code>
  3390  <br>
  3391  <em>
  3392  <a href="#projectcontour.io/v1alpha1.ExtensionServiceStatus">
  3393  ExtensionServiceStatus
  3394  </a>
  3395  </em>
  3396  </td>
  3397  <td>
  3398  </td>
  3399  </tr>
  3400  </tbody>
  3401  </table>
  3402  <h3 id="projectcontour.io/v1alpha1.ExtensionProtocolVersion">ExtensionProtocolVersion
  3403  (<code>string</code> alias)</h3>
  3404  <p>
  3405  (<em>Appears on:</em>
  3406  <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>)
  3407  </p>
  3408  <p>
  3409  <p>ExtensionProtocolVersion is the version of the GRPC protocol used
  3410  to access extension services. The only version currently supported
  3411  is &ldquo;v3&rdquo;.</p>
  3412  </p>
  3413  <h3 id="projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec
  3414  </h3>
  3415  <p>
  3416  (<em>Appears on:</em>
  3417  <a href="#projectcontour.io/v1alpha1.ExtensionService">ExtensionService</a>)
  3418  </p>
  3419  <p>
  3420  <p>ExtensionServiceSpec defines the desired state of an ExtensionService resource.</p>
  3421  </p>
  3422  <table class="table table-striped table-borderless" style="border:none">
  3423  <thead class="border-bottom">
  3424  <tr>
  3425  <th>Field</th>
  3426  <th>Description</th>
  3427  </tr>
  3428  </thead>
  3429  <tbody class="border-top">
  3430  <tr>
  3431  <td style="white-space:nowrap">
  3432  <code>services</code>
  3433  <br>
  3434  <em>
  3435  <a href="#projectcontour.io/v1alpha1.ExtensionServiceTarget">
  3436  []ExtensionServiceTarget
  3437  </a>
  3438  </em>
  3439  </td>
  3440  <td>
  3441  <p>Services specifies the set of Kubernetes Service resources that
  3442  receive GRPC extension API requests.
  3443  If no weights are specified for any of the entries in
  3444  this array, traffic will be spread evenly across all the
  3445  services.
  3446  Otherwise, traffic is balanced proportionally to the
  3447  Weight field in each entry.</p>
  3448  </td>
  3449  </tr>
  3450  <tr>
  3451  <td style="white-space:nowrap">
  3452  <code>validation</code>
  3453  <br>
  3454  <em>
  3455  <a href="#projectcontour.io/v1.UpstreamValidation">
  3456  UpstreamValidation
  3457  </a>
  3458  </em>
  3459  </td>
  3460  <td>
  3461  <em>(Optional)</em>
  3462  <p>UpstreamValidation defines how to verify the backend service&rsquo;s certificate</p>
  3463  </td>
  3464  </tr>
  3465  <tr>
  3466  <td style="white-space:nowrap">
  3467  <code>protocol</code>
  3468  <br>
  3469  <em>
  3470  string
  3471  </em>
  3472  </td>
  3473  <td>
  3474  <em>(Optional)</em>
  3475  <p>Protocol may be used to specify (or override) the protocol used to reach this Service.
  3476  Values may be h2 or h2c. If omitted, protocol-selection falls back on Service annotations.</p>
  3477  </td>
  3478  </tr>
  3479  <tr>
  3480  <td style="white-space:nowrap">
  3481  <code>loadBalancerPolicy</code>
  3482  <br>
  3483  <em>
  3484  <a href="#projectcontour.io/v1.LoadBalancerPolicy">
  3485  LoadBalancerPolicy
  3486  </a>
  3487  </em>
  3488  </td>
  3489  <td>
  3490  <em>(Optional)</em>
  3491  <p>The policy for load balancing GRPC service requests. Note that the
  3492  <code>Cookie</code> and <code>RequestHash</code> load balancing strategies cannot be used
  3493  here.</p>
  3494  </td>
  3495  </tr>
  3496  <tr>
  3497  <td style="white-space:nowrap">
  3498  <code>timeoutPolicy</code>
  3499  <br>
  3500  <em>
  3501  <a href="#projectcontour.io/v1.TimeoutPolicy">
  3502  TimeoutPolicy
  3503  </a>
  3504  </em>
  3505  </td>
  3506  <td>
  3507  <em>(Optional)</em>
  3508  <p>The timeout policy for requests to the services.</p>
  3509  </td>
  3510  </tr>
  3511  <tr>
  3512  <td style="white-space:nowrap">
  3513  <code>protocolVersion</code>
  3514  <br>
  3515  <em>
  3516  <a href="#projectcontour.io/v1alpha1.ExtensionProtocolVersion">
  3517  ExtensionProtocolVersion
  3518  </a>
  3519  </em>
  3520  </td>
  3521  <td>
  3522  <em>(Optional)</em>
  3523  <p>This field sets the version of the GRPC protocol that Envoy uses to
  3524  send requests to the extension service. Since Contour always uses the
  3525  v3 Envoy API, this is currently fixed at &ldquo;v3&rdquo;. However, other
  3526  protocol options will be available in future.</p>
  3527  </td>
  3528  </tr>
  3529  </tbody>
  3530  </table>
  3531  <h3 id="projectcontour.io/v1alpha1.ExtensionServiceStatus">ExtensionServiceStatus
  3532  </h3>
  3533  <p>
  3534  (<em>Appears on:</em>
  3535  <a href="#projectcontour.io/v1alpha1.ExtensionService">ExtensionService</a>)
  3536  </p>
  3537  <p>
  3538  <p>ExtensionServiceStatus defines the observed state of an
  3539  ExtensionService resource.</p>
  3540  </p>
  3541  <table class="table table-striped table-borderless" style="border:none">
  3542  <thead class="border-bottom">
  3543  <tr>
  3544  <th>Field</th>
  3545  <th>Description</th>
  3546  </tr>
  3547  </thead>
  3548  <tbody class="border-top">
  3549  <tr>
  3550  <td style="white-space:nowrap">
  3551  <code>conditions</code>
  3552  <br>
  3553  <em>
  3554  <a href="#projectcontour.io/v1.DetailedCondition">
  3555  []DetailedCondition
  3556  </a>
  3557  </em>
  3558  </td>
  3559  <td>
  3560  <em>(Optional)</em>
  3561  <p>Conditions contains the current status of the ExtensionService resource.</p>
  3562  <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.</p>
  3563  <p>Contour will not modify any other Conditions set in this block,
  3564  in case some other controller wants to add a Condition.</p>
  3565  </td>
  3566  </tr>
  3567  </tbody>
  3568  </table>
  3569  <h3 id="projectcontour.io/v1alpha1.ExtensionServiceTarget">ExtensionServiceTarget
  3570  </h3>
  3571  <p>
  3572  (<em>Appears on:</em>
  3573  <a href="#projectcontour.io/v1alpha1.ExtensionServiceSpec">ExtensionServiceSpec</a>)
  3574  </p>
  3575  <p>
  3576  <p>ExtensionServiceTarget defines an Kubernetes Service to target with
  3577  extension service traffic.</p>
  3578  </p>
  3579  <table class="table table-striped table-borderless" style="border:none">
  3580  <thead class="border-bottom">
  3581  <tr>
  3582  <th>Field</th>
  3583  <th>Description</th>
  3584  </tr>
  3585  </thead>
  3586  <tbody class="border-top">
  3587  <tr>
  3588  <td style="white-space:nowrap">
  3589  <code>name</code>
  3590  <br>
  3591  <em>
  3592  string
  3593  </em>
  3594  </td>
  3595  <td>
  3596  <p>Name is the name of Kubernetes service that will accept service
  3597  traffic.</p>
  3598  </td>
  3599  </tr>
  3600  <tr>
  3601  <td style="white-space:nowrap">
  3602  <code>port</code>
  3603  <br>
  3604  <em>
  3605  int
  3606  </em>
  3607  </td>
  3608  <td>
  3609  <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p>
  3610  </td>
  3611  </tr>
  3612  <tr>
  3613  <td style="white-space:nowrap">
  3614  <code>weight</code>
  3615  <br>
  3616  <em>
  3617  uint32
  3618  </em>
  3619  </td>
  3620  <td>
  3621  <em>(Optional)</em>
  3622  <p>Weight defines proportion of traffic to balance to the Kubernetes Service.</p>
  3623  </td>
  3624  </tr>
  3625  </tbody>
  3626  </table>
  3627  <hr/>
  3628  <p><em>
  3629  Generated with <code>gen-crd-api-reference-docs</code>.
  3630  </em></p>