5
5
6
6
## TLDR
7
7
8
- This GEP aims to standardize terminology and process around using one Kubernetes
8
+ This GEP aims to standardize terminology and processes around using one Kubernetes
9
9
object modify the functions of one or more other objects.
10
10
11
- Generally, a Kubernetes object that that _ augments_ the behavior of an object
11
+ This GEP defines some terms, firstly: _ Metaresource_ .
12
+
13
+ A Kubernetes object that that _ augments_ the behavior of an object
12
14
in a standard way is called a _ Metaresource_ are a type of object. ReferenceGrant
13
15
is an example of this general type of metaresource, but it is far from the only
14
16
one.
@@ -19,8 +21,8 @@ A "Policy Attachment" is a specific type of _metaresource_ that can affect speci
19
21
settings across either one object (this is "Direct Policy Attachment"), or objects
20
22
in a hierarchy (this is "Hierarchical Policy Attachment").
21
23
22
- Individual policy APIs must
23
- - be their own CRDs (e.g. ` TimeoutPolicy ` , ` RetryPolicy ` etc),
24
+ Individual policy APIs:
25
+ - must be their own CRDs (e.g. ` TimeoutPolicy ` , ` RetryPolicy ` etc),
24
26
- can be included in the Gateway API API group and installation or be defined by
25
27
implementations
26
28
- and must include a common ` TargetRef ` struct in their specification to identify how and where to
@@ -139,8 +141,9 @@ Importantly, this would apply to _every_ usage of that Service across any HTTPRo
139
141
in that namespace, which could be useful for a Service that is reused in a lot of
140
142
HTTPRoutes.
141
143
142
- With this two examples in mind, here are some guidelines for when to consider
144
+ With these two examples in mind, here are some guidelines for when to consider
143
145
using Direct Policy Attachment:
146
+
144
147
* The number or scope of objects to be modified is limited or singular. Direct
145
148
Policy Attachments should target one specific object (preferred), or a tightly-scoped
146
149
set of objects (like all Services in a namespace).
@@ -160,7 +163,7 @@ using Direct Policy Attachment:
160
163
consumer policies, but in general, Policy objects that modify the behavior of
161
164
things outside their own namespace should be avoided unless it uses a handshake
162
165
of some sort, where the things outside the namespace can opt–out of the behavior.
163
- (Notably, this is the design that we used for ReferenceGrant).)
166
+ (Notably, this is the design that we used for ReferenceGrant).
164
167
165
168
### Hierarchical Policy Attachment: It's all about the defaults and overrides
166
169
0 commit comments