The CNCF Landscape, Counted

The CNCF landscape has 2,417 entries. That number is the reason people call it overwhelming, and it is also misleading: most of those entries are member companies and products that merely run on Kubernetes. The part that is actually governed by the foundation is smaller and countable, and it is what this post maps.

Everything below comes from landscape.yml in the cncf/landscape repository, read on 2 September 2026. Counts move, so treat them as a snapshot rather than a constant.

Index #

How big it actually is #

WhatCount
Entries in the landscape2,417
Of those, CNCF projects, active227
Graduated38
Incubating38
Sandbox151
Archived28

The gap between 2,417 and 227 is the first thing worth internalising. Being on the landscape means someone filled in a YAML entry. Being a CNCF project means the Technical Oversight Committee voted you in and you accepted the obligations that come with it.

When they arrived #

Acceptance year of every project the foundation has ever taken in, archived ones included.

YearAcceptedRunning total
201644
20171014
20181832
20191244
20203478
202142120
202235155
202327182
202428210
202534244
202611255

2020 and 2021 are the spike, and they are the reason the landscape image became a meme. The intake has since settled around thirty a year. The 2026 row is partial, since the year is not over.

What the maturity levels mean #

There are three active levels and one terminal state. They are not a quality ranking of the code. They describe how much external evidence a project has accumulated, and how much the foundation is willing to stake on it.

LevelWhat it saysWhat it demands
SandboxEarly. Interesting enough to give a neutral home.A TOC vote, a real open source licence, a code of conduct, and neutral ownership of the trademark and assets.
IncubatingUsed in production by people who did not write it.Named adopters, healthy and growing contribution from more than one employer, documented governance, a security disclosure process, and due diligence by the TOC.
GraduatedSafe to standardise on.Committers from multiple organisations, an independent security audit, the OpenSSF best practices badge, defined governance and a supermajority TOC vote.
ArchivedNo longer maintained or no longer needed.Nothing. The code stays readable, the project stops receiving foundation services.

The levels are gates, not a schedule, and the data shows how slow the real pace is. Median time from acceptance to incubating is 1.4 years across 79 projects. From incubating to graduated, 2.2 years across 38. End to end, the median project takes 3.0 years to graduate, and the slowest took 7.8.

This is the practical reading for someone choosing a tool. Sandbox means the foundation finds the idea worth hosting, not that anyone runs it at scale. Incubating means other companies already depend on it. Graduated means the project survived an audit and does not belong to a single vendor. The 28 archived projects are the honest part of the record: OpenTracing, Service Mesh Interface, rkt and others were all once the obvious answer.

The projects, by category #

Every active CNCF project, grouped the way the landscape groups them. The level column is the foundation’s, the repository is the one the landscape points at, and the last column is what the thing is for.

App Definition and Development #

Application Definition & Image Build

