Score at KubeCon EU in Paris

Amidst the flurry of KubeCon preparations, we’ve been working on some exciting updates for Score. Learn more about our latest developments on Project Melody and drop by at our booth to say hi in Paris!

As KubeCon 2024 is starting, we’re getting ready to meet in Paris. We're excited to dive into discussions about the latest Score developments, so join us to connect and explore what's in store for Score at KubeCon. Humanitec, a key supporter of the Score project, is  proud sponsor of Platform Engineering Day, taking place on Tuesday. Additionally, you'll have the chance to meet some of the project's contributors at booth D35.

Score updates: Let’s talk at KubeCon

We’re excited about the talks, discussions and learnings awaiting us at KubeCon this year. Catching up with familiar faces from the community is something we’re really looking forward to. It’ll be great to take discussions on topics such as developer experience and platform maturity offline and hash ideas out in person.

Of course, we’re also eager to discuss Score. These past few months have been exciting for the project. We’ve submitted Score to the CNCF sandbox (fingers crossed!) and made significant progress with Project Melody - an initiative aimed to enhance the user experience with Score’s implementation CLIs, making implementation, adoption, usage and customization much more intuitive and smoother. 

As you gear up for KubeCon, we want to make sure you’re up to date with our latest developments on the initiative. So, we thought we’d give you a sneak peek at what we’ve been working on.

Introducing score-compose 2.0 with Project Melody

Project Melody aims to make Score highly accessible by default, sparing developers from having to deal with intricate configurations, while still allowing for customization in more advanced scenarios.

In response to feedback received on our score-compose reference implementation, we’ve focused on improving the resource management experience. While defining dependencies like databases in the Score Spec is straightforward, configuring them to run with score-compose has required additional manual steps. In light of this, we're rolling out a series of improvements to score-compose, where the heavy lifting is handled directly within the CLI.

As we prepare to roll out a range of new functionalities, we wanted to provide you with a preview of the changes coming your way.

Say hello to init & generate

We’re excited to introduce the <span class="c">init</span> and <span class="c">generate</span> subcommands to the score-compose CLI. While we've tidied up a few bugs and implemented improvements from our backlog, these two main bits of new functionality are the stars of the show.

  • Init: The <span class="c">init</span> subcommand makes it significantly easier to get started with score-compose, preparing the current directory and any necessary local files or configurations needed to get your workload running. It also generates a default score.yaml file to help you get started.
  • Generate: With the <span class="c">generate</span> command, Score files in the your score-compose project are converted into a consolidated Docker compose manifest. This includes resolving and provisioning all resources and links between workloads as needed.

Check out the quick demo below to see these two subcommands in action. In this example, we’ll be working with a Score file, which defines a dependency on a Postgres database and a Redis cache:



# Specification reference: https://docs.score.dev/docs/reference/score-spec-reference/
---
apiVersion: score.dev/v1b1
metadata:
  name: example
containers:
  hello-world:
    image: nginx:latest
    variables:
      EXAMPLE_VARIABLE: "example-value"
      volumes:
        - source: ${resources.one}
          target: /foo
service:
  ports:
    www:
      port: 8080
      targetPort: 80
resources:
  one:
    type: volume
  two:
    type: redis

Now, score-compose can generate resources without developers needing to configure their own resource definitions or determine desired outputs manually:

In addition to Postgres and volume, we’re planning to support resource types such as Redis, DNS, and route, with additional options planned for the future. And you can customize and extend with your own project, team, or organization-specific resource types from day one. Stay tuned for the upcoming release of this functionality, and we're excited for your feedback!

Join us at booth D35

If you're attending KubeCon this year, don't hesitate to stop by our booth D35 in the exhibit hall. We'd love to discuss the latest developments with you and provide a walkthrough of the project's recent changes. Connecting with fellow members of the community is always a pleasure, and we’re excited to meet you at the event.

À bientôt à KubeCon Paris!

PS: If you aren’t attending KubeCon this year, we’ll be available in our Slack community to answer any questions. We are always open to chatting during our office hours (every Thursday, 3-4 pm CET).

The team behind Score

The idea for Score organically formed from looking at hundreds of delivery setups, across engineering orgs of all sizes (from startups to Fortune 100). We have all been involved in platform engineering and developer tooling for the past decade, in one way or another.Some of us built Internal Developer Platforms at the likes of Google, Apple or IBM, some come from the IaC side of things and played leading roles at companies like Hashicorp.

We all share the vision of developer and workload-centric development. We want to reduce cognitive load on developers and make sure engineers can spend their time coding and shipping features, instead of fighting config files.

Configure once. Deploy anywhere. From local to prod.