Skip to content

Commit

Permalink
Merge pull request #18 from score-spec/update-readme
Browse files Browse the repository at this point in the history
Update readme
  • Loading branch information
sujaya-sys authored Nov 14, 2022
2 parents 1ebae9a + e17d155 commit 4d1d17b
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 397 deletions.
55 changes: 41 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,45 @@
![Score banner](/docs/images/banner.png)

# ![Score](/docs/images/logo.svg) Score overview
## ![Score](/docs/images/logo.svg) What is Score?

_Score_ provides a developer-centric and platform-agnostic workload specification to improve developer productivity and experience. Score eliminates configuration inconsistencies between local and remote environments.
Score is an open source, platform-agnostic, container-based workload specification. This means you can define your workload once with the _Score Specification_ and then use a _Score Implementation_ CLI to translate it to multiple platforms, such as Helm, Docker Compose or Google Cloud Run.

The _Platform CLI_ is a conversion tool for application developers to generate an environment specific configuration. In combination with environment specific parameters, The Platform CLI tool can run your Workload in the target environment by generating the target platform's configuration file.
In the example below, a `score.yaml` file is executed via [score-compose](https://github.com/score-spec/score-compose/tree/main/examples) to generate a `compose.yaml` file, which allows to spins up a container via Docker Compose. The same `score.yaml` file is then used to generate a helm `values.yaml` file to be installed onto Kubernetes.

## ![Overview](/docs/images/overview.svg) Overview
![demo.gif](/docs/images/demo.gif)

The Score specification file resolves configuration inconsistencies between environments. Compose a `score.yaml` file that describes how to run your Workload. As a platform-agnostic declaration file, `score.yaml` creates a single source of truth on Workload profiles and works to integrate with any platform or tooling.
The aim of this project is to reduce toil and cognitive load of developers by only having to define a single yaml file that works across multiple platforms. Score does not intend to be a fully featured yaml replacement for those platforms, it only aims to define workloads that can be combined with more advanced yaml configurations that an infrastructure team would provide to developers in an organization. This has the following advantages:

Learn more about the Score specification [here](/score%20schema.md).
- The developer only needs to learn the _Score Specification_ to define the workloads that run across all these platforms.
- The _Score Specification_ is designed to be applied to multiple environments to reduce the amount of configuration.
- An infrastructure team can help define and configure the resources and multiple platforms where the developer can work on.

### Use the Platform command line tool
At this time Score is still in alpha, but we are hoping for it to quickly grow its implementation use cases through community contributions.

Use the Platform command line tool to generate your platform specific Workloads.
## ![Score](/docs/images/logo.svg) Why Score?

![demo.gif](/docs/images/demo.gif)
Cloud-native developers often struggle with configuration inconsistencies between environments. This gets even more complicated when the technology stack in each environment is different. What if you use Docker Compose for local development, but Helm Charts to deploy to the Kubernetes based development environment? Not only do you have to figure out Docker Compose and Helm, but you need to keep them in sync!
This results in various bottlenecks along the application delivery lifecycle.

🎵 Tech & tools that require specialized knowledge and operational expertise are imposed on developers.

🎵 Different configuration rules, constructs and values between local and remote environments increase the risk of configuration inconsistencies.

🎵 Keeping a multitude of platform- and environment-specific configuration files in sync leads to repetitive configuration work.

Score provides a single, easy to understand specification for each workload that describes its runtime requirements in a declarative manner. The `score.yaml` file allows to generate configuration in an automated, standardized and one directional way. By reducing the risk of wrongly specified or inconsistent configuration between environments are we hoping to foster focus and joy for developers in their day-to-day work.

## ![Score](/docs/images/logo.svg) How does Score work?

![how-score-works](/docs/images/how-score-works.png)

As shown in the graphic above, are there 3 core components to consider in the context of Score:

The _Score Specification_ file is a platform-agnostic workload specification which can be run against a _Score Implementation_ (CLI) such as [score-compose](https://github.com/score-spec/score-compose) or [score-helm](https://github.com/score-spec/score-helm) to generate a platform configuration file such as `docker-compose.yaml` or a helm `values.yaml` file. The generated configuration file can then be combined with environment-specific parameters to run the workload in the target environment.

## ![Installation](/docs/images/install.svg) Installation

To install the Platform command-line tools, see the installation guide in each repository.
To install a _Score Implementation_, see the installation guide in each repository:

- [score-compose](https://github.com/score-spec/score-compose#-installation)
- [score-helm](https://github.com/score-spec/score-helm#-installation)
Expand All @@ -29,7 +48,7 @@ To install the Platform command-line tools, see the installation guide in each r
## ![Get involved](/docs/images/get-involved.svg) Get involved

- Give the project a star!
- Contact us via Email:
- Contact us via email:
- team@score.dev
- abuse@score.dev
- Join us on [Slack](https://join.slack.com/t/scorecommunity/shared_invite/zt-1i2glkqkl-EnjSWSCgYUyaEGwmDYBZZQ)
Expand All @@ -51,10 +70,18 @@ If you have a suggestion that would make this better, please fork the repo and c
4. Push to the Branch. `git push origin feature/feature-name`
5. Open a Pull Request.

## ![License](/docs/images/license.svg) License
### Documentation

You can find our documentation at [docs.score.dev](https://docs.score.dev/docs/).

### Roadmap

See [Roadmap](roadmap.md). You can [submit an idea](https://github.com/score-spec/spec/issues/new) anytime.

### License

[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

## ![Code of conduct](/docs/images/code-of-conduct.svg) Code of conduct
### Code of conduct

[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)
Binary file added docs/.DS_Store
Binary file not shown.
Binary file added docs/images/.DS_Store
Binary file not shown.
9 changes: 0 additions & 9 deletions docs/images/code-of-conduct.svg

This file was deleted.

Binary file added docs/images/how-score-works.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 0 additions & 9 deletions docs/images/license.svg

This file was deleted.

9 changes: 0 additions & 9 deletions docs/images/manifesto.svg

This file was deleted.

9 changes: 0 additions & 9 deletions docs/images/overview.svg

This file was deleted.

Loading

0 comments on commit 4d1d17b

Please sign in to comment.