ProjectLevelRepositoryWhat problem it solves
Artifact HubIncubatingartifacthub/hubFinds and publishes Helm charts, operators and other artifacts scattered across repos.
BackstageIncubatingbackstage/backstageDeveloper portal that puts services, docs and ownership behind one catalogue.
BuildpacksGraduatedbuildpacks/packBuilds images from source, so nobody has to write a Dockerfile.
CarvelSandboxcarvel-dev/yttSmall composable tools for templating, packaging and deploying manifests.
DalecSandboxproject-dalec/dalecDeclarative format for building system packages and containers from them.
DaprGraduateddapr/daprBuilding blocks for state, pub/sub and service calls, so apps stop embedding them.
DevfileSandboxdevfile/apiOpen standard for a containerised dev environment, so tools agree on it.
DevSpaceSandboxdevspace-sh/devspaceInner development loop against a cluster, syncing code into running pods.
HelmGraduatedhelm/helmPackages and versions manifests so a release can be installed, upgraded and rolled back.
koSandboxko-build/koBuilds and pushes Go container images without a Dockerfile.
KonveyorSandboxkonveyor/operatorAssists migrating and modernising legacy applications toward Kubernetes.
KubeVelaIncubatingkubevela/kubevelaDelivers applications from a declarative spec, hiding cluster detail from developers.
KubeVirtIncubatingkubevirt/kubevirtRuns virtual machines as Kubernetes workloads, next to containers.
KUDOSandboxkudobuilder/kudoDeclarative toolkit for writing operators without writing Go.
MicrocksIncubatingmicrocks/microcksMocks and tests APIs from their own contracts.
ModelPackSandboxmodelpack/model-specStandard for packaging and distributing AI model artifacts as OCI content.
Open Workflow SpecificationSandboxopen-workflow-specification/specificationVendor-neutral DSL for describing workflows across runtimes.
Operator FrameworkIncubatingoperator-framework/operator-sdkSDK and lifecycle manager for building and shipping operators.
ORASSandboxoras-project/orasPushes and pulls arbitrary artifacts through an OCI registry.
Podman DesktopSandboxpodman-desktop/podman-desktopDesktop interface for containers and clusters, with no daemon.
PorterSandboxgetporter/porterBundles an application with its tooling and config so it installs anywhere.
RadiusSandboxradius-project/radiusModels an application and its dependencies across clouds, not just its containers.
ScoreSandboxscore-spec/specWorkload spec that stays the same while the target platform changes.
ShipwrightSandboxshipwright-io/buildRuns image builds inside the cluster, with pluggable build strategies.
StackerSandboxproject-stacker/stackerBuilds OCI images and SBOMs from a declarative file, with no daemon.
TelepresenceSandboxtelepresenceio/telepresenceRuns one service locally while it talks to the rest of a remote cluster.
Visual Studio Code Kubernetes ToolsSandboxvscode-kubernetes-tools/vscode-kubernetes-toolsBrowses, edits and debugs cluster resources from the editor.
xRegistrySandboxxregistry/serverCommon model and API for registries that hold metadata about resources.

Continuous Integration & Delivery

ProjectLevelRepositoryWhat problem it solves
ArgoGraduatedargoproj/argo-cdGitOps delivery, workflows, events and progressive rollouts, all as controllers.
FluxGraduatedfluxcd/flux2Keeps a cluster reconciled with what a Git repository declares.
Kube-burnerSandboxkube-burner/kube-burnerDrives load at a cluster to measure how it behaves at scale.
OpenChoreoSandboxopenchoreo/openchoreoInternal developer platform with higher level abstractions over Kubernetes.
OpenGitOpsSandboxopen-gitops/projectDefines what GitOps actually means, so tools can claim it honestly.
OpenKruiseIncubatingopenkruise/kruiseAdvanced workload controllers for rollouts the built-in ones do not cover.
PipeCDSandboxpipe-cd/pipecdGitOps delivery across several kinds of target under one pipeline model.
TektonIncubatingtektoncd/pipelinePipelines as Kubernetes resources, so CI runs where the workloads run.
werfSandboxwerf/werfTies Git history to build and deploy, so the cluster matches a commit.

Database

ProjectLevelRepositoryWhat problem it solves
CloudNativePGSandboxcloudnative-pg/cloudnative-pgRuns, backs up and fails over PostgreSQL inside Kubernetes.
OpenEverestSandboxopeneverest/openeverestProvisions and operates several database engines through one control plane.
openGeminiSandboxopenGemini/openGeminiDistributed time series database for high-cardinality metrics.
SchemaHeroSandboxschemahero/schemaheroApplies database schema changes declaratively, the way manifests are applied.
TiKVGraduatedtikv/tikvDistributed transactional key-value store for data that outgrew one machine.
VitessGraduatedvitessio/vitessShards MySQL so it grows past one server without rewriting the application.

Streaming & Messaging

ProjectLevelRepositoryWhat problem it solves
Apicurio RegistrySandboxApicurio/apicurio-registryStores and versions schemas so producers and consumers keep agreeing.
CloudEventsGraduatedcloudevents/specCommon envelope for events, so different systems can read each other’s.
DrasiSandboxdrasi-project/drasi-platformDetects and reacts to changes in data without anyone polling for them.
NATSIncubatingnats-io/nats-serverLight messaging and streaming for services, edge devices and IoT.
StrimziIncubatingstrimzi/strimzi-kafka-operatorRuns and operates Kafka clusters on Kubernetes.
TremorSandboxtremor-rs/tremor-runtimeEvent processing for high-volume unstructured data at the edge of a system.

