|
1 |
| -# NetworkPolicy Assistant (derived from Cyclonus) |
| 1 | +# Cyclonus |
2 | 2 |
|
3 |
| -(Work in Progress) |
| 3 | +## Network policy explainer, prober, and test case generator |
4 | 4 |
|
5 |
| -Explains your configuration of (Baseline)AdminNetworkPolicy and v1 NetworkPolicy. Additionally, can test conformance of (B)ANP and v1 NetworkPolicy via a connectivity matrix. Derived from the great work of @mattfenwick et al. in [Cyclonus](https://github.com/mattfenwick/cyclonus). |
| 5 | +Parse, explain, and probe network policies to understand their implications and help design |
| 6 | +policies that suit your needs! |
6 | 7 |
|
7 |
| -TODO: update README once [#150](https://github.com/kubernetes-sigs/network-policy-api/issues/150) is complete. |
| 8 | +## Quickstart |
8 | 9 |
|
9 |
| -More details here: [Cyclonus](https://github.com/mattfenwick/cyclonus). |
| 10 | +Users: check out our [Quickstart guide](./docs/quickstart.md) |
| 11 | + |
| 12 | +Developers: check out our [Developer guide](./docs/developer-guide.md) |
| 13 | + |
| 14 | +Cyclonus functionality: |
| 15 | + |
| 16 | + - [run a single network policy test on a cluster](./docs/probe.md) |
| 17 | + - [run network policy conformance tests on a cluster](./docs/generator.md) |
| 18 | + - [understand test runs](./docs/test-runs.md) |
| 19 | + - [analyze network policies](./docs/analyze.md) |
| 20 | + |
| 21 | + |
| 22 | +## Integrations |
| 23 | + |
| 24 | +Cyclonus is available as a [**krew/kubectl plugin**](https://github.com/mattfenwick/kubectl-cyclonus): |
| 25 | + |
| 26 | + - [Set up krew](https://krew.sigs.k8s.io/docs/user-guide/quickstart/) |
| 27 | + - install: `kubectl krew install cyclonus` |
| 28 | + - use: `kubectl cyclonus -h` |
| 29 | + |
| 30 | +**Antrea testing**: [Cyclonus runs network policy tests for Antrea on a daily basis](https://github.com/vmware-tanzu/antrea/actions/workflows/netpol_cyclonus.yml). |
| 31 | + |
| 32 | +**Cilium testing**: [Cyclonus runs network policy tests for Cilium on a daily basis](https://github.com/cilium/cilium/pull/14889). |
| 33 | + |
| 34 | +**Sonobuoy plugin**: [run Cyclonus tests through Sonobuoy](./hack/sonobuoy). |
| 35 | + |
| 36 | + |
| 37 | +## Motivation and History |
| 38 | + |
| 39 | +Testing network policies for CNI providers on Kubernetes has historically been very difficult, requiring a lot of boiler plate. |
| 40 | +This was recently improved upstream via truth table based tests |
| 41 | +([see KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/1611-network-policy-validation)). |
| 42 | +Cyclonus is the next evolution of the truth table tests which are part of upstream Kubernetes. |
| 43 | +Cyclonus generates hundreds of network policies, their connectivity tables, and outputs results in the same, easy to read format. |
| 44 | + |
| 45 | +## Thanks to contributors |
| 46 | + |
| 47 | + - @dougsland |
| 48 | + - @jayunit100 |
| 49 | + - @johnSchnake |
| 50 | + - @enhaocui |
| 51 | + - @matmerr |
0 commit comments