1
1
# GEP-X: Declarative Policy
2
2
3
- * Issue: TODO
3
+ * Issue: [ 2014 ] ( https://github.com/kubernetes-sigs/gateway-api/issues/2014 )
4
4
* Status: Provisional
5
+ * Authors: [ Flynn] ( mailto:flynn@buoyant.io ) ; [ Shane Utt] ( mailto:shane@konghq.com )
5
6
6
7
## Definitions
7
8
8
- In this document we'll use ` Policy ` to refer to things that are specifically called policies
9
- as well as other "MetaResources" that follow similar patterns.
9
+ In this document we'll use ` policy ` to refer to any resource whose purpose is
10
+ setting policy around other resources. Notably, this could include either
11
+ "policies" or "metaresources" as used in other documents: we're intentionally
12
+ using the broader scope here.
10
13
11
- ## TLDR
14
+ ## tl;dr:
12
15
13
- This proposal is a follow-up to [ GEP-713 Metaresources and Policy Attachment] [ 713 ] to recommend
14
- that we specifically remove the "attachment" part of "policy attachment" in favor of something
15
- that is declarative at the affected resource level.
16
+ This proposal is a follow-up to [ GEP-713 Metaresources and Policy Attachment]
17
+ to recommend that we specifically remove the "attachment" part of "policy
18
+ attachment" in favor of something that is declarative at the affected resource
19
+ level.
16
20
17
- [ 713 ] :https://gateway-api.sigs.k8s.io/geps/gep-713/
21
+ [ GEP- 713 Metaresources and Policy Attachment ] :https://gateway-api.sigs.k8s.io/geps/gep-713/
18
22
19
23
## Goals
20
24
@@ -23,6 +27,10 @@ that is declarative at the affected resource level.
23
27
- Provide new semantics to incorporate ` Policy ` resources at the level of the ` Resource ` that
24
28
will be affected.
25
29
30
+ ## Non-Goals
31
+
32
+ - To be clarified
33
+
26
34
## The Problem: A Parable of Jane
27
35
28
36
It's a sunny Wednesday afternoon, and the lead microservices developer for
@@ -157,20 +165,26 @@ Given that the fundamental problem is that policy attachement isn't
157
165
declarative as written and should be made declarative, there is only one
158
166
fundamental answer: we need to modify the Kubernetes core resources to include
159
167
extension points where a given object refers to its modifier, rather than
160
- having the modifying resource try to attach to its source. This is an ugly
161
- job , but it’s the only way to deal with this situation.
168
+ having the modifying resource try to attach to its source. (For the record, we
169
+ take no joy in this statement , but we do feel that it's the correct answer.)
162
170
163
171
This GEP proposes to start this process with the Gateway API resources.
164
172
173
+ A final note: while it's important to acknowledge that policy attachment is
174
+ ** not** the root cause of the application problems that Jane and Julian have
175
+ in the parable above, it's also important to recognize that policy attachment
176
+ makes understanding and fixing the problem much more difficult. That's the
177
+ primary concern behind this GEP.
178
+
165
179
## API
166
180
167
181
TODO: future iteration
168
182
169
183
## Questions and Answers
170
184
171
- ** Q** : _ Why are you implying that there’s a problem with policy attachment?
172
- Isn’t your parable really just showing us that Jane and Julian work for a
173
- dysfunctional organization ?_
185
+ ** Q** : _ Isn’t your parable really just showing us that Jane and Julian work
186
+ for a dysfunctional organization, rather than showing anything wrong with
187
+ policy attachment ?_
174
188
175
189
** A** : As written, Evil Genius Cupcakes is _ far_ from the most dysfunctional
176
190
organization I’ve seen. Jane and Julian support each other, neither casts
0 commit comments