Inference #

Framework

ProjectLevelRepositoryWhat problem it solves
KAITOSandboxkaito-project/kaitoRuns LLM inference, fine-tuning and RAG workloads on Kubernetes.
KServeIncubatingkserve/kserveServes models behind one interface, with autoscaling and canaries.
llm-dSandboxllm-d/llm-dDistributed LLM serving on Kubernetes, built on vLLM.

Observability and Analysis #

Chaos Engineering

ProjectLevelRepositoryWhat problem it solves
Chaos MeshIncubatingchaos-mesh/chaos-meshInjects failures into a cluster to see whether it really recovers.
ChaosbladeSandboxchaosblade-io/chaosbladeFault injection across hosts, containers and cloud services.
KrknSandboxkrkn-chaos/krknChaos scenarios aimed at finding the bottleneck before production does.
LitmusIncubatinglitmuschaos/litmusChaos experiments as Kubernetes resources, with results you can review.

Continuous Optimization

ProjectLevelRepositoryWhat problem it solves
OpenCostIncubatingopencost/opencostAttributes cluster spend to namespaces, workloads and teams.

Feature Flagging

ProjectLevelRepositoryWhat problem it solves
OpenFeatureIncubatingopen-feature/specVendor-neutral API for feature flags, so the provider can change later.

Observability

ProjectLevelRepositoryWhat problem it solves
CortexIncubatingcortexproject/cortexHorizontally scalable, multi-tenant long term storage for Prometheus.
FluentdGraduatedfluent/fluentdCollects, parses and routes logs from many sources to many destinations.
HeadlampSandboxkubernetes-sigs/headlampWeb interface for browsing and operating clusters, extensible with plugins.
HolmesGPTSandboxHolmesGPT/holmesgptAI agent that investigates alerts and explains what broke.
Inspektor GadgetSandboxinspektor-gadget/inspektor-gadgeteBPF tools for seeing what a pod is actually doing.
JaegerGraduatedjaegertracing/jaegerStores and queries distributed traces to find where the latency went.
K8sGPTSandboxk8sgpt-ai/k8sgptScans a cluster and explains what is broken in plain language.
KeplerSandboxsustainable-computing-io/keplerEstimates energy use per pod from eBPF and hardware counters.
KuberhealthySandboxkuberhealthy/kuberhealthyRuns synthetic checks as pods and reports them as metrics.
Logging Operator (Kube Logging)Sandboxkube-logging/logging-operatorConfigures log collection and routing declaratively.
OpenTelemetryGraduatedopen-telemetry/communityOne SDK and wire format for traces, metrics and logs.
PersesSandboxperses/persesDashboards as versionable resources instead of clicked-together JSON.
PixieSandboxpixie-io/pixieInstruments a cluster with eBPF, with no code changes.
PrometheusGraduatedprometheus/prometheusScrapes and stores metrics, with a query language and alerting.
ThanosIncubatingthanos-io/thanosGives Prometheus a global view, long retention and deduplication.
TricksterSandboxtrickstercache/tricksterCaches time series queries so dashboards stop hammering the database.

Orchestration & Management #

API Gateway

ProjectLevelRepositoryWhat problem it solves
EasegressSandboxeasegress-io/easegressTraffic orchestration and gateway with a pipeline model.
Emissary-IngressIncubatingemissary-ingress/emissaryKubernetes-native ingress and API gateway built on Envoy.
HigressSandboxhigress-group/higressGateway for ingress, microservice and LLM traffic in one place.
KgatewaySandboxkgateway-dev/kgatewayEnvoy gateway that implements the Kubernetes Gateway API.
KuadrantSandboxkuadrant/kuadrant-operatorAdds auth and rate limiting policy on top of Gateway API.

Coordination & Service Discovery

ProjectLevelRepositoryWhat problem it solves
CoreDNSGraduatedcoredns/corednsDNS server that resolves service names inside the cluster.
etcdGraduatedetcd-io/etcdConsistent key-value store that holds the cluster’s state.
k8gbIncubatingk8gb-io/k8gbDNS-based global load balancing across clusters, with no central appliance.
OxiaSandboxoxia-db/oxiaScalable metadata store and coordination service.

