Commit f588f41
GEP-713 enhancements (kubernetes-sigs#3609)
* GEP-713 resurrected
Resurrects GEP-713 all the way from being a Memorandum straight to Standard, while it buries its forks GEP-2648 and GEP-2649.
Addresses most of the up voted suggestions discussed at kubernetes-sigs#2927, such as:
* merging Direct and Inherited back into a single spec;
* introducing the concept of **merge strategy**
Additionally to:
* targetRef supporting label selectors as an option;
* reduction of targetRef.sectionName to the base case of "it's just another (virtual) resource kind"; and
* algorithm for calculating effective meta resources (effective policies)
And general enhacements to the spec aiming to:
* acknowledge the current known support of the pattern across Gateway API implementations;
* broaden the definitions to potentially welcome known implementation of other meta resource-like concepts into the pattern (or at least acknowledge their similarities with Gateway API)
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* update metadata files
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* not forcing annotations on objects not owned by the implementation
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* conflict resolution section rewritten to clarify that the merge strategy is the only thing necessary to resolve conflicts
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Metaresource spelled as a single word
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* addressing comments
* "meta resource" -> "metaresource" (single word)
* rephrasing/rearranging content for clarity
* typos
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fixing escaping of arrows and gt/lw characters
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* clarifying metaresource statuses' MUST vs SHOULD and example of target object status
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* targeting strategy -> targeting method, to avoid overloading of the term 'strategy'
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix target object status MUST versus SHOULD
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* diagrams to illustrate the abstract process for calculating effective metaresources
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* golang examples of target refs
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix broken anchors
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* diagrams for the end-to-end examples
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* sentence rephrased for improved readability
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* addressing a few comments by candita and robscott
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* typos
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Get GEP-713 back to Memorandum
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Reorg (take 1)
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Reorg (take 2)
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* minor fixes
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix: typo in 'sectionName'
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* minor fixes (2)
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix: typos
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* sentence about different kinds possibly implying different targetting semantics rephrased for improved readability
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* small enhancements to description of' Hierarchy of target kinds' and 'Conflict resolution rules' subsections
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Clarifying enhancements to the definitions of merge strategy and related concepts
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* added motivation to define 'classes of metaresources'
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Preferring 'Policy' over 'Metaresource' when prescribing rules/schema/etc in the spec
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Label selectors as a mechanism to target removed from the spec
Ref.: kubernetes-sigs#3609 (comment)
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* More thorough definitions for the spec'ed merge strategies
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Further enhancements to the definition of Merge strategies after review
1. Define names and mechanisms for possible merge strategies (so both what e.g. “atomic default” means, but also that “atomic default” is the correct name for that strategy)
2. Define a status mechanism by which the strategy SHOULD be reported, and that a conformant implementation MUST use the names defined in 1 to report strategy.
3. Define what merge strategy is preferred for `defaults`, and define that implementations using the defaults clause SHOULD use that strategy.
4. Define what merge strategy is preferred for `overrides`, and define that implementations using the overrides clause SHOULD use that strategy.
5. Acknowledge that implementations MAY support other strategies, or selecting strategies at runtime, but that those are implementation-specific behaviors.
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* minor fix: plural targetRefs used in an example
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Tables highlighting the current state of policies across multiple implementations
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix Envoy Gateway SecurityPolicy merge strategy
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* cleanup redundant 'in other words' summary from the conflict resolution rules section
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Less negative disclaimer at the top
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* minor fix: change and augment are not synonyms
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* added goal: facilitate building tools + implementations should adopt, not must adopt
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* keep support for singular form targetRef
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* use example.com in the examples
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* caveat to using sectionName
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix: list items and broken links
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* Reorg for more easily flagging of the status of each feature (each kind of merge strategy, etc)
+ more detailed `status` stanza provided
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix: several typos
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* warning, danger, and info blocks turned into regular paragraphs
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* PolicyAncestorStatus: Provisional -> Experimental
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* fix: broken link to GEP-1897
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
* links to known implementations
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>
---------
Signed-off-by: Guilherme Cassolato <guicassolato@gmail.com>1 parent b1d7796 commit f588f41
File tree
7 files changed
+1130
-905
lines changed- geps
- gep-2648
- gep-2649
- gep-713
7 files changed
+1130
-905
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
10 | 15 | | |
11 | 16 | | |
12 | 17 | | |
| |||
21 | 26 | | |
22 | 27 | | |
23 | 28 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | 29 | | |
32 | 30 | | |
33 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
10 | 15 | | |
11 | 16 | | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | 20 | | |
23 | 21 | | |
24 | 22 | | |
| |||
224 | 222 | | |
225 | 223 | | |
226 | 224 | | |
227 | | - | |
| 225 | + | |
228 | 226 | | |
229 | 227 | | |
230 | 228 | | |
| |||
245 | 243 | | |
246 | 244 | | |
247 | 245 | | |
248 | | - | |
| 246 | + | |
249 | 247 | | |
250 | 248 | | |
251 | 249 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
0 commit comments