Score规范

Score 规范提供了以开发人员为中心、与平台无关的工作量规范,以提高开发人员的工作效率和体验。它消除了环境之间的配置不一致。「The Score Specification provides a developer-centric and platform-agnostic Workload specification to improve developer productivity and experience. It eliminates configuration inconsistencies between environments.」

  • 所有者: cjbarber/ToolsOfTheTrade
  • 平台: Cross-platform
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Score

Score banner

Score What is Score?

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.

In the example below, a score.yaml file is executed via score-compose to generate a compose.yaml file, which allows the user to spin 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.

demo.gif

This project aims to reduce developer toil and cognitive load by only having to define a single specification file that works across multiple platforms.

Using Score provides the following advantages:

  • Creates a single source of truth for your workload's configuration: Developers define their workload once with the Score Specification, independently of the environments it will run in.

  • Reduces cognitive load: The Score Specification is tightly scoped and shields developers from the configurational complexity of container orchestrators and tooling. By exposing only core workload constructs, developers can keep their focus.

  • Seperates concerns between dev and ops: The Score Specification clearly defines the responsibility of the developer. For the operations team it presents a recipe on how a workload should be run, providing clear instructions for the platform on the receiving end.

Score Why Score?

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 platforms 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 generating 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 How does Score work?

how-score-works

As shown in the graphic above, there are 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 or 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 Installation

To install one of our reference Score Implementations, see the installation guide in each repository:

Can't find the implementation you are looking for? The Score Specification has the potential to integrate with many container orchestration platforms and tooling such as Kustomize, Amazon ECS, Google Cloud Run, or Nomad. Help up shape the next generation of Score implementation CLI’s and start contributing here.

Get involved Get involved

Contributing Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also open an issue with the tag enhancement.

  1. Fork the Project.
  2. Create your Feature Branch. git checkout -b feature/feature-name
  3. Commit your Changes. git commit -s -m "Add some AmazingFeature"
  4. Push to the Branch. git push origin feature/feature-name
  5. Open a Pull Request.

Documentation

You can find our documentation at docs.score.dev.

Roadmap

See Roadmap. You can submit an idea anytime.

License

License

Code of conduct

Contributor Covenant

主要指標

概覽
名稱與所有者cjbarber/ToolsOfTheTrade
主編程語言
編程語言 (語言數: 0)
平台
許可證Other
所有者活动
創建於2014-05-29 04:11:33
推送於2024-08-03 06:59:58
最后一次提交2023-03-30 09:27:36
發布數0
用户参与
星數16.8k
關注者數481
派生數1.3k
提交數649
已啟用問題?
問題數45
打開的問題數0
拉請求數310
打開的拉請求數21
關閉的拉請求數156
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?