You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs-src/api-overview.md
+55-36
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,8 @@ There are 3 primary roles in Service APIs:
12
12
13
13
There could be a fourth role of Application Admin in some use cases.
14
14
15
-
Please refer to the [roles and personas](security-model.md#roles-and-personas)section
16
-
in the Security model for details.
15
+
Please refer to the [roles and personas](security-model.md#roles-and-personas)
16
+
section in the Security model for details.
17
17
18
18
## Resource model
19
19
@@ -23,47 +23,64 @@ in the Security model for details.
23
23
24
24
There are three main types of objects in our resource model:
25
25
26
-
*GatewayClass* defines a set of gateways with a common configuration and behavior.
26
+
*GatewayClass* defines a set of gateways with a common configuration and
27
+
behavior.
27
28
28
-
*Gateway* requests a point where traffic can be translated to Services within the cluster.
29
+
*Gateway* requests a point where traffic can be translated to Services within
30
+
the cluster.
29
31
30
32
*Routes* describe how traffic coming via the Gateway maps to the Services.
31
33
32
34
### GatewayClass
33
35
34
-
GatewayClass defines a set of Gateways that share a common configuration and behaviour.
35
-
Each GatewayClass will be handled by a single controller, although controllers MAY handle more than one.
36
+
GatewayClass defines a set of Gateways that share a common configuration and
37
+
behaviour. Each GatewayClass will be handled by a single controller, although
38
+
controllers MAY handle more than one.
36
39
37
-
GatewayClass is a cluster-scoped resource.
38
-
There MUST be at least one GatewayClass defined in order to be able to have functional Gateways.
39
-
A controller that implements the Gateway API does so by providing an associated GatewayClass resource that the user can reference from their Gateway(s).
40
+
GatewayClass is a cluster-scoped resource. There MUST be at least one
41
+
GatewayClass defined in order to be able to have functional Gateways. A
42
+
controller that implements the Gateway API does so by providing an associated
43
+
GatewayClass resource that the user can reference from their Gateway(s).
40
44
41
-
This is similar to [IngressClass](https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190125-ingress-api-group.md#ingress-class) for Ingress and [StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/) for PersistentVolumes.
42
-
In Ingress v1beta1, the closest analog to GatewayClass is the `ingress-class` annotation, and in IngressV1, the closest analog is the IngressClass object.
Copy file name to clipboardexpand all lines: docs/api-overview/index.html
+55-36
Original file line number
Diff line number
Diff line change
@@ -761,42 +761,59 @@ <h2 id="roles-and-personas">Roles and personas.</h2>
761
761
<li>Application Developer</li>
762
762
</ul>
763
763
<p>There could be a fourth role of Application Admin in some use cases.</p>
764
-
<p>Please refer to the <ahref="../security-model/#roles-and-personas">roles and personas</a>section
765
-
in the Security model for details.</p>
764
+
<p>Please refer to the <ahref="../security-model/#roles-and-personas">roles and personas</a>
765
+
section in the Security model for details.</p>
766
766
<h2id="resource-model">Resource model</h2>
767
767
<blockquote>
768
768
<p>Note: Resources will initially live in the <code>networking.x-k8s.io</code> API group as
769
769
Custom Resource Definitions (CRDs). Unqualified resource names will implicitly
770
770
be in this API group.</p>
771
771
</blockquote>
772
772
<p>There are three main types of objects in our resource model:</p>
773
-
<p><em>GatewayClass</em> defines a set of gateways with a common configuration and behavior.</p>
774
-
<p><em>Gateway</em> requests a point where traffic can be translated to Services within the cluster.</p>
773
+
<p><em>GatewayClass</em> defines a set of gateways with a common configuration and
774
+
behavior.</p>
775
+
<p><em>Gateway</em> requests a point where traffic can be translated to Services within
776
+
the cluster.</p>
775
777
<p><em>Routes</em> describe how traffic coming via the Gateway maps to the Services.</p>
776
778
<h3id="gatewayclass">GatewayClass</h3>
777
-
<p>GatewayClass defines a set of Gateways that share a common configuration and behaviour.
778
-
Each GatewayClass will be handled by a single controller, although controllers MAY handle more than one.</p>
779
-
<p>GatewayClass is a cluster-scoped resource.
780
-
There MUST be at least one GatewayClass defined in order to be able to have functional Gateways.
781
-
A controller that implements the Gateway API does so by providing an associated GatewayClass resource that the user can reference from their Gateway(s).</p>
782
-
<p>This is similar to <ahref="https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190125-ingress-api-group.md#ingress-class">IngressClass</a> for Ingress and <ahref="https://kubernetes.io/docs/concepts/storage/storage-classes/">StorageClass</a> for PersistentVolumes.
783
-
In Ingress v1beta1, the closest analog to GatewayClass is the <code>ingress-class</code> annotation, and in IngressV1, the closest analog is the IngressClass object.</p>
779
+
<p>GatewayClass defines a set of Gateways that share a common configuration and
780
+
behaviour. Each GatewayClass will be handled by a single controller, although
781
+
controllers MAY handle more than one.</p>
782
+
<p>GatewayClass is a cluster-scoped resource. There MUST be at least one
783
+
GatewayClass defined in order to be able to have functional Gateways. A
784
+
controller that implements the Gateway API does so by providing an associated
785
+
GatewayClass resource that the user can reference from their Gateway(s).</p>
<p>A typical client/gateway API request flow for a gateway implemented using a reverse proxy is:</p>
836
+
<p>A typical client/gateway API request flow for a gateway implemented using a
837
+
reverse proxy is:</p>
820
838
<ol>
821
839
<li>A client makes a request to http://foo.example.com.</li>
822
840
<li>DNS resolves the name to a <code>Gateway</code> address.</li>
823
-
<li>The reverse proxy receives the request on a <code>Listener</code> and uses the
824
-
<ahref="https://tools.ietf.org/html/rfc7230#section-5.4">Host header</a> to match an <code>HTTPRoute</code>.</li>
825
-
<li>Optionally, the reverse proxy can perform request header and/or path matching based
826
-
on <code>match</code> rules of the <code>HTTPRoute</code>.</li>
827
-
<li>Optionally, the reverse proxy can modify the request, i.e. add/remove headers, based
828
-
on <code>filter</code> rules of the <code>HTTPRoute</code>.</li>
829
-
<li>Lastly, the reverse proxy forwards the request to one or more objects, i.e. <code>Service</code>,
830
-
in the cluster based on <code>forwardTo</code> rules of the <code>HTTPRoute</code>.</li>
841
+
<li>The reverse proxy receives the request on a <code>Listener</code> and uses the <ahref="https://tools.ietf.org/html/rfc7230#section-5.4">Host
842
+
header</a> to match an
843
+
<code>HTTPRoute</code>.</li>
844
+
<li>Optionally, the reverse proxy can perform request header and/or path
845
+
matching based on <code>match</code> rules of the <code>HTTPRoute</code>.</li>
846
+
<li>Optionally, the reverse proxy can modify the request, i.e. add/remove
847
+
headers, based on <code>filter</code> rules of the <code>HTTPRoute</code>. </li>
848
+
<li>Lastly, the reverse proxy forwards the request to one or more objects, i.e.
849
+
<code>Service</code>, in the cluster based on <code>forwardTo</code> rules of the <code>HTTPRoute</code>.</li>
831
850
</ol>
832
851
<h2id="tls-configuration">TLS Configuration</h2>
833
852
<p>TLS is configured on Gateway listeners. Additionally, TLS certificates
0 commit comments