Skip to content

Commit

Permalink
Added score-k8s to documentation (#99)
Browse files Browse the repository at this point in the history
  • Loading branch information
sujaya-sys authored Jun 3, 2024
2 parents 506d281 + c85b140 commit 6a0b804
Show file tree
Hide file tree
Showing 12 changed files with 383 additions and 24 deletions.
2 changes: 1 addition & 1 deletion content/en/docs/get started/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,6 @@ Congrats! You’ve successfully run your first Score Implementation with a Hello

* **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).

* **Explore other implementations**: Play around with [other available open-source Score implementation CLIs](/docs/score-implementation/other). For example, you could continue by running the same Score file used in the example above via the score-helm CLI to generate a Helm values file.
* **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 community Slack](https://join.slack.com/t/scorecommunity/shared_invite/zt-2a0x563j7-i1vZOK2Yg2o4TwCM1irIuA).
10 changes: 5 additions & 5 deletions content/en/docs/overview/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ aliases:

## What is Score?

Score is an open-source, platform-agnostic, container-based workload specification. With Score, you can define your workload once using 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.
Score is an open-source, platform-agnostic, container-based workload specification. With Score, you can define your workload once using the Score Specification and then use a Score Implementation to translate it to multiple platforms such as Docker Compose, Kubernetes, Helm or Google Cloud Run.

Score aims to reduce developer toil and cognitive load by enabling the definition of a single file that works across multiple platforms.

Expand Down Expand Up @@ -59,7 +59,7 @@ service:

The Score specification is characterised by being:

* **platform-agnostic**: The Score Specification is not tied to a specific platform, allowing integration with various container orchestration platforms and tooling such as Docker Compose, Helm, or Google Cloud Run.
* **platform-agnostic**: The Score Specification is not tied to a specific platform, allowing integration with various container orchestration platforms and tooling such as Docker Compose, Kubernetes, Helm, or Google Cloud Run.

* **environment-agnostic**: The `score.yaml` file captures the configuration that stays the same across all environments. This allows combining it with environment-specific parameters in the target environment. For instance, the parameterized database connection string in the example above is intended to be resolved in each target environment by injecting the corresponding values.

Expand All @@ -69,7 +69,7 @@ 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-helm](/docs/score-implementation/other/score-helm) to generate a platform configuration file such as `docker-compose.yaml` or a helm `values.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.

Expand All @@ -83,7 +83,7 @@ For more hands-on examples, visit the [examples library](https://github.com/scor
Score reduces cognitive load by providing a single, easy to understand specification file that allows to run the same workload on entirely different technology stacks without the developer needing to be an expert in any one of them. Developers no longer have to fight a bunch of tech and tools when promoting their workloads from local to production, and can instead focus on writing and deploying code.

### 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 CLI (e.g. score-compose or score-helm). 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
Score enables a clear separation of concerns between developer-owned Workload related configuration and platform-owned infrastructure related configuration: Developers describe what their Wwrkload requires to run as part of `score.yaml` and if the requirements are honored by the platform, the workload runs as intended.
Expand All @@ -98,4 +98,4 @@ Score exclusively takes care of translating the workload requirements specified

- Score is **not a deployment tool**. It does not perform deployments or the promoting of workloads across environments. Rather, it will be an input to these processes.

Score will seamlessly integrate with the tech and tools you already have in place for configuration, resource, environment and deployment management. It does not intend to replace any part of your tech stack, but instead allows developers to feed in required workload configuration parameters through the Score Implementation CLI in an automated and accessible way.
Score will seamlessly integrate with the tech and tools you already have in place for configuration, resource, environment and deployment management. It does not intend to replace any part of your tech stack, but instead allows developers to feed in required workload configuration parameters through the Score Implementation in an automated and accessible way.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "score-compose install on macOS"
title: "score-compose install on macOS/Linux"
description: "Installation for score-compose on macOS."
headless: true
toc_hide: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: "score-compose install on macOS"
description: "Installation for score-helm on macOS."
description: "Installation for score-compose on macOS."
headless: true
toc_hide: true
---

**1.** Download the latest release from the [GitHub release page](https://github.com/score-spec/score-compose/releases):

```bash
wget https://github.com/score-spec/score-compose/releases/download/<x.y.z>/score-compose_<x.y.z>_<os_system>.tar.gz
curl -L -o score-compose.tgz https://github.com/score-spec/score-compose/releases/download/<x.y.z>/score-compose_<x.y.z>_<os_system>.tar.gz
```

**2.** Unpack the latest release
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: "score-k8s install on macOS/Linux"
description: "Installation for score-k8s on macOS/Linux."
headless: true
toc_hide: true
---

**1.** Download the latest compressed Tar file for your operating system from the [GitHub release page](https://github.com/score-spec/score-k8s/releases). By default, the tarball will be saved to your `~/Downloads` directory. If you choose to use a different location, you'll need to change that in the following steps.

```bash
score-k8s_x.y.z_osx-amd64.tar.gz
```

**2.** Install into your `local` directory

In your terminal, enter the following to create the `score-spec` directory.

```bash
cd /usr/local/bin/
# create the directory if needed
mkdir -pv score-spec
```

Extract the compressed Tar file (You may need to run the previous command with elevated permissions).

```bash
tar -xvzf ~/Downloads/score-k8s_<x.y.z>_darwin_arm64.tar.gz -C /usr/local/bin/
```

You should see the following output:

```bash
x LICENSE
x README.md
x score-k8s
```

**3.** Export PATH

Future terminal sessions may require you add this path to your `~/.zshrc` or `~/.bashrc` file, if it isn’t there already.

```bash
export PATH=$PATH:/usr/local/bin/
```

**4.** Verify installation

```bash
score-k8s --version
```

The command returns the following output:

```bash
score-k8s x.y.z
```

You’ve successfully installed the score-k8s CLI!
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: "score-k8s install on macOS"
description: "Installation for score-k8s on macOS."
headless: true
toc_hide: true
---

**1.** Download the latest release from the [GitHub release page](https://github.com/score-spec/score-k8s/releases):

```bash
curl -L -o score-k8s.tgz https://github.com/score-spec/score-k8s/releases/download/<x.y.z>/score-k8s_<x.y.z>_<os_system>.tar.gz
```

**2.** Unpack the latest release

```bash
tar xvzf score-k8s.tgz
```

The following is the output of the previous command:

```bash
x LICENSE
x README.md
x score-k8s
```

**3.** Clean up the tar file

```bash
rm score-k8s.tgz README.md LICENSE
```

**4.** Move the binary to PATH

```bash
sudo mv ./score-k8s /usr/local/bin/score-k8s
sudo chown root: /usr/local/bin/score-k8s
```

You’ve successfully installed the score-k8s CLI!
66 changes: 66 additions & 0 deletions content/en/docs/score implementation/included/install-wget-k8s.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: "score-k8s install with wget"
description: "Installation for score-k8s with wget."
headless: true
toc_hide: true
---

**1.** Download the latest release from the [GitHub release page](https://github.com/score-spec/score-k8s/releases):

```bash
wget https://github.com/score-spec/score-k8s/releases/download/<x.y.z>/score-k8s_<x.y.z>_<os_system>.tar.gz
```

You should see something similar to the following output:

```bash
Saving to: score-k8s_<x.y.z>_<os_system>.tar.gz