Remote Procedure Call

ProjectLevelRepositoryWhat problem it solves
Connect RPCSandboxconnectrpc/connect-gogRPC-compatible APIs that also work straight from a browser.
gRPCIncubatinggrpc/grpcTyped, generated RPC over HTTP/2 between services.

Scheduling & Orchestration

ProjectLevelRepositoryWhat problem it solves
AgonesSandboxagones-dev/agonesRuns and scales dedicated game servers as Kubernetes workloads.
ArmadaSandboxarmadaproject/armadaQueues and schedules batch jobs across many clusters.
CapsuleSandboxprojectcapsule/capsuleMulti-tenancy through policy, so teams can share one cluster safely.
ClusternetSandboxclusternet/clusternetManages and delivers workloads to many clusters from one place.
ClusterpediaSandboxclusterpedia-io/clusterpediaSearches resources across many clusters at once.
CoHDISandboxCoHDIAttaches disaggregated hardware devices to nodes on demand.
CozystackSandboxcozystack/cozystackFramework for building a private cloud on your own hardware.
CrossplaneGraduatedcrossplane/crossplaneProvisions cloud infrastructure through Kubernetes APIs.
EraserSandboxeraser-dev/eraserRemoves unused and vulnerable images from cluster nodes.
FluidIncubatingfluid-cloudnative/fluidCaches and abstracts remote data so compute reads it as if local.
HAMiIncubatingProject-HAMi/HAMiShares and virtualises GPUs and other accelerators between pods.
k0sSandboxk0sproject/k0sKubernetes distribution that ships as a single binary.
KAI SchedulerSandboxkai-scheduler/KAI-SchedulerSchedules GPU workloads with quota and fair sharing.
KarmadaIncubatingkarmada-io/karmadaPropagates and schedules workloads across many clusters.
kcpSandboxkcp-dev/kcpKubernetes-style control plane serving many logical clusters.
KEDAGraduatedkedacore/kedaScales workloads from zero based on external event sources.
KnativeGraduatedknative/servingServerless layer with request-driven autoscaling and eventing.
KoordinatorSandboxkoordinator-sh/koordinatorCo-locates latency-sensitive and batch workloads on the same nodes.
kube-rsSandboxkube-rs/kubeRust client and controller runtime for building against Kubernetes.
KubeFleetSandboxkubefleet-dev/kubefleetManages where applications land across a fleet of clusters.
KubeflowGraduatedkubeflow/kubeflowToolkit for training, tuning and serving models on Kubernetes.
KubernetesGraduatedkubernetes/kubernetesSchedules containers and reconciles declared state across a cluster.
KubeSliceSandboxkubeslice/kubesliceConnects namespaces across clusters into one network slice.
KubeStellarSandboxkubestellar/kubestellarDistributes configuration to many clusters from one control plane.
KuredSandboxkubereboot/kuredReboots nodes safely when a package update asks for it.
Open Cluster ManagementSandboxopen-cluster-management-io/ocmHub-and-spoke standard for managing many clusters.
OpenFunctionSandboxOpenFunction/OpenFunctionFunction-as-a-service built on Kubernetes.
Serverless DevsSandboxserverless-devs/serverless-devsTooling to develop and deploy serverless apps across clouds.
VolcanoIncubatingvolcano-sh/volcanoBatch scheduler for AI and HPC jobs that need gang scheduling.
wasmCloudIncubatingwasmCloud/wasmCloudRuns WebAssembly components distributed across many hosts.

Service Mesh

ProjectLevelRepositoryWhat problem it solves
Aeraki MeshSandboxaeraki-mesh/aerakiManages layer 7 protocols a mesh does not understand natively.
IstioGraduatedistio/istioMesh for traffic control, mTLS and telemetry between services.
KmeshSandboxkmesh-net/kmeshMesh data plane in eBPF, without a sidecar per pod.
KumaSandboxkumahq/kumaEnvoy-based mesh that spans Kubernetes and plain VMs.
LinkerdGraduatedlinkerd/linkerd2Lightweight mesh focused on mTLS, retries and golden metrics.
SermantSandboxsermant-io/SermantProxyless mesh for Java services, through a Java agent.

Service Proxy

