github.com/projectcontour/contour@v1.28.2/site/content/docs/v1.8.0/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  </ul>
     7  <h2 id="projectcontour.io/v1">projectcontour.io/v1</h2>
     8  <p>
     9  <p>This package holds the specification for the projectcontour.io Custom Resource Definitions (CRDs).</p>
    10  <p>In building this CRD, we&rsquo;ve inadvertently overloaded the word &ldquo;Condition&rdquo;, so we&rsquo;ve tried to make
    11  this spec clear as to which types of condition are which.</p>
    12  <p><code>MatchConditions</code> are used by <code>Routes</code> and <code>Includes</code> to specify rules to match requests against for either
    13  routing or inclusion.</p>
    14  <p><code>DetailedConditions</code> are used in the <code>Status</code> of these objects to hold information about the relevant
    15  state of the object and the world around it.</p>
    16  <p><code>SubConditions</code> are used underneath <code>DetailedConditions</code> to give more detail to errors or warnings.</p>
    17  </p>
    18  Resource Types:
    19  <ul><li>
    20  <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>
    21  </li><li>
    22  <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>
    23  </li></ul>
    24  <h3 id="projectcontour.io/v1.HTTPProxy">HTTPProxy
    25  </h3>
    26  <p>
    27  <p>HTTPProxy is an Ingress CRD specification.</p>
    28  </p>
    29  <table class="table table-striped table-borderless" style="border:none">
    30  <thead class="border-bottom">
    31  <tr>
    32  <th>Field</th>
    33  <th>Description</th>
    34  </tr>
    35  </thead>
    36  <tbody class="border-top">
    37  <tr>
    38  <td>
    39  <code>apiVersion</code>
    40  <br>
    41  string</td>
    42  <td>
    43  <code>
    44  projectcontour.io/v1
    45  </code>
    46  </td>
    47  </tr>
    48  <tr>
    49  <td>
    50  <code>kind</code>
    51  <br>
    52  string
    53  </td>
    54  <td><code>HTTPProxy</code></td>
    55  </tr>
    56  <tr>
    57  <td style="white-space:nowrap">
    58  <code>metadata</code>
    59  <br>
    60  <em>
    61  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta">
    62  Kubernetes meta/v1.ObjectMeta
    63  </a>
    64  </em>
    65  </td>
    66  <td>
    67  Refer to the Kubernetes API documentation for the fields of the
    68  <code>metadata</code> field.
    69  </td>
    70  </tr>
    71  <tr>
    72  <td style="white-space:nowrap">
    73  <code>spec</code>
    74  <br>
    75  <em>
    76  <a href="#projectcontour.io/v1.HTTPProxySpec">
    77  HTTPProxySpec
    78  </a>
    79  </em>
    80  </td>
    81  <td>
    82  <br>
    83  <br>
    84  <table style="border:none">
    85  <tr>
    86  <td style="white-space:nowrap">
    87  <code>virtualhost</code>
    88  <br>
    89  <em>
    90  <a href="#projectcontour.io/v1.VirtualHost">
    91  VirtualHost
    92  </a>
    93  </em>
    94  </td>
    95  <td>
    96  <em>(Optional)</em>
    97  <p>Virtualhost appears at most once. If it is present, the object is considered
    98  to be a &ldquo;root&rdquo; HTTPProxy.</p>
    99  </td>
   100  </tr>
   101  <tr>
   102  <td style="white-space:nowrap">
   103  <code>routes</code>
   104  <br>
   105  <em>
   106  <a href="#projectcontour.io/v1.Route">
   107  []Route
   108  </a>
   109  </em>
   110  </td>
   111  <td>
   112  <em>(Optional)</em>
   113  <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p>
   114  </td>
   115  </tr>
   116  <tr>
   117  <td style="white-space:nowrap">
   118  <code>tcpproxy</code>
   119  <br>
   120  <em>
   121  <a href="#projectcontour.io/v1.TCPProxy">
   122  TCPProxy
   123  </a>
   124  </em>
   125  </td>
   126  <td>
   127  <em>(Optional)</em>
   128  <p>TCPProxy holds TCP proxy information.</p>
   129  </td>
   130  </tr>
   131  <tr>
   132  <td style="white-space:nowrap">
   133  <code>includes</code>
   134  <br>
   135  <em>
   136  <a href="#projectcontour.io/v1.Include">
   137  []Include
   138  </a>
   139  </em>
   140  </td>
   141  <td>
   142  <em>(Optional)</em>
   143  <p>Includes allow for specific routing configuration to be included from another HTTPProxy,
   144  possibly in another namespace.</p>
   145  </td>
   146  </tr>
   147  </table>
   148  </td>
   149  </tr>
   150  <tr>
   151  <td style="white-space:nowrap">
   152  <code>status</code>
   153  <br>
   154  <em>
   155  <a href="#projectcontour.io/v1.HTTPProxyStatus">
   156  HTTPProxyStatus
   157  </a>
   158  </em>
   159  </td>
   160  <td>
   161  <em>(Optional)</em>
   162  <p>Status is a container for computed information about the HTTPProxy.</p>
   163  </td>
   164  </tr>
   165  </tbody>
   166  </table>
   167  <h3 id="projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation
   168  </h3>
   169  <p>
   170  <p>TLSCertificateDelegation is an TLS Certificate Delegation CRD specification.
   171  See design/tls-certificate-delegation.md for details.</p>
   172  </p>
   173  <table class="table table-striped table-borderless" style="border:none">
   174  <thead class="border-bottom">
   175  <tr>
   176  <th>Field</th>
   177  <th>Description</th>
   178  </tr>
   179  </thead>
   180  <tbody class="border-top">
   181  <tr>
   182  <td>
   183  <code>apiVersion</code>
   184  <br>
   185  string</td>
   186  <td>
   187  <code>
   188  projectcontour.io/v1
   189  </code>
   190  </td>
   191  </tr>
   192  <tr>
   193  <td>
   194  <code>kind</code>
   195  <br>
   196  string
   197  </td>
   198  <td><code>TLSCertificateDelegation</code></td>
   199  </tr>
   200  <tr>
   201  <td style="white-space:nowrap">
   202  <code>metadata</code>
   203  <br>
   204  <em>
   205  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#objectmeta-v1-meta">
   206  Kubernetes meta/v1.ObjectMeta
   207  </a>
   208  </em>
   209  </td>
   210  <td>
   211  Refer to the Kubernetes API documentation for the fields of the
   212  <code>metadata</code> field.
   213  </td>
   214  </tr>
   215  <tr>
   216  <td style="white-space:nowrap">
   217  <code>spec</code>
   218  <br>
   219  <em>
   220  <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec">
   221  TLSCertificateDelegationSpec
   222  </a>
   223  </em>
   224  </td>
   225  <td>
   226  <br>
   227  <br>
   228  <table style="border:none">
   229  <tr>
   230  <td style="white-space:nowrap">
   231  <code>delegations</code>
   232  <br>
   233  <em>
   234  <a href="#projectcontour.io/v1.CertificateDelegation">
   235  []CertificateDelegation
   236  </a>
   237  </em>
   238  </td>
   239  <td>
   240  </td>
   241  </tr>
   242  </table>
   243  </td>
   244  </tr>
   245  <tr>
   246  <td style="white-space:nowrap">
   247  <code>status</code>
   248  <br>
   249  <em>
   250  <a href="#projectcontour.io/v1.TLSCertificateDelegationStatus">
   251  TLSCertificateDelegationStatus
   252  </a>
   253  </em>
   254  </td>
   255  <td>
   256  <em>(Optional)</em>
   257  </td>
   258  </tr>
   259  </tbody>
   260  </table>
   261  <h3 id="projectcontour.io/v1.CertificateDelegation">CertificateDelegation
   262  </h3>
   263  <p>
   264  (<em>Appears on:</em>
   265  <a href="#projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec</a>)
   266  </p>
   267  <p>
   268  <p>CertificateDelegation maps the authority to reference a secret
   269  in the current namespace to a set of namespaces.</p>
   270  </p>
   271  <table class="table table-striped table-borderless" style="border:none">
   272  <thead class="border-bottom">
   273  <tr>
   274  <th>Field</th>
   275  <th>Description</th>
   276  </tr>
   277  </thead>
   278  <tbody class="border-top">
   279  <tr>
   280  <td style="white-space:nowrap">
   281  <code>secretName</code>
   282  <br>
   283  <em>
   284  string
   285  </em>
   286  </td>
   287  <td>
   288  <p>required, the name of a secret in the current namespace.</p>
   289  </td>
   290  </tr>
   291  <tr>
   292  <td style="white-space:nowrap">
   293  <code>targetNamespaces</code>
   294  <br>
   295  <em>
   296  []string
   297  </em>
   298  </td>
   299  <td>
   300  <p>required, the namespaces the authority to reference the
   301  the secret will be delegated to.
   302  If TargetNamespaces is nil or empty, the CertificateDelegation&rsquo;
   303  is ignored. If the TargetNamespace list contains the character, &ldquo;*&rdquo;
   304  the secret will be delegated to all namespaces.</p>
   305  </td>
   306  </tr>
   307  </tbody>
   308  </table>
   309  <h3 id="projectcontour.io/v1.Condition">Condition
   310  </h3>
   311  <p>
   312  (<em>Appears on:</em>
   313  <a href="#projectcontour.io/v1.DetailedCondition">DetailedCondition</a>)
   314  </p>
   315  <p>
   316  <p>Condition contains details for one aspect of the current state of this API Resource.</p>
   317  <p>This struct is intended for direct use as an array at the field path .status.conditions.  For example,</p>
   318  <pre><code class="language-go">type FooStatus struct{
   319  // Represents the observations of a foo's current state.
   320  // Known .status.conditions.type are: &quot;Available&quot;, &quot;Progressing&quot;, and &quot;Degraded&quot;
   321  // +patchMergeKey=type
   322  // +patchStrategy=merge
   323  // +listType=map
   324  // +listMapKey=type
   325  Conditions []metav1.Condition `json:&quot;conditions,omitempty&quot; patchStrategy:&quot;merge&quot; patchMergeKey:&quot;type&quot; protobuf:&quot;bytes,1,rep,name=conditions&quot;`
   326  // other fields
   327  }
   328  </code></pre>
   329  </p>
   330  <table class="table table-striped table-borderless" style="border:none">
   331  <thead class="border-bottom">
   332  <tr>
   333  <th>Field</th>
   334  <th>Description</th>
   335  </tr>
   336  </thead>
   337  <tbody class="border-top">
   338  <tr>
   339  <td style="white-space:nowrap">
   340  <code>type</code>
   341  <br>
   342  <em>
   343  string
   344  </em>
   345  </td>
   346  <td>
   347  <p>Type of condition in CamelCase or in foo.example.com/CamelCase.</p>
   348  <p>Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   349  useful (see .node.status.conditions), the ability to deconflict is important.</p>
   350  <p>The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)</p>
   351  </td>
   352  </tr>
   353  <tr>
   354  <td style="white-space:nowrap">
   355  <code>status</code>
   356  <br>
   357  <em>
   358  <a href="#projectcontour.io/v1.ConditionStatus">
   359  ConditionStatus
   360  </a>
   361  </em>
   362  </td>
   363  <td>
   364  <p>status of the condition, one of True, False, Unknown.</p>
   365  </td>
   366  </tr>
   367  <tr>
   368  <td style="white-space:nowrap">
   369  <code>observedGeneration</code>
   370  <br>
   371  <em>
   372  int64
   373  </em>
   374  </td>
   375  <td>
   376  <em>(Optional)</em>
   377  <p>observedGeneration represents the .metadata.generation that the condition was set based upon.</p>
   378  <p>For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   379  with respect to the current state of the instance.</p>
   380  </td>
   381  </tr>
   382  <tr>
   383  <td style="white-space:nowrap">
   384  <code>lastTransitionTime</code>
   385  <br>
   386  <em>
   387  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#time-v1-meta">
   388  Kubernetes meta/v1.Time
   389  </a>
   390  </em>
   391  </td>
   392  <td>
   393  <p>lastTransitionTime is the last time the condition transitioned from one status to another.</p>
   394  <p>This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.</p>
   395  </td>
   396  </tr>
   397  <tr>
   398  <td style="white-space:nowrap">
   399  <code>reason</code>
   400  <br>
   401  <em>
   402  string
   403  </em>
   404  </td>
   405  <td>
   406  <p>Reason contains a programmatic identifier indicating the reason for the condition&rsquo;s last transition.</p>
   407  <p>Producers of specific condition types may define expected values and meanings for this field,
   408  and whether the values are considered a guaranteed API.</p>
   409  <p>The value should be a CamelCase string.</p>
   410  <p>This field may not be empty.</p>
   411  </td>
   412  </tr>
   413  <tr>
   414  <td style="white-space:nowrap">
   415  <code>message</code>
   416  <br>
   417  <em>
   418  string
   419  </em>
   420  </td>
   421  <td>
   422  <p>message is a human readable message indicating details about the transition.</p>
   423  <p>This may be an empty string.</p>
   424  </td>
   425  </tr>
   426  </tbody>
   427  </table>
   428  <h3 id="projectcontour.io/v1.ConditionStatus">ConditionStatus
   429  (<code>string</code> alias)</h3>
   430  <p>
   431  (<em>Appears on:</em>
   432  <a href="#projectcontour.io/v1.Condition">Condition</a>, 
   433  <a href="#projectcontour.io/v1.SubCondition">SubCondition</a>)
   434  </p>
   435  <p>
   436  </p>
   437  <h3 id="projectcontour.io/v1.DetailedCondition">DetailedCondition
   438  </h3>
   439  <p>
   440  (<em>Appears on:</em>
   441  <a href="#projectcontour.io/v1.HTTPProxyStatus">HTTPProxyStatus</a>, 
   442  <a href="#projectcontour.io/v1.TLSCertificateDelegationStatus">TLSCertificateDelegationStatus</a>)
   443  </p>
   444  <p>
   445  <p>DetailedCondition is an extension of the normal Kubernetes conditions, with two extra
   446  fields to hold sub-conditions, which provide more detailed reasons for the state (True or False)
   447  of the condition.</p>
   448  <p><code>errors</code> holds information about sub-conditions which are fatal to that condition and render its state False.</p>
   449  <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>
   450  <p>Remember that Conditions have a type, a status, and a reason.</p>
   451  <p>The type is the type of the condition, the most important one in this CRD set is <code>Valid</code>.</p>
   452  <p>In the case of <code>Valid</code>, <code>status: true</code> means that the object is has been ingested into Contour with no errors.
   453  <code>warnings</code> may still be present, and will be indicated in the Reason field.</p>
   454  <p><code>Valid</code>, <code>status: false</code> means that the object has had one or more fatal errors during processing into Contour.
   455  The details of the errors will be present under the <code>errors</code> field.</p>
   456  <p>There should never be subconditions under <code>errors</code> when <code>status</code> is <code>true</code>.</p>
   457  </p>
   458  <table class="table table-striped table-borderless" style="border:none">
   459  <thead class="border-bottom">
   460  <tr>
   461  <th>Field</th>
   462  <th>Description</th>
   463  </tr>
   464  </thead>
   465  <tbody class="border-top">
   466  <tr>
   467  <td style="white-space:nowrap">
   468  <code>Condition</code>
   469  <br>
   470  <em>
   471  <a href="#projectcontour.io/v1.Condition">
   472  Condition
   473  </a>
   474  </em>
   475  </td>
   476  <td>
   477  <p>
   478  (Members of <code>Condition</code> are embedded into this type.)
   479  </p>
   480  </td>
   481  </tr>
   482  <tr>
   483  <td style="white-space:nowrap">
   484  <code>errors</code>
   485  <br>
   486  <em>
   487  <a href="#projectcontour.io/v1.SubCondition">
   488  []SubCondition
   489  </a>
   490  </em>
   491  </td>
   492  <td>
   493  <em>(Optional)</em>
   494  <p>Errors contains a slice of relevant error subconditions for this object.</p>
   495  <p>Subconditions are expected to appear when relevant (when there is a error), and disappear when not relevant.
   496  An empty slice here indicates no errors.</p>
   497  </td>
   498  </tr>
   499  <tr>
   500  <td style="white-space:nowrap">
   501  <code>warnings</code>
   502  <br>
   503  <em>
   504  <a href="#projectcontour.io/v1.SubCondition">
   505  []SubCondition
   506  </a>
   507  </em>
   508  </td>
   509  <td>
   510  <em>(Optional)</em>
   511  <p>Warnings contains a slice of relevant warning subconditions for this object.</p>
   512  <p>Subconditions are expected to appear when relevant (when there is a warning), and disappear when not relevant.
   513  An empty slice here indicates no warnings.</p>
   514  </td>
   515  </tr>
   516  </tbody>
   517  </table>
   518  <h3 id="projectcontour.io/v1.DownstreamValidation">DownstreamValidation
   519  </h3>
   520  <p>
   521  (<em>Appears on:</em>
   522  <a href="#projectcontour.io/v1.TLS">TLS</a>)
   523  </p>
   524  <p>
   525  <p>DownstreamValidation defines how to verify the client certificate.</p>
   526  </p>
   527  <table class="table table-striped table-borderless" style="border:none">
   528  <thead class="border-bottom">
   529  <tr>
   530  <th>Field</th>
   531  <th>Description</th>
   532  </tr>
   533  </thead>
   534  <tbody class="border-top">
   535  <tr>
   536  <td style="white-space:nowrap">
   537  <code>caSecret</code>
   538  <br>
   539  <em>
   540  string
   541  </em>
   542  </td>
   543  <td>
   544  <p>Name of a Kubernetes secret that contains a CA certificate bundle.
   545  The client certificate must validate against the certificates in the bundle.</p>
   546  </td>
   547  </tr>
   548  </tbody>
   549  </table>
   550  <h3 id="projectcontour.io/v1.HTTPHealthCheckPolicy">HTTPHealthCheckPolicy
   551  </h3>
   552  <p>
   553  (<em>Appears on:</em>
   554  <a href="#projectcontour.io/v1.Route">Route</a>)
   555  </p>
   556  <p>
   557  <p>HTTPHealthCheckPolicy defines health checks on the upstream service.</p>
   558  </p>
   559  <table class="table table-striped table-borderless" style="border:none">
   560  <thead class="border-bottom">
   561  <tr>
   562  <th>Field</th>
   563  <th>Description</th>
   564  </tr>
   565  </thead>
   566  <tbody class="border-top">
   567  <tr>
   568  <td style="white-space:nowrap">
   569  <code>path</code>
   570  <br>
   571  <em>
   572  string
   573  </em>
   574  </td>
   575  <td>
   576  <p>HTTP endpoint used to perform health checks on upstream service</p>
   577  </td>
   578  </tr>
   579  <tr>
   580  <td style="white-space:nowrap">
   581  <code>host</code>
   582  <br>
   583  <em>
   584  string
   585  </em>
   586  </td>
   587  <td>
   588  <p>The value of the host header in the HTTP health check request.
   589  If left empty (default value), the name &ldquo;contour-envoy-healthcheck&rdquo;
   590  will be used.</p>
   591  </td>
   592  </tr>
   593  <tr>
   594  <td style="white-space:nowrap">
   595  <code>intervalSeconds</code>
   596  <br>
   597  <em>
   598  int64
   599  </em>
   600  </td>
   601  <td>
   602  <em>(Optional)</em>
   603  <p>The interval (seconds) between health checks</p>
   604  </td>
   605  </tr>
   606  <tr>
   607  <td style="white-space:nowrap">
   608  <code>timeoutSeconds</code>
   609  <br>
   610  <em>
   611  int64
   612  </em>
   613  </td>
   614  <td>
   615  <em>(Optional)</em>
   616  <p>The time to wait (seconds) for a health check response</p>
   617  </td>
   618  </tr>
   619  <tr>
   620  <td style="white-space:nowrap">
   621  <code>unhealthyThresholdCount</code>
   622  <br>
   623  <em>
   624  int64
   625  </em>
   626  </td>
   627  <td>
   628  <em>(Optional)</em>
   629  <p>The number of unhealthy health checks required before a host is marked unhealthy</p>
   630  </td>
   631  </tr>
   632  <tr>
   633  <td style="white-space:nowrap">
   634  <code>healthyThresholdCount</code>
   635  <br>
   636  <em>
   637  int64
   638  </em>
   639  </td>
   640  <td>
   641  <em>(Optional)</em>
   642  <p>The number of healthy health checks required before a host is marked healthy</p>
   643  </td>
   644  </tr>
   645  </tbody>
   646  </table>
   647  <h3 id="projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec
   648  </h3>
   649  <p>
   650  (<em>Appears on:</em>
   651  <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>)
   652  </p>
   653  <p>
   654  <p>HTTPProxySpec defines the spec of the CRD.</p>
   655  </p>
   656  <table class="table table-striped table-borderless" style="border:none">
   657  <thead class="border-bottom">
   658  <tr>
   659  <th>Field</th>
   660  <th>Description</th>
   661  </tr>
   662  </thead>
   663  <tbody class="border-top">
   664  <tr>
   665  <td style="white-space:nowrap">
   666  <code>virtualhost</code>
   667  <br>
   668  <em>
   669  <a href="#projectcontour.io/v1.VirtualHost">
   670  VirtualHost
   671  </a>
   672  </em>
   673  </td>
   674  <td>
   675  <em>(Optional)</em>
   676  <p>Virtualhost appears at most once. If it is present, the object is considered
   677  to be a &ldquo;root&rdquo; HTTPProxy.</p>
   678  </td>
   679  </tr>
   680  <tr>
   681  <td style="white-space:nowrap">
   682  <code>routes</code>
   683  <br>
   684  <em>
   685  <a href="#projectcontour.io/v1.Route">
   686  []Route
   687  </a>
   688  </em>
   689  </td>
   690  <td>
   691  <em>(Optional)</em>
   692  <p>Routes are the ingress routes. If TCPProxy is present, Routes is ignored.</p>
   693  </td>
   694  </tr>
   695  <tr>
   696  <td style="white-space:nowrap">
   697  <code>tcpproxy</code>
   698  <br>
   699  <em>
   700  <a href="#projectcontour.io/v1.TCPProxy">
   701  TCPProxy
   702  </a>
   703  </em>
   704  </td>
   705  <td>
   706  <em>(Optional)</em>
   707  <p>TCPProxy holds TCP proxy information.</p>
   708  </td>
   709  </tr>
   710  <tr>
   711  <td style="white-space:nowrap">
   712  <code>includes</code>
   713  <br>
   714  <em>
   715  <a href="#projectcontour.io/v1.Include">
   716  []Include
   717  </a>
   718  </em>
   719  </td>
   720  <td>
   721  <em>(Optional)</em>
   722  <p>Includes allow for specific routing configuration to be included from another HTTPProxy,
   723  possibly in another namespace.</p>
   724  </td>
   725  </tr>
   726  </tbody>
   727  </table>
   728  <h3 id="projectcontour.io/v1.HTTPProxyStatus">HTTPProxyStatus
   729  </h3>
   730  <p>
   731  (<em>Appears on:</em>
   732  <a href="#projectcontour.io/v1.HTTPProxy">HTTPProxy</a>)
   733  </p>
   734  <p>
   735  <p>HTTPProxyStatus reports the current state of the HTTPProxy.</p>
   736  </p>
   737  <table class="table table-striped table-borderless" style="border:none">
   738  <thead class="border-bottom">
   739  <tr>
   740  <th>Field</th>
   741  <th>Description</th>
   742  </tr>
   743  </thead>
   744  <tbody class="border-top">
   745  <tr>
   746  <td style="white-space:nowrap">
   747  <code>currentStatus</code>
   748  <br>
   749  <em>
   750  string
   751  </em>
   752  </td>
   753  <td>
   754  <em>(Optional)</em>
   755  </td>
   756  </tr>
   757  <tr>
   758  <td style="white-space:nowrap">
   759  <code>description</code>
   760  <br>
   761  <em>
   762  string
   763  </em>
   764  </td>
   765  <td>
   766  <em>(Optional)</em>
   767  </td>
   768  </tr>
   769  <tr>
   770  <td style="white-space:nowrap">
   771  <code>loadBalancer</code>
   772  <br>
   773  <em>
   774  <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#loadbalancerstatus-v1-core">
   775  Kubernetes core/v1.LoadBalancerStatus
   776  </a>
   777  </em>
   778  </td>
   779  <td>
   780  <em>(Optional)</em>
   781  <p>LoadBalancer contains the current status of the load balancer.</p>
   782  </td>
   783  </tr>
   784  <tr>
   785  <td style="white-space:nowrap">
   786  <code>conditions</code>
   787  <br>
   788  <em>
   789  <a href="#projectcontour.io/v1.DetailedCondition">
   790  []DetailedCondition
   791  </a>
   792  </em>
   793  </td>
   794  <td>
   795  <em>(Optional)</em>
   796  <p>Conditions contains information about the current status of the HTTPProxy,
   797  in an upstream-friendly container.</p>
   798  <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.
   799  That is, when <code>currentStatus</code> is <code>valid</code>, the <code>Valid</code> condition will be <code>status: true</code>,
   800  and vice versa.</p>
   801  <p>Contour will leave untouched any other Conditions set in this block,
   802  in case some other controller wants to add a Condition.</p>
   803  <p>If you are another controller owner and wish to add a condition, you <em>should</em>
   804  namespace your condition with a label, like <code>controller.domain.com/ConditionName</code>.</p>
   805  </td>
   806  </tr>
   807  </tbody>
   808  </table>
   809  <h3 id="projectcontour.io/v1.HeaderMatchCondition">HeaderMatchCondition
   810  </h3>
   811  <p>
   812  (<em>Appears on:</em>
   813  <a href="#projectcontour.io/v1.MatchCondition">MatchCondition</a>)
   814  </p>
   815  <p>
   816  <p>HeaderMatchCondition specifies how to conditionally match against HTTP
   817  headers. The Name field is required, but only one of the remaining
   818  fields should be be provided.</p>
   819  </p>
   820  <table class="table table-striped table-borderless" style="border:none">
   821  <thead class="border-bottom">
   822  <tr>
   823  <th>Field</th>
   824  <th>Description</th>
   825  </tr>
   826  </thead>
   827  <tbody class="border-top">
   828  <tr>
   829  <td style="white-space:nowrap">
   830  <code>name</code>
   831  <br>
   832  <em>
   833  string
   834  </em>
   835  </td>
   836  <td>
   837  <p>Name is the name of the header to match against. Name is required.
   838  Header names are case insensitive.</p>
   839  </td>
   840  </tr>
   841  <tr>
   842  <td style="white-space:nowrap">
   843  <code>present</code>
   844  <br>
   845  <em>
   846  bool
   847  </em>
   848  </td>
   849  <td>
   850  <em>(Optional)</em>
   851  <p>Present specifies that condition is true when the named header
   852  is present, regardless of its value. Note that setting Present
   853  to false does not make the condition true if the named header
   854  is absent.</p>
   855  </td>
   856  </tr>
   857  <tr>
   858  <td style="white-space:nowrap">
   859  <code>contains</code>
   860  <br>
   861  <em>
   862  string
   863  </em>
   864  </td>
   865  <td>
   866  <em>(Optional)</em>
   867  <p>Contains specifies a substring that must be present in
   868  the header value.</p>
   869  </td>
   870  </tr>
   871  <tr>
   872  <td style="white-space:nowrap">
   873  <code>notcontains</code>
   874  <br>
   875  <em>
   876  string
   877  </em>
   878  </td>
   879  <td>
   880  <em>(Optional)</em>
   881  <p>NotContains specifies a substring that must not be present
   882  in the header value.</p>
   883  </td>
   884  </tr>
   885  <tr>
   886  <td style="white-space:nowrap">
   887  <code>exact</code>
   888  <br>
   889  <em>
   890  string
   891  </em>
   892  </td>
   893  <td>
   894  <em>(Optional)</em>
   895  <p>Exact specifies a string that the header value must be equal to.</p>
   896  </td>
   897  </tr>
   898  <tr>
   899  <td style="white-space:nowrap">
   900  <code>notexact</code>
   901  <br>
   902  <em>
   903  string
   904  </em>
   905  </td>
   906  <td>
   907  <em>(Optional)</em>
   908  <p>NoExact specifies a string that the header value must not be
   909  equal to. The condition is true if the header has any other value.</p>
   910  </td>
   911  </tr>
   912  </tbody>
   913  </table>
   914  <h3 id="projectcontour.io/v1.HeaderValue">HeaderValue
   915  </h3>
   916  <p>
   917  (<em>Appears on:</em>
   918  <a href="#projectcontour.io/v1.HeadersPolicy">HeadersPolicy</a>)
   919  </p>
   920  <p>
   921  <p>HeaderValue represents a header name/value pair</p>
   922  </p>
   923  <table class="table table-striped table-borderless" style="border:none">
   924  <thead class="border-bottom">
   925  <tr>
   926  <th>Field</th>
   927  <th>Description</th>
   928  </tr>
   929  </thead>
   930  <tbody class="border-top">
   931  <tr>
   932  <td style="white-space:nowrap">
   933  <code>name</code>
   934  <br>
   935  <em>
   936  string
   937  </em>
   938  </td>
   939  <td>
   940  <p>Name represents a key of a header</p>
   941  </td>
   942  </tr>
   943  <tr>
   944  <td style="white-space:nowrap">
   945  <code>value</code>
   946  <br>
   947  <em>
   948  string
   949  </em>
   950  </td>
   951  <td>
   952  <p>Value represents the value of a header specified by a key</p>
   953  </td>
   954  </tr>
   955  </tbody>
   956  </table>
   957  <h3 id="projectcontour.io/v1.HeadersPolicy">HeadersPolicy
   958  </h3>
   959  <p>
   960  (<em>Appears on:</em>
   961  <a href="#projectcontour.io/v1.Route">Route</a>, 
   962  <a href="#projectcontour.io/v1.Service">Service</a>)
   963  </p>
   964  <p>
   965  <p>HeadersPolicy defines how headers are managed during forwarding.
   966  The <code>Host</code> header is treated specially and if set in a HTTP response
   967  will be used as the SNI server name when forwarding over TLS. It is an
   968  error to attempt to set the <code>Host</code> header in a HTTP response.</p>
   969  </p>
   970  <table class="table table-striped table-borderless" style="border:none">
   971  <thead class="border-bottom">
   972  <tr>
   973  <th>Field</th>
   974  <th>Description</th>
   975  </tr>
   976  </thead>
   977  <tbody class="border-top">
   978  <tr>
   979  <td style="white-space:nowrap">
   980  <code>set</code>
   981  <br>
   982  <em>
   983  <a href="#projectcontour.io/v1.HeaderValue">
   984  []HeaderValue
   985  </a>
   986  </em>
   987  </td>
   988  <td>
   989  <em>(Optional)</em>
   990  <p>Set specifies a list of HTTP header values that will be set in the HTTP header.
   991  If the header does not exist it will be added, otherwise it will be overwritten with the new value.</p>
   992  </td>
   993  </tr>
   994  <tr>
   995  <td style="white-space:nowrap">
   996  <code>remove</code>
   997  <br>
   998  <em>
   999  []string
  1000  </em>
  1001  </td>
  1002  <td>
  1003  <em>(Optional)</em>
  1004  <p>Remove specifies a list of HTTP header names to remove.</p>
  1005  </td>
  1006  </tr>
  1007  </tbody>
  1008  </table>
  1009  <h3 id="projectcontour.io/v1.Include">Include
  1010  </h3>
  1011  <p>
  1012  (<em>Appears on:</em>
  1013  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  1014  </p>
  1015  <p>
  1016  <p>Include describes a set of policies that can be applied to an HTTPProxy in a namespace.</p>
  1017  </p>
  1018  <table class="table table-striped table-borderless" style="border:none">
  1019  <thead class="border-bottom">
  1020  <tr>
  1021  <th>Field</th>
  1022  <th>Description</th>
  1023  </tr>
  1024  </thead>
  1025  <tbody class="border-top">
  1026  <tr>
  1027  <td style="white-space:nowrap">
  1028  <code>name</code>
  1029  <br>
  1030  <em>
  1031  string
  1032  </em>
  1033  </td>
  1034  <td>
  1035  <p>Name of the HTTPProxy</p>
  1036  </td>
  1037  </tr>
  1038  <tr>
  1039  <td style="white-space:nowrap">
  1040  <code>namespace</code>
  1041  <br>
  1042  <em>
  1043  string
  1044  </em>
  1045  </td>
  1046  <td>
  1047  <em>(Optional)</em>
  1048  <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p>
  1049  </td>
  1050  </tr>
  1051  <tr>
  1052  <td style="white-space:nowrap">
  1053  <code>conditions</code>
  1054  <br>
  1055  <em>
  1056  <a href="#projectcontour.io/v1.MatchCondition">
  1057  []MatchCondition
  1058  </a>
  1059  </em>
  1060  </td>
  1061  <td>
  1062  <em>(Optional)</em>
  1063  <p>Conditions are a set of rules that are applied to included HTTPProxies.
  1064  In effect, they are added onto the Conditions of included HTTPProxy Route
  1065  structs.
  1066  When applied, they are merged using AND, with one exception:
  1067  There can be only one Prefix MatchCondition per Conditions slice.
  1068  More than one Prefix, or contradictory Conditions, will make the
  1069  include invalid.</p>
  1070  </td>
  1071  </tr>
  1072  </tbody>
  1073  </table>
  1074  <h3 id="projectcontour.io/v1.LoadBalancerPolicy">LoadBalancerPolicy
  1075  </h3>
  1076  <p>
  1077  (<em>Appears on:</em>
  1078  <a href="#projectcontour.io/v1.Route">Route</a>, 
  1079  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  1080  </p>
  1081  <p>
  1082  <p>LoadBalancerPolicy defines the load balancing policy.</p>
  1083  </p>
  1084  <table class="table table-striped table-borderless" style="border:none">
  1085  <thead class="border-bottom">
  1086  <tr>
  1087  <th>Field</th>
  1088  <th>Description</th>
  1089  </tr>
  1090  </thead>
  1091  <tbody class="border-top">
  1092  <tr>
  1093  <td style="white-space:nowrap">
  1094  <code>strategy</code>
  1095  <br>
  1096  <em>
  1097  string
  1098  </em>
  1099  </td>
  1100  <td>
  1101  <p>Strategy specifies the policy used to balance requests
  1102  across the pool of backend pods. Valid policy names are
  1103  <code>Random</code>, <code>RoundRobin</code>, <code>WeightedLeastRequest</code>, <code>Random</code>
  1104  and <code>Cookie</code>. If an unknown strategy name is specified
  1105  or no policy is supplied, the default <code>RoundRobin</code> policy
  1106  is used.</p>
  1107  </td>
  1108  </tr>
  1109  </tbody>
  1110  </table>
  1111  <h3 id="projectcontour.io/v1.MatchCondition">MatchCondition
  1112  </h3>
  1113  <p>
  1114  (<em>Appears on:</em>
  1115  <a href="#projectcontour.io/v1.Include">Include</a>, 
  1116  <a href="#projectcontour.io/v1.Route">Route</a>)
  1117  </p>
  1118  <p>
  1119  <p>MatchCondition are a general holder for matching rules for HTTPProxies.
  1120  One of Prefix or Header must be provided.</p>
  1121  </p>
  1122  <table class="table table-striped table-borderless" style="border:none">
  1123  <thead class="border-bottom">
  1124  <tr>
  1125  <th>Field</th>
  1126  <th>Description</th>
  1127  </tr>
  1128  </thead>
  1129  <tbody class="border-top">
  1130  <tr>
  1131  <td style="white-space:nowrap">
  1132  <code>prefix</code>
  1133  <br>
  1134  <em>
  1135  string
  1136  </em>
  1137  </td>
  1138  <td>
  1139  <em>(Optional)</em>
  1140  <p>Prefix defines a prefix match for a request.</p>
  1141  </td>
  1142  </tr>
  1143  <tr>
  1144  <td style="white-space:nowrap">
  1145  <code>header</code>
  1146  <br>
  1147  <em>
  1148  <a href="#projectcontour.io/v1.HeaderMatchCondition">
  1149  HeaderMatchCondition
  1150  </a>
  1151  </em>
  1152  </td>
  1153  <td>
  1154  <em>(Optional)</em>
  1155  <p>Header specifies the header condition to match.</p>
  1156  </td>
  1157  </tr>
  1158  </tbody>
  1159  </table>
  1160  <h3 id="projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy
  1161  </h3>
  1162  <p>
  1163  (<em>Appears on:</em>
  1164  <a href="#projectcontour.io/v1.Route">Route</a>)
  1165  </p>
  1166  <p>
  1167  <p>PathRewritePolicy specifies how a request URL path should be
  1168  rewritten. This rewriting takes place after a request is routed
  1169  and has no subsequent effects on the proxy&rsquo;s routing decision.
  1170  No HTTP headers or body content is rewritten.</p>
  1171  <p>Exactly one field in this struct may be specified.</p>
  1172  </p>
  1173  <table class="table table-striped table-borderless" style="border:none">
  1174  <thead class="border-bottom">
  1175  <tr>
  1176  <th>Field</th>
  1177  <th>Description</th>
  1178  </tr>
  1179  </thead>
  1180  <tbody class="border-top">
  1181  <tr>
  1182  <td style="white-space:nowrap">
  1183  <code>replacePrefix</code>
  1184  <br>
  1185  <em>
  1186  <a href="#projectcontour.io/v1.ReplacePrefix">
  1187  []ReplacePrefix
  1188  </a>
  1189  </em>
  1190  </td>
  1191  <td>
  1192  <em>(Optional)</em>
  1193  <p>ReplacePrefix describes how the path prefix should be replaced.</p>
  1194  </td>
  1195  </tr>
  1196  </tbody>
  1197  </table>
  1198  <h3 id="projectcontour.io/v1.ReplacePrefix">ReplacePrefix
  1199  </h3>
  1200  <p>
  1201  (<em>Appears on:</em>
  1202  <a href="#projectcontour.io/v1.PathRewritePolicy">PathRewritePolicy</a>)
  1203  </p>
  1204  <p>
  1205  <p>ReplacePrefix describes a path prefix replacement.</p>
  1206  </p>
  1207  <table class="table table-striped table-borderless" style="border:none">
  1208  <thead class="border-bottom">
  1209  <tr>
  1210  <th>Field</th>
  1211  <th>Description</th>
  1212  </tr>
  1213  </thead>
  1214  <tbody class="border-top">
  1215  <tr>
  1216  <td style="white-space:nowrap">
  1217  <code>prefix</code>
  1218  <br>
  1219  <em>
  1220  string
  1221  </em>
  1222  </td>
  1223  <td>
  1224  <em>(Optional)</em>
  1225  <p>Prefix specifies the URL path prefix to be replaced.</p>
  1226  <p>If Prefix is specified, it must exactly match the MatchCondition
  1227  prefix that is rendered by the chain of including HTTPProxies
  1228  and only that path prefix will be replaced by Replacement.
  1229  This allows HTTPProxies that are included through multiple
  1230  roots to only replace specific path prefixes, leaving others
  1231  unmodified.</p>
  1232  <p>If Prefix is not specified, all routing prefixes rendered
  1233  by the include chain will be replaced.</p>
  1234  </td>
  1235  </tr>
  1236  <tr>
  1237  <td style="white-space:nowrap">
  1238  <code>replacement</code>
  1239  <br>
  1240  <em>
  1241  string
  1242  </em>
  1243  </td>
  1244  <td>
  1245  <p>Replacement is the string that the routing path prefix
  1246  will be replaced with. This must not be empty.</p>
  1247  </td>
  1248  </tr>
  1249  </tbody>
  1250  </table>
  1251  <h3 id="projectcontour.io/v1.RetryOn">RetryOn
  1252  (<code>string</code> alias)</h3>
  1253  <p>
  1254  (<em>Appears on:</em>
  1255  <a href="#projectcontour.io/v1.RetryPolicy">RetryPolicy</a>)
  1256  </p>
  1257  <p>
  1258  <p>RetryOn is a string type alias with validation to ensure that the value is valid.</p>
  1259  </p>
  1260  <h3 id="projectcontour.io/v1.RetryPolicy">RetryPolicy
  1261  </h3>
  1262  <p>
  1263  (<em>Appears on:</em>
  1264  <a href="#projectcontour.io/v1.Route">Route</a>)
  1265  </p>
  1266  <p>
  1267  <p>RetryPolicy defines the attributes associated with retrying policy.</p>
  1268  </p>
  1269  <table class="table table-striped table-borderless" style="border:none">
  1270  <thead class="border-bottom">
  1271  <tr>
  1272  <th>Field</th>
  1273  <th>Description</th>
  1274  </tr>
  1275  </thead>
  1276  <tbody class="border-top">
  1277  <tr>
  1278  <td style="white-space:nowrap">
  1279  <code>count</code>
  1280  <br>
  1281  <em>
  1282  int64
  1283  </em>
  1284  </td>
  1285  <td>
  1286  <em>(Optional)</em>
  1287  <p>NumRetries is maximum allowed number of retries.
  1288  If not supplied, the number of retries is one.</p>
  1289  </td>
  1290  </tr>
  1291  <tr>
  1292  <td style="white-space:nowrap">
  1293  <code>perTryTimeout</code>
  1294  <br>
  1295  <em>
  1296  string
  1297  </em>
  1298  </td>
  1299  <td>
  1300  <p>PerTryTimeout specifies the timeout per retry attempt.
  1301  Ignored if NumRetries is not supplied.</p>
  1302  </td>
  1303  </tr>
  1304  <tr>
  1305  <td style="white-space:nowrap">
  1306  <code>retryOn</code>
  1307  <br>
  1308  <em>
  1309  <a href="#projectcontour.io/v1.RetryOn">
  1310  []RetryOn
  1311  </a>
  1312  </em>
  1313  </td>
  1314  <td>
  1315  <em>(Optional)</em>
  1316  <p>RetryOn specifies the conditions on which to retry a request.</p>
  1317  <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>
  1318  <ul>
  1319  <li><code>5xx</code></li>
  1320  <li><code>gateway-error</code></li>
  1321  <li><code>reset</code></li>
  1322  <li><code>connect-failure</code></li>
  1323  <li><code>retriable-4xx</code></li>
  1324  <li><code>refused-stream</code></li>
  1325  <li><code>retriable-status-codes</code></li>
  1326  <li><code>retriable-headers</code></li>
  1327  </ul>
  1328  <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>
  1329  <ul>
  1330  <li><code>cancelled</code></li>
  1331  <li><code>deadline-exceeded</code></li>
  1332  <li><code>internal</code></li>
  1333  <li><code>resource-exhausted</code></li>
  1334  <li><code>unavailable</code></li>
  1335  </ul>
  1336  </td>
  1337  </tr>
  1338  <tr>
  1339  <td style="white-space:nowrap">
  1340  <code>retriableStatusCodes</code>
  1341  <br>
  1342  <em>
  1343  []uint32
  1344  </em>
  1345  </td>
  1346  <td>
  1347  <em>(Optional)</em>
  1348  <p>RetriableStatusCodes specifies the HTTP status codes that should be retried.</p>
  1349  <p>This field is only respected when you include <code>retriable-status-codes</code> in the <code>RetryOn</code> field.</p>
  1350  </td>
  1351  </tr>
  1352  </tbody>
  1353  </table>
  1354  <h3 id="projectcontour.io/v1.Route">Route
  1355  </h3>
  1356  <p>
  1357  (<em>Appears on:</em>
  1358  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  1359  </p>
  1360  <p>
  1361  <p>Route contains the set of routes for a virtual host.</p>
  1362  </p>
  1363  <table class="table table-striped table-borderless" style="border:none">
  1364  <thead class="border-bottom">
  1365  <tr>
  1366  <th>Field</th>
  1367  <th>Description</th>
  1368  </tr>
  1369  </thead>
  1370  <tbody class="border-top">
  1371  <tr>
  1372  <td style="white-space:nowrap">
  1373  <code>conditions</code>
  1374  <br>
  1375  <em>
  1376  <a href="#projectcontour.io/v1.MatchCondition">
  1377  []MatchCondition
  1378  </a>
  1379  </em>
  1380  </td>
  1381  <td>
  1382  <em>(Optional)</em>
  1383  <p>Conditions are a set of rules that are applied to a Route.
  1384  When applied, they are merged using AND, with one exception:
  1385  There can be only one Prefix MatchCondition per Conditions slice.
  1386  More than one Prefix, or contradictory Conditions, will make the
  1387  route invalid.</p>
  1388  </td>
  1389  </tr>
  1390  <tr>
  1391  <td style="white-space:nowrap">
  1392  <code>services</code>
  1393  <br>
  1394  <em>
  1395  <a href="#projectcontour.io/v1.Service">
  1396  []Service
  1397  </a>
  1398  </em>
  1399  </td>
  1400  <td>
  1401  <p>Services are the services to proxy traffic.</p>
  1402  </td>
  1403  </tr>
  1404  <tr>
  1405  <td style="white-space:nowrap">
  1406  <code>enableWebsockets</code>
  1407  <br>
  1408  <em>
  1409  bool
  1410  </em>
  1411  </td>
  1412  <td>
  1413  <em>(Optional)</em>
  1414  <p>Enables websocket support for the route.</p>
  1415  </td>
  1416  </tr>
  1417  <tr>
  1418  <td style="white-space:nowrap">
  1419  <code>permitInsecure</code>
  1420  <br>
  1421  <em>
  1422  bool
  1423  </em>
  1424  </td>
  1425  <td>
  1426  <em>(Optional)</em>
  1427  <p>Allow this path to respond to insecure requests over HTTP which are normally
  1428  not permitted when a <code>virtualhost.tls</code> block is present.</p>
  1429  </td>
  1430  </tr>
  1431  <tr>
  1432  <td style="white-space:nowrap">
  1433  <code>timeoutPolicy</code>
  1434  <br>
  1435  <em>
  1436  <a href="#projectcontour.io/v1.TimeoutPolicy">
  1437  TimeoutPolicy
  1438  </a>
  1439  </em>
  1440  </td>
  1441  <td>
  1442  <em>(Optional)</em>
  1443  <p>The timeout policy for this route.</p>
  1444  </td>
  1445  </tr>
  1446  <tr>
  1447  <td style="white-space:nowrap">
  1448  <code>retryPolicy</code>
  1449  <br>
  1450  <em>
  1451  <a href="#projectcontour.io/v1.RetryPolicy">
  1452  RetryPolicy
  1453  </a>
  1454  </em>
  1455  </td>
  1456  <td>
  1457  <em>(Optional)</em>
  1458  <p>The retry policy for this route.</p>
  1459  </td>
  1460  </tr>
  1461  <tr>
  1462  <td style="white-space:nowrap">
  1463  <code>healthCheckPolicy</code>
  1464  <br>
  1465  <em>
  1466  <a href="#projectcontour.io/v1.HTTPHealthCheckPolicy">
  1467  HTTPHealthCheckPolicy
  1468  </a>
  1469  </em>
  1470  </td>
  1471  <td>
  1472  <em>(Optional)</em>
  1473  <p>The health check policy for this route.</p>
  1474  </td>
  1475  </tr>
  1476  <tr>
  1477  <td style="white-space:nowrap">
  1478  <code>loadBalancerPolicy</code>
  1479  <br>
  1480  <em>
  1481  <a href="#projectcontour.io/v1.LoadBalancerPolicy">
  1482  LoadBalancerPolicy
  1483  </a>
  1484  </em>
  1485  </td>
  1486  <td>
  1487  <em>(Optional)</em>
  1488  <p>The load balancing policy for this route.</p>
  1489  </td>
  1490  </tr>
  1491  <tr>
  1492  <td style="white-space:nowrap">
  1493  <code>pathRewritePolicy</code>
  1494  <br>
  1495  <em>
  1496  <a href="#projectcontour.io/v1.PathRewritePolicy">
  1497  PathRewritePolicy
  1498  </a>
  1499  </em>
  1500  </td>
  1501  <td>
  1502  <em>(Optional)</em>
  1503  <p>The policy for rewriting the path of the request URL
  1504  after the request has been routed to a Service.</p>
  1505  </td>
  1506  </tr>
  1507  <tr>
  1508  <td style="white-space:nowrap">
  1509  <code>requestHeadersPolicy</code>
  1510  <br>
  1511  <em>
  1512  <a href="#projectcontour.io/v1.HeadersPolicy">
  1513  HeadersPolicy
  1514  </a>
  1515  </em>
  1516  </td>
  1517  <td>
  1518  <em>(Optional)</em>
  1519  <p>The policy for managing request headers during proxying</p>
  1520  </td>
  1521  </tr>
  1522  <tr>
  1523  <td style="white-space:nowrap">
  1524  <code>responseHeadersPolicy</code>
  1525  <br>
  1526  <em>
  1527  <a href="#projectcontour.io/v1.HeadersPolicy">
  1528  HeadersPolicy
  1529  </a>
  1530  </em>
  1531  </td>
  1532  <td>
  1533  <em>(Optional)</em>
  1534  <p>The policy for managing response headers during proxying</p>
  1535  </td>
  1536  </tr>
  1537  </tbody>
  1538  </table>
  1539  <h3 id="projectcontour.io/v1.Service">Service
  1540  </h3>
  1541  <p>
  1542  (<em>Appears on:</em>
  1543  <a href="#projectcontour.io/v1.Route">Route</a>, 
  1544  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  1545  </p>
  1546  <p>
  1547  <p>Service defines an Kubernetes Service to proxy traffic.</p>
  1548  </p>
  1549  <table class="table table-striped table-borderless" style="border:none">
  1550  <thead class="border-bottom">
  1551  <tr>
  1552  <th>Field</th>
  1553  <th>Description</th>
  1554  </tr>
  1555  </thead>
  1556  <tbody class="border-top">
  1557  <tr>
  1558  <td style="white-space:nowrap">
  1559  <code>name</code>
  1560  <br>
  1561  <em>
  1562  string
  1563  </em>
  1564  </td>
  1565  <td>
  1566  <p>Name is the name of Kubernetes service to proxy traffic.
  1567  Names defined here will be used to look up corresponding endpoints which contain the ips to route.</p>
  1568  </td>
  1569  </tr>
  1570  <tr>
  1571  <td style="white-space:nowrap">
  1572  <code>port</code>
  1573  <br>
  1574  <em>
  1575  int
  1576  </em>
  1577  </td>
  1578  <td>
  1579  <p>Port (defined as Integer) to proxy traffic to since a service can have multiple defined.</p>
  1580  </td>
  1581  </tr>
  1582  <tr>
  1583  <td style="white-space:nowrap">
  1584  <code>protocol</code>
  1585  <br>
  1586  <em>
  1587  string
  1588  </em>
  1589  </td>
  1590  <td>
  1591  <em>(Optional)</em>
  1592  <p>Protocol may be used to specify (or override) the protocol used to reach this Service.
  1593  Values may be tls, h2, h2c. If omitted, protocol-selection falls back on Service annotations.</p>
  1594  </td>
  1595  </tr>
  1596  <tr>
  1597  <td style="white-space:nowrap">
  1598  <code>weight</code>
  1599  <br>
  1600  <em>
  1601  int64
  1602  </em>
  1603  </td>
  1604  <td>
  1605  <em>(Optional)</em>
  1606  <p>Weight defines percentage of traffic to balance traffic</p>
  1607  </td>
  1608  </tr>
  1609  <tr>
  1610  <td style="white-space:nowrap">
  1611  <code>validation</code>
  1612  <br>
  1613  <em>
  1614  <a href="#projectcontour.io/v1.UpstreamValidation">
  1615  UpstreamValidation
  1616  </a>
  1617  </em>
  1618  </td>
  1619  <td>
  1620  <em>(Optional)</em>
  1621  <p>UpstreamValidation defines how to verify the backend service&rsquo;s certificate</p>
  1622  </td>
  1623  </tr>
  1624  <tr>
  1625  <td style="white-space:nowrap">
  1626  <code>mirror</code>
  1627  <br>
  1628  <em>
  1629  bool
  1630  </em>
  1631  </td>
  1632  <td>
  1633  <p>If Mirror is true the Service will receive a read only mirror of the traffic for this route.</p>
  1634  </td>
  1635  </tr>
  1636  <tr>
  1637  <td style="white-space:nowrap">
  1638  <code>requestHeadersPolicy</code>
  1639  <br>
  1640  <em>
  1641  <a href="#projectcontour.io/v1.HeadersPolicy">
  1642  HeadersPolicy
  1643  </a>
  1644  </em>
  1645  </td>
  1646  <td>
  1647  <em>(Optional)</em>
  1648  <p>The policy for managing request headers during proxying</p>
  1649  </td>
  1650  </tr>
  1651  <tr>
  1652  <td style="white-space:nowrap">
  1653  <code>responseHeadersPolicy</code>
  1654  <br>
  1655  <em>
  1656  <a href="#projectcontour.io/v1.HeadersPolicy">
  1657  HeadersPolicy
  1658  </a>
  1659  </em>
  1660  </td>
  1661  <td>
  1662  <em>(Optional)</em>
  1663  <p>The policy for managing response headers during proxying</p>
  1664  </td>
  1665  </tr>
  1666  </tbody>
  1667  </table>
  1668  <h3 id="projectcontour.io/v1.SubCondition">SubCondition
  1669  </h3>
  1670  <p>
  1671  (<em>Appears on:</em>
  1672  <a href="#projectcontour.io/v1.DetailedCondition">DetailedCondition</a>)
  1673  </p>
  1674  <p>
  1675  <p>SubCondition is a Condition-like type intended for use as a subcondition inside a DetailedCondition.</p>
  1676  <p>It contains a subset of the Condition fields.</p>
  1677  <p>It is intended for warnings and errors, so <code>type</code> names should use abnormal-true polarity,
  1678  that is, they should be of the form &ldquo;ErrorPresent: true&rdquo;.</p>
  1679  <p>The expected lifecycle for these errors is that they should only be present when the error or warning is,
  1680  and should be removed when they are not relevant.</p>
  1681  </p>
  1682  <table class="table table-striped table-borderless" style="border:none">
  1683  <thead class="border-bottom">
  1684  <tr>
  1685  <th>Field</th>
  1686  <th>Description</th>
  1687  </tr>
  1688  </thead>
  1689  <tbody class="border-top">
  1690  <tr>
  1691  <td style="white-space:nowrap">
  1692  <code>type</code>
  1693  <br>
  1694  <em>
  1695  string
  1696  </em>
  1697  </td>
  1698  <td>
  1699  <p>Type of condition in <code>CamelCase</code> or in <code>foo.example.com/CamelCase</code>.</p>
  1700  <p>This must be in abnormal-true polarity, that is, <code>ErrorFound</code> or <code>controller.io/ErrorFound</code>.</p>
  1701  <p>The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)</p>
  1702  </td>
  1703  </tr>
  1704  <tr>
  1705  <td style="white-space:nowrap">
  1706  <code>status</code>
  1707  <br>
  1708  <em>
  1709  <a href="#projectcontour.io/v1.ConditionStatus">
  1710  ConditionStatus
  1711  </a>
  1712  </em>
  1713  </td>
  1714  <td>
  1715  <p>Status of the condition, one of True, False, Unknown.</p>
  1716  </td>
  1717  </tr>
  1718  <tr>
  1719  <td style="white-space:nowrap">
  1720  <code>reason</code>
  1721  <br>
  1722  <em>
  1723  string
  1724  </em>
  1725  </td>
  1726  <td>
  1727  <p>Reason contains a programmatic identifier indicating the reason for the condition&rsquo;s last transition.
  1728  Producers of specific condition types may define expected values and meanings for this field,
  1729  and whether the values are considered a guaranteed API.</p>
  1730  <p>The value should be a CamelCase string.</p>
  1731  <p>This field may not be empty.</p>
  1732  </td>
  1733  </tr>
  1734  <tr>
  1735  <td style="white-space:nowrap">
  1736  <code>message</code>
  1737  <br>
  1738  <em>
  1739  string
  1740  </em>
  1741  </td>
  1742  <td>
  1743  <p>Message is a human readable message indicating details about the transition.</p>
  1744  <p>This may be an empty string.</p>
  1745  </td>
  1746  </tr>
  1747  </tbody>
  1748  </table>
  1749  <h3 id="projectcontour.io/v1.TCPHealthCheckPolicy">TCPHealthCheckPolicy
  1750  </h3>
  1751  <p>
  1752  (<em>Appears on:</em>
  1753  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  1754  </p>
  1755  <p>
  1756  <p>TCPHealthCheckPolicy defines health checks on the upstream service.</p>
  1757  </p>
  1758  <table class="table table-striped table-borderless" style="border:none">
  1759  <thead class="border-bottom">
  1760  <tr>
  1761  <th>Field</th>
  1762  <th>Description</th>
  1763  </tr>
  1764  </thead>
  1765  <tbody class="border-top">
  1766  <tr>
  1767  <td style="white-space:nowrap">
  1768  <code>intervalSeconds</code>
  1769  <br>
  1770  <em>
  1771  int64
  1772  </em>
  1773  </td>
  1774  <td>
  1775  <em>(Optional)</em>
  1776  <p>The interval (seconds) between health checks</p>
  1777  </td>
  1778  </tr>
  1779  <tr>
  1780  <td style="white-space:nowrap">
  1781  <code>timeoutSeconds</code>
  1782  <br>
  1783  <em>
  1784  int64
  1785  </em>
  1786  </td>
  1787  <td>
  1788  <em>(Optional)</em>
  1789  <p>The time to wait (seconds) for a health check response</p>
  1790  </td>
  1791  </tr>
  1792  <tr>
  1793  <td style="white-space:nowrap">
  1794  <code>unhealthyThresholdCount</code>
  1795  <br>
  1796  <em>
  1797  uint32
  1798  </em>
  1799  </td>
  1800  <td>
  1801  <em>(Optional)</em>
  1802  <p>The number of unhealthy health checks required before a host is marked unhealthy</p>
  1803  </td>
  1804  </tr>
  1805  <tr>
  1806  <td style="white-space:nowrap">
  1807  <code>healthyThresholdCount</code>
  1808  <br>
  1809  <em>
  1810  uint32
  1811  </em>
  1812  </td>
  1813  <td>
  1814  <em>(Optional)</em>
  1815  <p>The number of healthy health checks required before a host is marked healthy</p>
  1816  </td>
  1817  </tr>
  1818  </tbody>
  1819  </table>
  1820  <h3 id="projectcontour.io/v1.TCPProxy">TCPProxy
  1821  </h3>
  1822  <p>
  1823  (<em>Appears on:</em>
  1824  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  1825  </p>
  1826  <p>
  1827  <p>TCPProxy contains the set of services to proxy TCP connections.</p>
  1828  </p>
  1829  <table class="table table-striped table-borderless" style="border:none">
  1830  <thead class="border-bottom">
  1831  <tr>
  1832  <th>Field</th>
  1833  <th>Description</th>
  1834  </tr>
  1835  </thead>
  1836  <tbody class="border-top">
  1837  <tr>
  1838  <td style="white-space:nowrap">
  1839  <code>loadBalancerPolicy</code>
  1840  <br>
  1841  <em>
  1842  <a href="#projectcontour.io/v1.LoadBalancerPolicy">
  1843  LoadBalancerPolicy
  1844  </a>
  1845  </em>
  1846  </td>
  1847  <td>
  1848  <em>(Optional)</em>
  1849  <p>The load balancing policy for the backend services.</p>
  1850  </td>
  1851  </tr>
  1852  <tr>
  1853  <td style="white-space:nowrap">
  1854  <code>services</code>
  1855  <br>
  1856  <em>
  1857  <a href="#projectcontour.io/v1.Service">
  1858  []Service
  1859  </a>
  1860  </em>
  1861  </td>
  1862  <td>
  1863  <em>(Optional)</em>
  1864  <p>Services are the services to proxy traffic</p>
  1865  </td>
  1866  </tr>
  1867  <tr>
  1868  <td style="white-space:nowrap">
  1869  <code>include</code>
  1870  <br>
  1871  <em>
  1872  <a href="#projectcontour.io/v1.TCPProxyInclude">
  1873  TCPProxyInclude
  1874  </a>
  1875  </em>
  1876  </td>
  1877  <td>
  1878  <em>(Optional)</em>
  1879  <p>Include specifies that this tcpproxy should be delegated to another HTTPProxy.</p>
  1880  </td>
  1881  </tr>
  1882  <tr>
  1883  <td style="white-space:nowrap">
  1884  <code>includes</code>
  1885  <br>
  1886  <em>
  1887  <a href="#projectcontour.io/v1.TCPProxyInclude">
  1888  TCPProxyInclude
  1889  </a>
  1890  </em>
  1891  </td>
  1892  <td>
  1893  <em>(Optional)</em>
  1894  <p>IncludesDeprecated allow for specific routing configuration to be appended to another HTTPProxy in another namespace.</p>
  1895  <p>Exists due to a mistake when developing HTTPProxy and the field was marked plural
  1896  when it should have been singular. This field should stay to not break backwards compatibility to v1 users.</p>
  1897  </td>
  1898  </tr>
  1899  <tr>
  1900  <td style="white-space:nowrap">
  1901  <code>healthCheckPolicy</code>
  1902  <br>
  1903  <em>
  1904  <a href="#projectcontour.io/v1.TCPHealthCheckPolicy">
  1905  TCPHealthCheckPolicy
  1906  </a>
  1907  </em>
  1908  </td>
  1909  <td>
  1910  <em>(Optional)</em>
  1911  <p>The health check policy for this tcp proxy</p>
  1912  </td>
  1913  </tr>
  1914  </tbody>
  1915  </table>
  1916  <h3 id="projectcontour.io/v1.TCPProxyInclude">TCPProxyInclude
  1917  </h3>
  1918  <p>
  1919  (<em>Appears on:</em>
  1920  <a href="#projectcontour.io/v1.TCPProxy">TCPProxy</a>)
  1921  </p>
  1922  <p>
  1923  <p>TCPProxyInclude describes a target HTTPProxy document which contains the TCPProxy details.</p>
  1924  </p>
  1925  <table class="table table-striped table-borderless" style="border:none">
  1926  <thead class="border-bottom">
  1927  <tr>
  1928  <th>Field</th>
  1929  <th>Description</th>
  1930  </tr>
  1931  </thead>
  1932  <tbody class="border-top">
  1933  <tr>
  1934  <td style="white-space:nowrap">
  1935  <code>name</code>
  1936  <br>
  1937  <em>
  1938  string
  1939  </em>
  1940  </td>
  1941  <td>
  1942  <p>Name of the child HTTPProxy</p>
  1943  </td>
  1944  </tr>
  1945  <tr>
  1946  <td style="white-space:nowrap">
  1947  <code>namespace</code>
  1948  <br>
  1949  <em>
  1950  string
  1951  </em>
  1952  </td>
  1953  <td>
  1954  <em>(Optional)</em>
  1955  <p>Namespace of the HTTPProxy to include. Defaults to the current namespace if not supplied.</p>
  1956  </td>
  1957  </tr>
  1958  </tbody>
  1959  </table>
  1960  <h3 id="projectcontour.io/v1.TLS">TLS
  1961  </h3>
  1962  <p>
  1963  (<em>Appears on:</em>
  1964  <a href="#projectcontour.io/v1.VirtualHost">VirtualHost</a>)
  1965  </p>
  1966  <p>
  1967  <p>TLS describes tls properties. The SNI names that will be matched on
  1968  are described in the HTTPProxy&rsquo;s Spec.VirtualHost.Fqdn field.</p>
  1969  </p>
  1970  <table class="table table-striped table-borderless" style="border:none">
  1971  <thead class="border-bottom">
  1972  <tr>
  1973  <th>Field</th>
  1974  <th>Description</th>
  1975  </tr>
  1976  </thead>
  1977  <tbody class="border-top">
  1978  <tr>
  1979  <td style="white-space:nowrap">
  1980  <code>secretName</code>
  1981  <br>
  1982  <em>
  1983  string
  1984  </em>
  1985  </td>
  1986  <td>
  1987  <p>SecretName is the name of a TLS secret in the current namespace.
  1988  Either SecretName or Passthrough must be specified, but not both.
  1989  If specified, the named secret must contain a matching certificate
  1990  for the virtual host&rsquo;s FQDN.</p>
  1991  </td>
  1992  </tr>
  1993  <tr>
  1994  <td style="white-space:nowrap">
  1995  <code>minimumProtocolVersion</code>
  1996  <br>
  1997  <em>
  1998  string
  1999  </em>
  2000  </td>
  2001  <td>
  2002  <em>(Optional)</em>
  2003  <p>Minimum TLS version this vhost should negotiate</p>
  2004  </td>
  2005  </tr>
  2006  <tr>
  2007  <td style="white-space:nowrap">
  2008  <code>passthrough</code>
  2009  <br>
  2010  <em>
  2011  bool
  2012  </em>
  2013  </td>
  2014  <td>
  2015  <em>(Optional)</em>
  2016  <p>Passthrough defines whether the encrypted TLS handshake will be
  2017  passed through to the backing cluster. Either Passthrough or
  2018  SecretName must be specified, but not both.</p>
  2019  </td>
  2020  </tr>
  2021  <tr>
  2022  <td style="white-space:nowrap">
  2023  <code>clientValidation</code>
  2024  <br>
  2025  <em>
  2026  <a href="#projectcontour.io/v1.DownstreamValidation">
  2027  DownstreamValidation
  2028  </a>
  2029  </em>
  2030  </td>
  2031  <td>
  2032  <em>(Optional)</em>
  2033  <p>ClientValidation defines how to verify the client certificate
  2034  when an external client establishes a TLS connection to Envoy.</p>
  2035  <p>This setting:</p>
  2036  <ol>
  2037  <li>Enables TLS client certificate validation.</li>
  2038  <li>Requires clients to present a TLS certificate (i.e. not optional validation).</li>
  2039  <li>Specifies how the client certificate will be validated.</li>
  2040  </ol>
  2041  </td>
  2042  </tr>
  2043  <tr>
  2044  <td style="white-space:nowrap">
  2045  <code>enableFallbackCertificate</code>
  2046  <br>
  2047  <em>
  2048  bool
  2049  </em>
  2050  </td>
  2051  <td>
  2052  <p>EnableFallbackCertificate defines if the vhost should allow a default certificate to
  2053  be applied which handles all requests which don&rsquo;t match the SNI defined in this vhost.</p>
  2054  </td>
  2055  </tr>
  2056  </tbody>
  2057  </table>
  2058  <h3 id="projectcontour.io/v1.TLSCertificateDelegationSpec">TLSCertificateDelegationSpec
  2059  </h3>
  2060  <p>
  2061  (<em>Appears on:</em>
  2062  <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>)
  2063  </p>
  2064  <p>
  2065  <p>TLSCertificateDelegationSpec defines the spec of the CRD</p>
  2066  </p>
  2067  <table class="table table-striped table-borderless" style="border:none">
  2068  <thead class="border-bottom">
  2069  <tr>
  2070  <th>Field</th>
  2071  <th>Description</th>
  2072  </tr>
  2073  </thead>
  2074  <tbody class="border-top">
  2075  <tr>
  2076  <td style="white-space:nowrap">
  2077  <code>delegations</code>
  2078  <br>
  2079  <em>
  2080  <a href="#projectcontour.io/v1.CertificateDelegation">
  2081  []CertificateDelegation
  2082  </a>
  2083  </em>
  2084  </td>
  2085  <td>
  2086  </td>
  2087  </tr>
  2088  </tbody>
  2089  </table>
  2090  <h3 id="projectcontour.io/v1.TLSCertificateDelegationStatus">TLSCertificateDelegationStatus
  2091  </h3>
  2092  <p>
  2093  (<em>Appears on:</em>
  2094  <a href="#projectcontour.io/v1.TLSCertificateDelegation">TLSCertificateDelegation</a>)
  2095  </p>
  2096  <p>
  2097  <p>TLSCertificateDelegationStatus allows for the status of the delegation
  2098  to be presented to the user.</p>
  2099  </p>
  2100  <table class="table table-striped table-borderless" style="border:none">
  2101  <thead class="border-bottom">
  2102  <tr>
  2103  <th>Field</th>
  2104  <th>Description</th>
  2105  </tr>
  2106  </thead>
  2107  <tbody class="border-top">
  2108  <tr>
  2109  <td style="white-space:nowrap">
  2110  <code>conditions</code>
  2111  <br>
  2112  <em>
  2113  <a href="#projectcontour.io/v1.DetailedCondition">
  2114  []DetailedCondition
  2115  </a>
  2116  </em>
  2117  </td>
  2118  <td>
  2119  <em>(Optional)</em>
  2120  <p>Conditions contains information about the current status of the HTTPProxy,
  2121  in an upstream-friendly container.</p>
  2122  <p>Contour will update a single condition, <code>Valid</code>, that is in normal-true polarity.
  2123  That is, when <code>currentStatus</code> is <code>valid</code>, the <code>Valid</code> condition will be <code>status: true</code>,
  2124  and vice versa.</p>
  2125  <p>Contour will leave untouched any other Conditions set in this block,
  2126  in case some other controller wants to add a Condition.</p>
  2127  <p>If you are another controller owner and wish to add a condition, you <em>should</em>
  2128  namespace your condition with a label, like <code>controller.domain.com\ConditionName</code>.</p>
  2129  </td>
  2130  </tr>
  2131  </tbody>
  2132  </table>
  2133  <h3 id="projectcontour.io/v1.TimeoutPolicy">TimeoutPolicy
  2134  </h3>
  2135  <p>
  2136  (<em>Appears on:</em>
  2137  <a href="#projectcontour.io/v1.Route">Route</a>)
  2138  </p>
  2139  <p>
  2140  <p>TimeoutPolicy configures timeouts that are used for handling network requests.</p>
  2141  <p>TimeoutPolicy durations are expressed in the Go <a href="https://godoc.org/time#ParseDuration">Duration format</a>.
  2142  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;.
  2143  The string &ldquo;infinity&rdquo; is also a valid input and specifies no timeout.
  2144  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>
  2145  <p>Example input values: &ldquo;300ms&rdquo;, &ldquo;5s&rdquo;, &ldquo;1m&rdquo;.</p>
  2146  </p>
  2147  <table class="table table-striped table-borderless" style="border:none">
  2148  <thead class="border-bottom">
  2149  <tr>
  2150  <th>Field</th>
  2151  <th>Description</th>
  2152  </tr>
  2153  </thead>
  2154  <tbody class="border-top">
  2155  <tr>
  2156  <td style="white-space:nowrap">
  2157  <code>response</code>
  2158  <br>
  2159  <em>
  2160  string
  2161  </em>
  2162  </td>
  2163  <td>
  2164  <em>(Optional)</em>
  2165  <p>Timeout for receiving a response from the server after processing a request from client.
  2166  If not supplied, Envoy&rsquo;s default value of 15s applies.</p>
  2167  </td>
  2168  </tr>
  2169  <tr>
  2170  <td style="white-space:nowrap">
  2171  <code>idle</code>
  2172  <br>
  2173  <em>
  2174  string
  2175  </em>
  2176  </td>
  2177  <td>
  2178  <em>(Optional)</em>
  2179  <p>Timeout after which, if there are no active requests for this route, the connection between
  2180  Envoy and the backend or Envoy and the external client will be closed.
  2181  If not specified, there is no per-route idle timeout, though a connection manager-wide
  2182  stream_idle_timeout default of 5m still applies.</p>
  2183  </td>
  2184  </tr>
  2185  </tbody>
  2186  </table>
  2187  <h3 id="projectcontour.io/v1.UpstreamValidation">UpstreamValidation
  2188  </h3>
  2189  <p>
  2190  (<em>Appears on:</em>
  2191  <a href="#projectcontour.io/v1.Service">Service</a>)
  2192  </p>
  2193  <p>
  2194  <p>UpstreamValidation defines how to verify the backend service&rsquo;s certificate</p>
  2195  </p>
  2196  <table class="table table-striped table-borderless" style="border:none">
  2197  <thead class="border-bottom">
  2198  <tr>
  2199  <th>Field</th>
  2200  <th>Description</th>
  2201  </tr>
  2202  </thead>
  2203  <tbody class="border-top">
  2204  <tr>
  2205  <td style="white-space:nowrap">
  2206  <code>caSecret</code>
  2207  <br>
  2208  <em>
  2209  string
  2210  </em>
  2211  </td>
  2212  <td>
  2213  <p>Name of the Kubernetes secret be used to validate the certificate presented by the backend</p>
  2214  </td>
  2215  </tr>
  2216  <tr>
  2217  <td style="white-space:nowrap">
  2218  <code>subjectName</code>
  2219  <br>
  2220  <em>
  2221  string
  2222  </em>
  2223  </td>
  2224  <td>
  2225  <p>Key which is expected to be present in the &lsquo;subjectAltName&rsquo; of the presented certificate</p>
  2226  </td>
  2227  </tr>
  2228  </tbody>
  2229  </table>
  2230  <h3 id="projectcontour.io/v1.VirtualHost">VirtualHost
  2231  </h3>
  2232  <p>
  2233  (<em>Appears on:</em>
  2234  <a href="#projectcontour.io/v1.HTTPProxySpec">HTTPProxySpec</a>)
  2235  </p>
  2236  <p>
  2237  <p>VirtualHost appears at most once. If it is present, the object is considered
  2238  to be a &ldquo;root&rdquo;.</p>
  2239  </p>
  2240  <table class="table table-striped table-borderless" style="border:none">
  2241  <thead class="border-bottom">
  2242  <tr>
  2243  <th>Field</th>
  2244  <th>Description</th>
  2245  </tr>
  2246  </thead>
  2247  <tbody class="border-top">
  2248  <tr>
  2249  <td style="white-space:nowrap">
  2250  <code>fqdn</code>
  2251  <br>
  2252  <em>
  2253  string
  2254  </em>
  2255  </td>
  2256  <td>
  2257  <p>The fully qualified domain name of the root of the ingress tree
  2258  all leaves of the DAG rooted at this object relate to the fqdn.</p>
  2259  </td>
  2260  </tr>
  2261  <tr>
  2262  <td style="white-space:nowrap">
  2263  <code>tls</code>
  2264  <br>
  2265  <em>
  2266  <a href="#projectcontour.io/v1.TLS">
  2267  TLS
  2268  </a>
  2269  </em>
  2270  </td>
  2271  <td>
  2272  <em>(Optional)</em>
  2273  <p>If present describes tls properties. The SNI names that will be matched on
  2274  are described in fqdn, the tls.secretName secret must contain a
  2275  certificate that itself contains a name that matches the FQDN.</p>
  2276  </td>
  2277  </tr>
  2278  </tbody>
  2279  </table>
  2280  <hr/>
  2281  <p><em>
  2282  Generated with <code>gen-crd-api-reference-docs</code>.
  2283  </em></p>