score-k8s_<x.y.z> 100%[===================>] 2.85M 5.28MB/s in 0.5s
```

**2.** Install into your `local` directory

In your terminal, enter the following to create the `score-spec` directory.

```bash
cd /usr/local/bin/
# create the directory if needed
mkdir -pv score-spec
```

Extract the compressed Tar file (You may need to run this command with elevated permissions):

```bash
tar -xvzf ~/<your-path>/score-k8s_<x.y.z>_<os_system>.tar.gz
```

You should see the following output:

```bash
x LICENSE
x README.md
x score-k8s
```

**3:** Export PATH

Future terminal sessions may require you add this path to your `~/.zshrc` or `~/.bashrc` file, if it isn’t there already.

```bash
export PATH=$PATH:/usr/local/bin/
```

**4:** Verify installation

```bash
score-k8s --version
```

The command returns the following output:

```bash
score-k8s <x.y.z>
```

You've successfully installed the score-k8s CLI!
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "score-k8s install on Windows"
description: "Installation for score-k8s on Windows."
headless: true
toc_hide: true
---

**1.** Download the latest release from the [GitHub release page](https://github.com/score-spec/score-k8s/releases).

**2.** Decompress the `zip` file, and move the binary to your `PATH`.

You've successfully installed the score-k8s CLI!
18 changes: 3 additions & 15 deletions content/en/docs/score implementation/score-compose.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ The following methods download the score-compose CLI from its [GitHub release pa
{{< tab name="curl on macOS" include="included/install-score-compose-curl-mac.md" />}}
{{< tab name="wget on macOS/Linux" include="included/install-wget-compose.md" />}}
{{< tab name="Github DLs on macOS/Linux" include="included/install-score-compose-bash.md" />}}
{{< tab name="Windows" include="included/install-windows.md" />}}
{{< tab name="Windows" include="included/install-windows-compose.md" />}}
{{< /tabs >}}

## CLI Reference
Expand Down Expand Up @@ -193,12 +193,12 @@ Specifies an optional set of path=key overrides to set or remove.
score-compose generate --override-property path1=value1
```

#### `--override-file`
#### `--overrides-file`

Specifies an optional file of Score overrides to merge in.

```bash
score-compose generate score.yaml --override-file=./overrides.score.yaml
score-compose generate score.yaml --overrides-file=./overrides.score.yaml
```

#### `--help` | `-h`
Expand Down Expand Up @@ -302,18 +302,6 @@ The help command provides information on all commands.
score-compose help [command] [flags]
```

#### Flags

The `help` command can be combined with the following flags:

#### `--help` | `-h`

Receive information on the help command.

```bash
score-compose help --help
```

## Global flags

#### `--help` | `-h`
Expand Down
Loading

0 comments on commit 6a0b804

Please sign in to comment.