ProjectLevelRepositoryWhat problem it solves
BFESandboxbfenetworks/bfeLayer 7 load balancer with its own routing language.
ContourIncubatingprojectcontour/contourIngress controller built on Envoy.
EnvoyGraduatedenvoyproxy/envoyProgrammable L4/L7 proxy, the data plane most meshes are built on.
LoxiLBSandboxloxilb-io/loxilbeBPF load balancer for Kubernetes, edge and telco workloads.
MetalLBSandboxmetallb/metallbGives services real IPs on bare metal, where no cloud load balancer exists.

Platform #

Certified Kubernetes - Distribution

ProjectLevelRepositoryWhat problem it solves
Flatcar Container LinuxIncubatingflatcar/FlatcarImmutable Linux that runs containers and updates itself.
k3sSandboxk3s-io/k3sSmall Kubernetes distribution for edge and constrained machines.

Certified Kubernetes - Installer

ProjectLevelRepositoryWhat problem it solves
KubeClipperSandboxkubeclipper/kubeclipperInstalls and manages cluster lifecycle with a light control plane.

Provisioning #

Automation & Configuration

ProjectLevelRepositoryWhat problem it solves
AkriSandboxproject-akri/akriExposes edge devices such as cameras and sensors as cluster resources.
AtlantisSandboxrunatlantis/atlantisRuns Terraform plan and apply from pull requests.
Cadence WorkflowSandboxcadence-workflow/cadenceRuns long-lived stateful workflows as code, surviving process failure.
CDK for Kubernetes (CDK8s)Sandboxcdk8s-team/cdk8sGenerates manifests from a real programming language.
Cloud CustodianIncubatingcloud-custodian/cloud-custodianRules that find and fix non-compliant cloud resources.
kagentSandboxkagent-dev/kagentRuns AI agents that operate Kubernetes for platform teams.
KairosSandboxkairos-io/kairosTurns a Linux distribution into an immutable, edge-ready cluster node.
kbindSandboxkbind-dev/kbindBinds services between provider and consumer clusters.
KCLSandboxkcl-lang/kclConstraint language for configuration, with validation built in.
KitOpsSandboxkitops-ml/kitopsPackages models, datasets and code together as OCI artifacts.
kptSandboxkptdev/kptEdits and updates Kubernetes configuration as data, not as templates.
KubeanSandboxkubean-io/kubeanCluster lifecycle management built on top of kubespray.
KubeEdgeGraduatedkubeedge/kubeedgeExtends Kubernetes to edge nodes that lose their link.
KusionStackSandboxKusionStack/kusionPlatform orchestrator for building an internal developer platform.
MesherySandboxmeshery/mesheryManages, configures and benchmarks cloud-native infrastructure.
metal3-ioIncubatingmetal3-io/baremetal-operatorProvisions bare metal hosts through Kubernetes APIs.
NMstateSandboxnmstate/nmstateDeclarative host network configuration.
OpenTofuSandboxopentofu/opentofuInfrastructure as code, the community fork of Terraform.
OpenYurtIncubatingopenyurtio/openyurtExtends upstream Kubernetes to edge sites and keeps them autonomous.
Runme NotebooksSandboxrunmedev/runmeMakes runbooks written in Markdown actually runnable.
TinkerbellSandboxtinkerbell/tinkerbellBare metal provisioning with network and ISO boot.

Container Registry

ProjectLevelRepositoryWhat problem it solves
DistributionSandboxdistribution/distributionReference registry implementation for storing OCI content.
DragonflyGraduateddragonflyoss/dragonflyDistributes images peer to peer so pulls do not melt the registry.
HarborGraduatedgoharbor/harborRegistry with policy, scanning, signing and replication.
zotSandboxproject-zot/zotSmall OCI-native registry for images and other artifacts.

Key Management

ProjectLevelRepositoryWhat problem it solves
AthenzSandboxAthenZ/athenzService authentication and fine-grained authorisation with X.509.
SPIFFEGraduatedspiffe/spiffeStandard for giving a workload a verifiable identity.
SPIREGraduatedspiffe/spireThe implementation that issues and rotates those identities.

Security & Compliance

