|
7 | 7 | - [Goals](#goals) |
8 | 8 | - [Non-Goals](#non-goals) |
9 | 9 | - [Proposal](#proposal) |
10 | | - - [ClusterNetworkPolicy Resource](#clusternetworkpolicy-resource) |
11 | | - - [DefaultNetworkPolicy Resource](#defaultnetworkpolicy-resource) |
12 | | - - [Precedence Model](#precedence-model) |
| 10 | + - [ClusterNetworkPolicy resource](#clusternetworkpolicy-resource) |
| 11 | + - [DefaultNetworkPolicy resource](#defaultnetworkpolicy-resource) |
| 12 | + - [Precedence model](#precedence-model) |
13 | 13 | - [User Stories](#user-stories) |
14 | | - - [Story 1](#story-1-deny-traffic-from-certain-sources) |
15 | | - - [Story 2](#story-2-funnel-traffic-through-ingressegress-gateways) |
16 | | - - [Story 3](#story-3-isolate-multiple-tenants-in-a-cluster) |
17 | | - - [Story 4](#story-4-enforce-networksecurity-best-practices) |
18 | | - - [Story 5](#story-5-restrict-egress-to-well-known-destinations) |
| 14 | + - [Story 1: Deny traffic from certain sources](#story-1-deny-traffic-from-certain-sources) |
| 15 | + - [Story 2: Funnel traffic through ingress/egress gateways](#story-2-funnel-traffic-through-ingressegress-gateways) |
| 16 | + - [Story 3: Isolate multiple tenants in a cluster](#story-3-isolate-multiple-tenants-in-a-cluster) |
| 17 | + - [Story 4: Enforce network/security best practices](#story-4-enforce-networksecurity-best-practices) |
| 18 | + - [Story 5: Restrict egress to well known destinations](#story-5-restrict-egress-to-well-known-destinations) |
19 | 19 | - [Notes/Constraints/Caveats](#notesconstraintscaveats) |
20 | 20 | - [Risks and Mitigations](#risks-and-mitigations) |
21 | 21 | - [Future Work](#future-work) |
22 | 22 | - [Design Details](#design-details) |
23 | | - - [ClusterNetworkPolicy API Design](#clusternetworkPolicy-api-design) |
24 | | - - [Except Field Semantics](#except-field-semantics) |
25 | | - - [DefaultNetworkPolicy API Design](#defaultnetworkPolicy-api-design) |
| 23 | + - [ClusterNetworkPolicy API Design](#clusternetworkpolicy-api-design) |
| 24 | + - [Except Field Semantics](#except-field-semantics) |
| 25 | + - [DefaultNetworkPolicy API Design](#defaultnetworkpolicy-api-design) |
26 | 26 | - [Shared API Design](#shared-api-design) |
27 | 27 | - [AppliedTo](#appliedto) |
28 | 28 | - [Namespaces](#namespaces) |
29 | 29 | - [IPBlock](#ipblock) |
30 | 30 | - [Sample Specs for User Stories](#sample-specs-for-user-stories) |
31 | | - - [Story 1](#story-1-deny-traffic-from-certain-sources-1) |
32 | | - - [Story 2](#story-2-funnel-traffic-through-ingressegress-gateways-1) |
33 | | - - [Story 3](#story-3-isolate-multiple-tenants-in-a-cluster-1) |
34 | | - - [Story 4](#story-4-enforce-networksecurity-best-practices-1) |
35 | | - - [Story 5](#story-5-restrict-egress-to-well-known-destinations-1) |
| 31 | + - [Story 1: Deny traffic from certain sources](#story-1-deny-traffic-from-certain-sources-1) |
| 32 | + - [Story 2: Funnel traffic through ingress/egress gateways](#story-2-funnel-traffic-through-ingressegress-gateways-1) |
| 33 | + - [Story 3: Isolate multiple tenants in a cluster](#story-3-isolate-multiple-tenants-in-a-cluster-1) |
| 34 | + - [Story 4: Enforce network/security best practices](#story-4-enforce-networksecurity-best-practices-1) |
| 35 | + - [Story 5: Restrict egress to well known destinations](#story-5-restrict-egress-to-well-known-destinations-1) |
36 | 36 | - [Test Plan](#test-plan) |
37 | 37 | - [Graduation Criteria](#graduation-criteria) |
38 | | - - [Alpha -> Beta Graduation](#alpha---beta-graduation) |
39 | | - - [Beta -> GA Graduation](#beta---ga-graduation) |
| 38 | + - [Alpha to Beta Graduation](#alpha-to-beta-graduation) |
| 39 | + - [Beta to GA Graduation](#beta-to-ga-graduation) |
40 | 40 | - [Removing a Deprecated Flag](#removing-a-deprecated-flag) |
41 | 41 | - [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy) |
42 | 42 | - [Upgrade considerations](#upgrade-considerations) |
|
47 | 47 | - [Scalability](#scalability) |
48 | 48 | - [Implementation History](#implementation-history) |
49 | 49 | - [Drawbacks](#drawbacks) |
50 | | -- [Alternatives](#alternatives |
| 50 | +- [Alternatives](#alternatives) |
51 | 51 | - [NetworkPolicy v2](#networkpolicy-v2) |
52 | 52 | - [Single CRD with DefaultRules field](#single-crd-with-defaultrules-field) |
53 | 53 | - [Single CRD with IsOverrideable field](#single-crd-with-isoverrideable-field) |
@@ -400,7 +400,7 @@ An optional `Except` field can be used by policy writers to add exclusions to th |
400 | 400 | for example, intend to deny ingress from everywhere except a few specific |
401 | 401 | Namespaces, such as `kube-system`. |
402 | 402 |
|
403 | | -### `Except` Field Semantics |
| 403 | +### Except Field Semantics |
404 | 404 | ClusterNetworkPolicy does not validate that the Pods selected by the `Except` |
405 | 405 | list is subset of `From/To`: the final peers selected are simply, the set of |
406 | 406 | Pods selected by `ClusterNetworkPolicyPeer`s, subtracting the set of Pods selected |
@@ -691,14 +691,14 @@ spec: |
691 | 691 |
|
692 | 692 | ### Graduation Criteria |
693 | 693 |
|
694 | | -#### Alpha -> Beta Graduation |
| 694 | +#### Alpha to Beta Graduation |
695 | 695 |
|
696 | 696 | - Gather feedback from developers and surveys |
697 | 697 | - At least 1 CNI provider must provide the implementation for the complete set |
698 | 698 | of alpha features |
699 | 699 | - Evaluate "future work" items based on feedback from community |
700 | 700 |
|
701 | | -#### Beta -> GA Graduation |
| 701 | +#### Beta to GA Graduation |
702 | 702 |
|
703 | 703 | - At least 2 CNI providers must provide the implementation for the complete set |
704 | 704 | of alpha features |
|
0 commit comments