Skip to content

Commit

Permalink
Implementations improvements (#123)
Browse files Browse the repository at this point in the history
  • Loading branch information
mathieu-benoit authored Oct 17, 2024
2 parents 7ff4a71 + 0efb192 commit ff7f356
Show file tree
Hide file tree
Showing 36 changed files with 422 additions and 702 deletions.
3 changes: 1 addition & 2 deletions content/en/docs/How to/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ The Score Specification supports declaring environment variables in a configurat

For more information, see

- [Environment variables in score-compose](https://github.com/score-spec/score-compose/tree/main/examples/02-environment)
- [Environment variables in score-helm](https://github.com/score-spec/score-helm/tree/main/examples/02-environment)
- [Environment variables in `score-compose`](https://github.com/score-spec/score-compose/tree/main/examples/02-environment)
4 changes: 2 additions & 2 deletions content/en/docs/How to/github.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ This will download and cache the specified version of the `score-compose` CLI an

The action accepts the following inputs:

- `file` - The Score CLI tool to install. For example `score-compose` or `score-helm`.
- `file` - The Score CLI tool to install. For example `score-compose` or `score-k8s`.

- `version` - The version of the CLI to install. You can retrieve the latest version from the release page of the respective CLI tool you're working with. For example [score-compose releases](https://github.com/score-spec/score-compose/releases) or [score-helm releases](https://github.com/score-spec/score-helm/releases).
- `version` - The version of the CLI to install. You can retrieve the latest version from the release page of the respective CLI tool you're working with. For example [score-compose releases](https://github.com/score-spec/score-compose/releases) or [score-k8s releases](https://github.com/score-spec/score-k8s/releases).

- `token` - The Github Actions Token in the environment (`${{ secrets.GITHUB_TOKEN }}`).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ You now have to ensure that the Score completion script gets sourced in all your
```

```bash
echo 'source <(score-helm completion bash)' >>~/.bash_profile
echo 'source <(score-k8s completion bash)' >>~/.bash_profile
```

- Add the completion script to the `/usr/local/etc/bash_completion.d` directory:
Expand Down
1 change: 1 addition & 0 deletions content/en/docs/community/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ We host [regular community meetings](https://github.com/score-spec/spec?tab=read
## Read external blog posts about Score

- [What if the `Azure-Samples/aks-store-demo` was using Score?](https://itnext.io/what-if-the-azure-samples-aks-store-demo-was-using-score-655c55f1c3dd)
- [Score: New CNCF Sandbox Tool for Infrastructure-Centric Dev](https://thenewstack.io/score-new-cncf-sandbox-tool-for-infrastructure-centric-dev/)
- [Dapr with Score and Humanitec — Improving the Developer Experience of your Platform, on steroids!](https://medium.com/@mabenoit/dapr-with-score-and-humanitec-developer-experience-with-your-platform-on-steroids-a848f2de0a5a)
- [Mastering Workload Specifications: Finding the Right Fit for Your Developers](https://www.infracloud.io/blogs/mastering-workload-specifications/)

Expand Down
12 changes: 6 additions & 6 deletions content/en/docs/get started/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ aliases:

## Overview

If you're new to Score, we recommend starting with the [score-compose](https://github.com/score-spec/score-compose) reference implementation. It provides a helpful blueprint for using Score and allows you to become familiar with the [Score specification](/docs/score-specification/score-spec-reference) before exploring further implementation options.
If you're new to Score, we recommend starting with the [`score-compose`](https://github.com/score-spec/score-compose) reference implementation. It provides a helpful blueprint for using Score and allows you to become familiar with the [Score specification](/docs/score-specification/score-spec-reference) before exploring further implementation options.

## Hello world with score-compose
## Hello world with `score-compose`

**1.** To begin, follow the [installation instructions](/docs/score-implementation/score-compose#installation) to install the latest version of score-compose.
**1.** To begin, follow the [installation instructions](/docs/score-implementation/score-compose/installation) to install the latest version of `score-compose`.

**2.** Open your IDE and paste in the following `score.yaml` file, which describes a simple service based on a `busybox` Docker image:

Expand Down Expand Up @@ -76,10 +76,10 @@ Congrats! You’ve successfully run your first Score Implementation with a Hello

## Next steps

- **Explore more examples**: Check out the [examples folder](https://github.com/score-spec/score-compose/tree/main/examples) for score-compose to dive into further use cases and experiment with different configurations.
- **Explore more examples**: Check out the [examples folder](https://github.com/score-spec/score-compose/tree/main/examples) for `score-compose` to dive into further use cases and experiment with different configurations.

- **Learn more about score-compose**: Investigate the inner workings of the score-compose reference implementation by exploring its CLI reference [here](/docs/score-implementation/score-compose#cli-reference).
- **Learn more about `score-compose`**: Investigate the inner workings of the `score-compose` reference implementation by exploring its CLI reference [here](/docs/score-implementation/score-compose/cli).

- **Explore other implementations**: Play around with [other available open-source Score implementations](/docs/score-implementation/). For example, you could continue by running the same Score file used in the example above via the score-k8s CLI to generate a Kubernetes manifest.
- **Explore other implementations**: Play around with [other available open-source Score implementations](/docs/score-implementation/). For example, you could continue by running the same Score file used in the example above via the `score-k8s` CLI to generate a Kubernetes manifest.

- **Join the Score community Slack**: If you encounter any issues or have questions, feel free to reach out to us in the [Score](https://cloud-native.slack.com/archives/C07DN0D1UCW) channel on the CNCF Slack (<https://slack.cncf.io/>).
6 changes: 3 additions & 3 deletions content/en/docs/overview/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,13 @@ The Score specification is characterised by being:

## How does Score work?

The Score Specification can be run against a Score Implementation (CLI) such as [score-compose](/docs/score-implementation/score-compose) or [score-k8s](/docs/score-implementation/score-k8s/) to generate a platform configuration file such as `docker-compose.yaml` or a Kubernetes `manifest.yaml` file.
The Score Specification can be run against a Score Implementation (CLI) such as [`score-compose`](/docs/score-implementation/score-compose) or [`score-k8s`](/docs/score-implementation/score-k8s/) to generate a platform configuration file such as `docker-compose.yaml` or a Kubernetes `manifest.yaml` file.

The generated configuration file can then be combined with environment-specific parameters to run the workload in the target environment.

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

For more hands-on examples, visit the [examples library](https://github.com/score-spec/score-compose/tree/main/examples) available for score-compose.
For more hands-on examples, visit the [examples library](https://github.com/score-spec/score-compose/tree/main/examples) available for `score-compose`.

## Benefits

Expand All @@ -85,7 +85,7 @@ Score reduces cognitive load by providing a single, easy to understand specifica

### Eliminates configuration mismanagement

Development teams risk configuration inconsistencies when promoting workloads between environments that run on different technology stacks. For example, if you're running a testing environment with Docker Compose and a production environment on Kubernetes, keeping your Wwrkloads' configuration in sync can be challenging as each platform comes with its own set of APIs, semantics, syntax and configuration constructs. With Score, developers describe their workloads once with `score.yaml` and any required platform-specific configuration can be automatically generated via a Score Implementation (e.g. score-compose or score-k8s). This significantly reduces the risk of configuration mismatch between environments.
Development teams risk configuration inconsistencies when promoting workloads between environments that run on different technology stacks. For example, if you're running a testing environment with Docker Compose and a production environment on Kubernetes, keeping your Wwrkloads' configuration in sync can be challenging as each platform comes with its own set of APIs, semantics, syntax and configuration constructs. With Score, developers describe their workloads once with `score.yaml` and any required platform-specific configuration can be automatically generated via a Score Implementation (e.g. `score-compose` or `score-k8s`). This significantly reduces the risk of configuration mismatch between environments.

### Enables separation of concerns

Expand Down
6 changes: 3 additions & 3 deletions content/en/docs/overview/score-for-devs.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@ resources:
port: 8080
```
You can now use this Score file for deploying your workload to a specific platform such as Docker Compose or Kubernetes. Run it through a Score implementation CLI to generate the configuration manifests, and apply them using the standard platform tooling. In the graphic below, this process is illustrated with our reference implementations: [score-compose](https://github.com/score-spec/score-compose) (for Docker Compose files) and [score-kubernetes](https://github.com/score-spec/score-k8s) (for Kubernetes manifests).
You can now use this Score file for deploying your workload to a specific platform such as Docker Compose or Kubernetes. Run it through a Score implementation CLI to generate the configuration manifests, and apply them using the standard platform tooling. In the graphic below, this process is illustrated with our reference implementations: [`score-compose`](https://github.com/score-spec/score-compose) (for Docker Compose files) and [`score-k8s`](https://github.com/score-spec/score-k8s) (for Kubernetes manifests).

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

If you’re curious about how this looks in practice, check out the recording below where we walk through examples using [score-compose](https://github.com/score-spec/score-compose) and [score-k8s](https://github.com/score-spec/score-k8s) to generate manifests for Docker Compose and Kubernetes, both derived from the same Score spec.
If you’re curious about how this looks in practice, check out the recording below where we walk through examples using [`score-compose`](https://github.com/score-spec/score-compose) and [`score-k8s`](https://github.com/score-spec/score-k8s) to generate manifests for Docker Compose and Kubernetes, both derived from the same Score spec.

<script src="https://fast.wistia.com/embed/medias/m3mxb2w8vp.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_responsive_padding" style="padding:47% 0 0 0;position:relative;"><div class="wistia_responsive_wrapper" style="height:80%;left:0;position:absolute;top:0;width:80%;"><div class="wistia_embed wistia_async_m3mxb2w8vp seo=true videoFoam=true" style="height:80%;position:relative;width:80%"><div class="wistia_swatch" style="height:80%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:80%;"><img src="https://fast.wistia.com/embed/medias/m3mxb2w8vp/swatch" style="filter:blur(5px);height:80%;object-fit:contain;width:80%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" /></div></div></div></div>

Expand All @@ -67,7 +67,7 @@ When working with Score, there are three main components to consider:

- **The Score file**: A file based on the Score specification that is used to describe your workload’s configuration declaratively. The spec is platform-agnostic, enabling you to use common language and not having to worry about platform-specific syntax from container orchestration tooling like Kubernetes.

- **A Score Implementation**: An implementation, typically a CLI, of the Score specification for target platforms such as Kubernetes, Helm or Google Cloud Run. It is typically developed and maintained by the platform team and can be utilised via a simple set of commands such as score-<platform> to generate the required config file.
- **A Score Implementation**: An implementation, typically a CLI, of the Score specification for target platforms such as Kubernetes, Helm or Google Cloud Run. It is typically developed and maintained by the platform team and can be utilised via a simple set of commands such as `score-<platform>` to generate the required config file.

- **The platform configuration files**: The generated configuration file can be executed natively by the target platform. If needed it can be combined with environment-specific parameters to run the workload in the target environment.

Expand Down
6 changes: 0 additions & 6 deletions content/en/docs/score implementation/Other/_index.md

This file was deleted.

6 changes: 0 additions & 6 deletions content/en/docs/score implementation/Other/included/_index.md

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit ff7f356

Please sign in to comment.