ProjectLevelRepositoryWhat problem it solves
Bank-VaultsSandboxbank-vaults/bank-vaultsOperates HashiCorp Vault and gets secrets into pods.
bpfmanSandboxbpfman/bpfmanManages the lifecycle of eBPF programs on a node.
CartographySandboxcartography-cncf/cartographyMaps infrastructure assets and their relationships into a graph.
CedarSandboxcedar-policy/cedarPolicy language for fine-grained authorisation decisions.
cert-managerGraduatedcert-manager/cert-managerIssues and renews TLS certificates automatically.
Confidential ContainersIncubatingconfidential-containers/confidential-containersRuns pods inside hardware enclaves.
ContainerSSHSandboxcontainerssh/containersshGives each SSH session its own throwaway container.
CopaSandboxproject-copacetic/copaceticPatches vulnerabilities directly in a container image.
DexSandboxdexidp/dexOIDC provider that federates to identity sources you already have.
external-secretsSandboxexternal-secrets/external-secretsSyncs secrets from cloud secret managers into the cluster.
FalcoGraduatedfalcosecurity/falcoDetects suspicious runtime behaviour from kernel events.
in-totoGraduatedin-toto/in-totoProves each step of a supply chain happened as intended.
KeycloakIncubatingkeycloak/keycloakIdentity and access management, single sign-on for applications.
KeylimeSandboxkeylime/keylimeRemote attestation that a node booted the software it should have.
KubeArmorSandboxkubearmor/kubearmorRestricts what a workload may do at runtime, enforced by the kernel.
KubescapeIncubatingkubescape/kubescapeScans clusters and manifests against security frameworks.
KubewardenSandboxkubewarden/kubewarden-controllerAdmission policies written and shipped as WebAssembly.
KyvernoGraduatedkyverno/kyvernoAdmission policies written as Kubernetes resources, with no new language.
Notary ProjectIncubatingnotaryproject/notationSigns and verifies container images and other artifacts.
OAuth2 ProxySandboxoauth2-proxy/oauth2-proxyPuts authentication in front of an application that has none.
Open Policy Agent (OPA)Graduatedopen-policy-agent/opaGeneral policy engine that answers allow or deny.
Open Policy ContainersSandboxopcr-io/policyShips OPA policies as versioned OCI images.
OpenFGAIncubatingopenfga/openfgaRelationship-based authorisation service, in the Zanzibar style.
OSCAL-COMPASSSandboxoscal-compass/compliance-trestleTurns compliance controls into machine-readable artifacts.
ParalusSandboxparalus/paralusControlled and audited user access to clusters.
ParsecSandboxparallaxsecond/parsecCommon API for hardware-backed security operations.
RatifySandboxratify-project/ratifyVerifies image signatures and metadata at admission time.
SlimToolkitSandboxslimtoolkit/slimShrinks an image down to what actually runs.
SOPSSandboxgetsops/sopsEncrypts values inside config files so they can live in Git.
The Update Framework (TUF)Graduatedtheupdateframework/python-tufProtects a software update system from compromise.
TokenetesSandboxtokenetes/tokenetesTransaction tokens that carry context along a call chain.

Runtime #

Cloud Native Network

ProjectLevelRepositoryWhat problem it solves
AntreaSandboxantrea-io/antreaCNI built on Open vSwitch, with policy and traffic visibility.
CiliumGraduatedcilium/ciliumeBPF networking, policy and observability for the cluster.
Container Network Interface (CNI)Incubatingcontainernetworking/cniThe plugin contract every cluster network implements.
Kube-OVNSandboxkubeovn/kube-ovnEnterprise networking features on top of OVN.
kube-vipSandboxkube-vip/kube-vipVirtual IP and load balancing for the control plane and for services.
Network Service MeshSandboxnetworkservicemesh/apiConnects workloads to layer 3 services across clouds.
OVN-KubernetesSandboxovn-kubernetes/ovn-kubernetesOVN-based networking for large clusters.
SpiderpoolSandboxspidernet-io/spiderpoolUnderlay and RDMA networking for bare metal and VMs.
SubmarinerSandboxsubmariner-io/submarinerConnects pods and services living in separate clusters.

Cloud Native Storage

