arrow Blog

Celebrating 2 years as CNCF Sandbox

date November 4, 2026

date 8 min read

Score turned 2 as a CNCF Sandbox project: a stronger security posture, more adoption, a new hands-on Labspace and two more KubeCons. Next stop: Salt Lake City!
Mathieu Benoit Mathieu Benoit, Score maintainer and CNCF Ambassador
Celebrating 2 years as CNCF Sandbox

SHARE

linkedin share twitter share reddit share

๐ŸŽ‰ Score turned 2 as a CNCF Sandbox project this past July! ๐ŸŽ‰

On July, 2024, Score joined the CNCF and last year, we celebrated our first anniversary. Time still flies, and this second year was packed with great moments, with the same takeaway: Score only goes as far as its community takes it. Thank you to every contributor, user, speaker and maintainer who helped along the way. ๐Ÿ’™

Our mission hasn’t changed:

Score is loved by developers because they can run the same workload on completely different technology stacks, without needing to be an expert in any one of them.

Here is a look back at what we accomplished over the last 12 months.

๐Ÿš€ More adoption, in the real world

The best sign that Score’s mission resonates is seeing others build on it.

Engine shared how their Infrastructure team uses Score as the service specification layer of a production Kubernetes platform: a single score.yaml per service, about 13 custom provisioners, score-k8s running inside an ArgoCD plugin, and 25+ Kubernetes resources generated from a file the developer barely has to think about. What used to take days now takes minutes. They also hit a limitation, and instead of working around it they contributed the fix upstream (score-k8s#232), which is a perfect illustration of what we love about open source. Read the full story: How Engine Built a Self-Service Kubernetes Platform with Score.

KodeKloud took Score to KubeCon India 2026 with the talk “The Death of the YAML-Engineer”. Mumshad Mannambeth and Abhinav Sharma showed how Score’s provisioners can generate Crossplane resources, so that developers get a database by writing a 20-line score.yaml and zero infrastructure YAML. A pipeline runs once, a control plane runs forever! They even published the demo as a hands-on lab, so you can replay it yourself.

And Score keeps showing up next to other CNCF projects, which is one of the things we enjoy the most:

  • Microcks: Score and Microcks to unify the inner and outer loops, with a talk at KubeCon EU.
  • Radius: the new experimental score-radius implementation, demoed during a Radius community meeting.
  • OpenChoreo: a conversation, and an experimental implementation, are on the way.
  • Docker Model Runner: score-compose now natively supports it, to deploy workloads with local LLM models.

๐Ÿค Community spotlight: ordered container start

If one feature illustrates what this community can do together, it’s ordered container start: the new before property in the Score Specification.

Many workloads need some setup before the main container can run: a schema migration to complete, static data to generate, a shared state to initialize. This is the well-known “init container” and “sidecar” pattern, and until now there was no platform-agnostic way to express it in a Score file. Now there is:

apiVersion: score.dev/v1b1
metadata:
  name: myapp
containers:
  db-migrate:
    image: migrate/migrate:v4
    command: ["up"]
    before:
      main:
        ready: complete
  main:
    image: myapp:latest

The db-migrate container runs before main, and ready defines when main can start: started (the default), complete or healthy. Each Score implementation then maps this to what its platform natively provides and validates the workload at generation time, to catch containers referencing themselves, unknown containers and cyclic dependencies.

What makes this feature special is that it took the whole community to ship it:

Five contributors, four Score repositories and about two years from the initial idea to the implementation in both Docker Compose and Kubernetes: that’s open source at its best.

And it goes beyond Score

The story doesn’t stop there. When Docker Compose shipped native init containers with pre_start, Abhishek opened a feature request for score-compose to leverage it, with a detailed analysis of which Score init containers could be converted. The feedback shared with Docker Compose maintainer Guillaume Lours directly influenced the Compose implementation itself: the limitations Score contributors identified, such as hooks not being able to set their own command or volumes, were addressed on the Compose side, with hooks now supporting the full container specification. A great example of Score contributors not only building on top of OSS projects, but also helping shape them. The work is still in progress, and you’re welcome to join the conversation!

Huge kudos to all of you! ๐Ÿ™Œ

๐Ÿ”ฎ The path to V1

As we hit 2 years as a Sandbox project, it’s really about time we got to v1 of the spec (yes, we’re still on v1b1!) Chris has been gathering requirements since the start of the year for our discussion of what a v1 of the spec would look like. You can still contribute your ideas in the community Doc here. The biggest thing is to make Score compatible with the Kubernetes Custom Resource schema, opening up interesting use-cases of “Score Operators”. We also heard the feedback from the community that out “implementation” approach is not very reusable, so we’re rebuilding the score-go library to allow for better code-reuse and importing your favourite score implementations as packages in Go!

๐Ÿ”’ A stronger security posture

As a CNCF project, we want to demonstrate security best practices by default. Thanks to the CNCF and Docker partnership, Score was onboarded into the Docker-Sponsored Open Source Program, and the results speak for themselves:

  • Docker Scout on every pull request and in our registry, with CVE, package and policy comparisons between main and each PR.
  • Docker Hardened Images as base images for our containers: minimal, non-root, with SBOMs and SLSA provenance, and a very smooth migration.
  • docker/github-builder to build our container images, with signed SLSA provenance.
  • OIDC connections for Docker Hub, replacing long-lived tokens with short-lived ones.
  • Our container images now live on Docker Hub, with insights on how they are actually used.

The full journey, with before/after snippets you can reuse in your own projects, is in the dedicated blog post.

๐Ÿงช Learn Score hands-on with the Labspace

“I get the idea behind Score, but I’d like to try it before setting everything up.” We heard that feedback many times, so we recently released the Score Labspace: a guided lab where the instructions and a ready-to-use terminal live side by side, with all the tools already installed. All you need is Docker:

docker compose -f oci://scorespec/score-labspace:latest up

In seven short modules, you write one score.yaml and deploy it twice, with score-compose and score-k8s, without changing a single line. Then you go further with patch templates and provisioners. It’s open source and open to contributions at score-spec/score-labspace.

๐ŸŽค Two more KubeCons

Since our last anniversary, we have been at two more KubeCons as a CNCF Sandbox project:

Each of these was a great opportunity to meet users, answer questions and hear what you would like to see next. Many of the ideas in this post started as a conversation in front of the kiosk.

๐Ÿ“ Next stop: KubeCon NA in Salt Lake City

We are going back to where it all started: our first KubeCon as a CNCF Sandbox project was in Salt Lake City in 2024, and next week we are back there for KubeCon + CloudNativeCon North America 2026 (November 9-12) for our fifth!

Come and meet the Score Maintainers at our kiosk, we will demo the new Labspace live:

  • ๐Ÿ“ Where: Kiosk P-17B, Project Pavilion, Hall 5 (Cosmic Canyon), Level 1, Salt Palace Convention Center
  • ๐Ÿ•’ When: Thursday, November 12, 10:15 AM - 2:00 PM

Bring your questions, run the lab with us and tell us what you would like to see in Score’s third year.

Upwards

On behalf of the Score Maintainers and the entire Score community, thank you for an amazing second year. Whether you opened an issue, sent a pull request, wrote a blog post, gave a talk or simply gave Score a try, you shaped what it is today.

Can’t wait to see what the community will bring to the Score project in year 3!

See you in Salt Lake City! Let’s Score it! ๐ŸŽถ

arrow Blog overview