Ranking of Cloud Native Computing Foundation landscape projects via Criticality Score.
The CNCF projects are growing in number, making it increasingly difficult to keep track of them all.
While some aim to address similar challenges, others operate in distinct domains, yet they all share a common attribute:
critical importance to modern infrastructures.
This repository is driven by the primary rationale of maintaining an up-to-date ranking of both incubating and graduated projects, leveraging the criticality score as a benchmark.
This repository contains a Go script that performs the following tasks:
- Retrieves the official list of projects from the CNCF landscape.
- For each project in the
incubating
and/orgraduated
state, calculates its score using this port of the criticality score. - Sorts the projects by score from highest to lowest.
- Updates this same README by replacing the placeholder
<!--TABLE_PLACEHOLDER-->
with the HTML table of the final ranking (see it below).
In order to work, the script needs a github token: export GITHUB_AUTH_TOKEN=<github-token-here>
Note
Each project is processed sequentially; hence, script execution takes a few minutes to complete.
I attempted parallelization using Go routines, but I was immediately rate-limited by the GitHub APIs.
Rank | Name | Score | Scored On |
---|---|---|---|
1 | kubernetes | 0.703920 | Wed Feb 7 19:25:51 2024 |
2 | backstage | 0.699100 | Wed Feb 7 19:27:44 2024 |
3 | envoy | 0.685070 | Wed Feb 7 19:26:40 2024 |
4 | cilium | 0.678210 | Wed Feb 7 19:25:19 2024 |
5 | istio | 0.675740 | Wed Feb 7 19:26:50 2024 |
6 | prometheus | 0.668490 | Wed Feb 7 19:29:16 2024 |
7 | keycloak | 0.666890 | Wed Feb 7 19:23:41 2024 |
8 | containerd | 0.650040 | Wed Feb 7 19:24:45 2024 |
9 | rook | 0.649060 | Wed Feb 7 19:24:40 2024 |
10 | etcd | 0.644870 | Wed Feb 7 19:26:29 2024 |
11 | grpc | 0.628070 | Wed Feb 7 19:26:33 2024 |
12 | kubevirt | 0.618730 | Wed Feb 7 19:28:07 2024 |
13 | helm | 0.615450 | Wed Feb 7 19:27:59 2024 |
14 | serving | 0.612150 | Wed Feb 7 19:25:37 2024 |
15 | kubeedge | 0.609840 | Wed Feb 7 19:23:19 2024 |
16 | vitess | 0.605770 | Wed Feb 7 19:27:02 2024 |
17 | dapr | 0.603690 | Wed Feb 7 19:28:58 2024 |
18 | opa | 0.595130 | Wed Feb 7 19:24:19 2024 |
19 | argo-cd | 0.587120 | Wed Feb 7 19:28:14 2024 |
20 | keda | 0.584200 | Wed Feb 7 19:29:01 2024 |
21 | cert-manager | 0.581900 | Wed Feb 7 19:23:30 2024 |
22 | harbor | 0.572720 | Wed Feb 7 19:23:27 2024 |
23 | thanos | 0.568450 | Wed Feb 7 19:29:20 2024 |
24 | serving | 0.566620 | Wed Feb 7 19:29:05 2024 |
25 | cloud-custodian | 0.566550 | Wed Feb 7 19:23:16 2024 |
26 | dapr | 0.558390 | Wed Feb 7 19:27:55 2024 |
27 | contour | 0.556520 | Wed Feb 7 19:26:36 2024 |
28 | tikv | 0.554170 | Wed Feb 7 19:26:58 2024 |
29 | keda | 0.547960 | Wed Feb 7 19:25:33 2024 |
30 | karmada | 0.546660 | Wed Feb 7 19:25:29 2024 |
31 | emissary | 0.543350 | Wed Feb 7 19:26:44 2024 |
32 | cri-o | 0.540460 | Wed Feb 7 19:24:48 2024 |
33 | longhorn | 0.539230 | Wed Feb 7 19:24:37 2024 |
34 | opentelemetry-java | 0.539160 | Wed Feb 7 19:30:02 2024 |
35 | kyverno | 0.533690 | Wed Feb 7 19:23:44 2024 |
36 | nats-server | 0.533160 | Wed Feb 7 19:27:36 2024 |
37 | falco | 0.531280 | Wed Feb 7 19:23:34 2024 |
38 | cortex | 0.530290 | Wed Feb 7 19:29:08 2024 |
39 | linkerd2 | 0.525180 | Wed Feb 7 19:26:54 2024 |
40 | kubeflow | 0.523000 | Wed Feb 7 19:25:40 2024 |
41 | jaeger | 0.522200 | Wed Feb 7 19:29:58 2024 |
42 | strimzi-kafka-operator | 0.521910 | Wed Feb 7 19:27:40 2024 |
43 | volcano | 0.511580 | Wed Feb 7 19:25:55 2024 |
44 | litmus | 0.508760 | Wed Feb 7 19:30:14 2024 |
45 | crossplane | 0.508070 | Wed Feb 7 19:25:26 2024 |
46 | operator-sdk | 0.502880 | Wed Feb 7 19:28:10 2024 |
47 | flux2 | 0.500920 | Wed Feb 7 19:28:45 2024 |
48 | pack | 0.500810 | Wed Feb 7 19:27:47 2024 |
49 | fluentd | 0.496930 | Wed Feb 7 19:29:54 2024 |
50 | chaos-mesh | 0.491710 | Wed Feb 7 19:30:10 2024 |
51 | spire | 0.490630 | Wed Feb 7 19:24:30 2024 |
52 | kubevela | 0.490470 | Wed Feb 7 19:28:03 2024 |
53 | coredns | 0.486780 | Wed Feb 7 19:25:59 2024 |
54 | Dragonfly2 | 0.479050 | Wed Feb 7 19:23:23 2024 |
55 | kruise | 0.476520 | Wed Feb 7 19:28:52 2024 |
56 | cni | 0.471110 | Wed Feb 7 19:25:23 2024 |
57 | spec | 0.467230 | Wed Feb 7 19:27:05 2024 |
58 | lifecycle-toolkit | 0.465110 | Wed Feb 7 19:28:48 2024 |
59 | python-tuf | 0.463820 | Wed Feb 7 19:24:22 2024 |
60 | in-toto | 0.436140 | Wed Feb 7 19:23:37 2024 |
61 | cubefs | 0.412790 | Wed Feb 7 19:24:33 2024 |
62 | notation | 0.403930 | Wed Feb 7 19:24:15 2024 |
63 | spec | 0.395100 | Wed Feb 7 19:29:51 2024 |
64 | spiffe | 0.352460 | Wed Feb 7 19:24:26 2024 |
65 | opentracing-go | 0.259350 | Wed Feb 7 19:30:06 2024 |
66 | OpenMetrics | 0.250390 | Wed Feb 7 19:29:11 2024 |