ProjectLevelRepositoryWhat problem it solves
CarinaSandboxcarina-io/carinaLocal storage whose lifecycle the cluster handles for you.
CubeFSGraduatedcubeFS/cubefsDistributed file and object store for containerised workloads.
CurvineSandboxCurvineIO/curvineMulti-tier cache in front of slow storage for data-heavy jobs.
HwameiStorSandboxhwameistor/hwameistorHigh-availability local storage for stateful workloads.
K8upSandboxk8up-io/k8upBacks up volumes and databases on a schedule.
KanisterSandboxkanisterio/kanisterApplication-aware backup and restore workflows.
LonghornIncubatinglonghorn/longhornReplicated block storage built out of the nodes you already have.
OpenEBSSandboxopenebs/openebsContainer-attached storage with a choice of engines.
Piraeus DatastoreSandboxpiraeusdatastore/piraeus-operatorRuns LINSTOR replicated block storage inside Kubernetes.
RookGraduatedrook/rookOperator that runs Ceph as a Kubernetes-managed storage cluster.
VeleroSandboxvelero-io/veleroBacks up and restores cluster resources and their volumes.

Container Runtime

ProjectLevelRepositoryWhat problem it solves
bootcSandboxbootc-dev/bootcShips and updates an operating system as an OCI image.
composefsSandboxcontainers/composefsRead-only, verifiable filesystem trees shared between images.
containerdGraduatedcontainerd/containerdCore runtime that pulls images and runs containers.
CRI-OGraduatedcri-o/cri-oMinimal runtime that implements only what Kubernetes asks for.
HyperlightSandboxhyperlight-dev/hyperlightRuns functions in micro VMs with very low startup cost.
Inclavare ContainersSandboxinclavare-containers/inclavare-containersConfidential containers that run inside enclaves.
InterlinkSandboxinterlink-hq/interLinkRuns pods on remote resources such as HPC batch systems.
KuasarSandboxkuasar-io/kuasarOne interface over several kinds of sandbox runtime.
LimaIncubatinglima-vm/limaLinux VMs on macOS for running containerd locally.
Podman Container ToolsSandboxpodman-container-tools/podmanDaemonless container lifecycle, rootless by default.
uruncSandboxurunc-dev/uruncRuns unikernels as if they were containers.
Virtual KubeletSandboxvirtual-kubelet/virtual-kubeletPresents an external service as a node, so pods run somewhere else.
WasmEdge RuntimeSandboxWasmEdge/WasmEdgeWebAssembly runtime for cloud native and edge workloads.
youkiSandboxyouki-dev/youkiOCI container runtime written in Rust.

Serverless #

Installable Platform

ProjectLevelRepositoryWhat problem it solves
KubeElastiSandboxKubeElasti/KubeElastiScales workloads to zero and back without dropping requests.
SlimFaaSSandboxSlimPlanet/SlimFaasMinimal function-as-a-service for Kubernetes.

Wasm #

Application Frameworks

ProjectLevelRepositoryWhat problem it solves
SpinSandboxspinframework/spinFramework for serverless applications compiled to WebAssembly.

Orchestration & Management

ProjectLevelRepositoryWhat problem it solves
container2wasmSandboxcontainer2wasm/container2wasmRuns existing containers in WebAssembly environments.
SpinKubeSandboxspinframework/spin-operatorRuns Spin WebAssembly applications on Kubernetes, without containers.

How the foundation actually works #

The CNCF sits under the Linux Foundation. It does not write the code and it does not direct the projects. What it sells to a project is neutrality, and the services that come attached to it.

Neutral ownership is the substance of the deal. When a project is donated, the trademark, the domain and the repositories move to the foundation. The company that started it keeps its engineers and loses its veto. That is the whole reason a competitor is willing to send a maintainer.

Around that sit the services: cloud and CI credits, independent security audits, design and documentation help, legal support, and the events. KubeCon is the visible one, and it funds a good deal of the rest.

Three bodies matter, and they do different jobs:

What it does not do is run the projects. Maintainers are not appointed by the foundation, roadmaps are not approved by it, and a company paying for a platinum membership does not thereby get a commit bit. The obligations flow the other way: a project has to document its governance, adopt a code of conduct, publish a security disclosure process, take contributions under a DCO or CLA, and sit an annual review.

Getting in, if you are new here #

The path that works is not the one that looks official. It is roughly this.

Start from something you already run. Contribution follows use. Reading the landscape looking for a project to help is backwards, and it shows in the first pull request.

Do not start with Kubernetes core. It has thousands of contributors, long review queues, and enough process to need its own website. A sandbox or incubating project with four maintainers will notice you within a week, and you will learn the same skills with a shorter feedback loop.

Go to the community meeting before you write anything. Nearly every project has a public weekly or fortnightly call on the CNCF calendar, with an agenda in a document anyone can add to. Two meetings will teach you more about what the project actually needs than a month of reading the roadmap.

Then take the small, unglamorous work. The good first issue and help wanted labels exist, but the more reliable opening is the thing you tripped over yourself: documentation that lied, an error message that explained nothing, a missing example, a bug you can reproduce reliably. Maintainers notice a clean reproduction faster than they notice a refactor.

The ladder is written down. Contributor, reviewer, approver, maintainer. Every project keeps it in its governance file, with the criteria attached. It is a matter of time and demonstrated judgement, not of asking.

There are also programs built for exactly this. LFX Mentorship runs in terms and pays a stipend, with projects posting what they need help with. The CNCF takes part in Google Summer of Code as an umbrella organisation. KubeCon has scholarships, and the New Contributor Workshop is aimed at people who have never opened a pull request against any of this. Attending a TAG meeting costs nothing and is the fastest way to see the shape of a whole domain.

One distinction worth keeping straight: certifications (KCNA, CKA, CKAD, CKS) prove that you can operate the ecosystem, and they are a decent on-ramp to using it. They are not contribution, and no maintainer will read them.

If what you have is a project rather than time, the door is the cncf/sandbox repository. Applications are public, reviewed in batches by the TOC, and the rejected ones are as instructive to read as the accepted ones.

What I would actually pick #

This part is opinion, not data. It is what I would reach for today, based on what I have run and on what the market has quietly converged on. The archived list above is the reason I hedge: plenty of confident recommendations from 2019 are now tombstones.

NeedWhat I would pickWhy
ClusterA managed one, or k3s at the edgeRunning the control plane yourself is a full-time job that buys almost nothing
NetworkCiliumIt won. eBPF policy and visibility with no sidecar, and the ecosystem assumes it now
Certificatescert-managerThere is no second option and no reason to look for one
PackagingHelm, with kustomize for overlaysEveryone complains and everyone ships charts. Being the lingua franca is worth more than being elegant
DeliveryArgo CD or FluxArgo CD if you want the UI and an app-of-apps model, Flux if you want fewer moving parts
MetricsPrometheus and GrafanaThanos or Cortex only once retention or a global view actually hurts
InstrumentationOpenTelemetryThe one place to standardise early, because rewriting instrumentation later is miserable
TracesJaegerCheap to run, and it answers the only question you have at 3am
PolicyKyvernoPolicies in YAML, which your team already writes. OPA if you need Rego outside the cluster too
Secretsexternal-secrets, plus a real managerSOPS only if the secrets genuinely must live in Git
AutoscalingKEDAScaling on queue depth beats scaling on CPU for almost every real workload
PostgresCloudNativePGThe operator that changed my mind about running databases in a cluster
BackupsVeleroBoring, and the only one you will be glad you tested
Storage on-premLonghorn or RookAnd only after checking whether you can avoid owning storage at all
RegistryHarborIf you self-host. Otherwise use whatever your cloud already gives you
CostOpenCostBecause the first cloud bill argument arrives before the second quarter does

What I would not rush into: a service mesh, until mTLS or per-request routing is a stated requirement rather than a diagram. Multi-cluster orchestration, until one cluster has actually run out. Backstage, until someone is funded to own the portal, because an abandoned catalogue is worse than none. And the whole AI adjacent shelf, which is where most of the recent sandbox intake landed and where I expect the next round of archives to come from.

The general rule I use: graduated projects for anything on the critical path, incubating where the blast radius is contained, and sandbox only for things I am willing to rip out. That maps almost exactly onto how much of my own time each level has cost me.

"only knowledge frees man" — E.C.