score-helm

Get started with the score-helm CLI

Overview

The score-helm CLI allows developers to translate their Score specification into Helm values files. Below you’ll find an overview of:

For additional details and opportunities to contribute to the project, visit the score-helm GitHub repository.

Installation

You can install the score-helm CLI in a variety of ways:

Homebrew

Prerequisites: You must have brew installed.

brew install score-spec/tap/score-helm

Go

Prerequisites: You must have Go installed.

go install -v github.com/score-spec/score-helm/cmd/score-helm@latest

Docker

Prerequisites: You must have Docker installed.

  1. Download the repository. The following example uses the GitHub CLI to download the project.
gh repo clone score-spec/score-helm
  1. Change directories into score-helm.
cd score-helm
  1. Build the Docker image by running the following command in the same directory as the Dockerfile.
docker build -t score-helm:latest .
  1. Run the Docker image by using the docker run command.
docker run -it score-helm:latest

If you want to run score-helm with the --help flag to view the available options, you would run the following command.

docker run -it score-helm:latest --help

This will start a new container based on the image you built, run score-helm with the --help flag, and then stop the container.

Manual download

The following methods download the score-helm CLI from its GitHub release page:

1. Download the latest release from the GitHub release page:

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

2. Unpack the latest release

tar xvzf score-helm.tgz

The following is the output of the previous command:

x LICENSE
x README.md
x score-helm

3. Clean up the tar file

rm score-helm.tgz README.md LICENSE

4. Move the binary to PATH

sudo mv ./score-helm /usr/local/bin/score-helm
sudo chown root: /usr/local/bin/score-helm

You’ve successfully installed the score-helm CLI!

1. Download the latest release from the GitHub release page:

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

You should see something similar to the following output:

Saving to: score-helm<x.y.z>_<os_system>.tar.gz

score-helm_<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.

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):

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

You should see the following output:

x LICENSE
x README.md
x score-helm

3: Export PATH

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

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

4: Verify installation

score-helm --version

The command returns the following output:

score-helm <x.y.z>

You’ve successfully installed the score-helm CLI!

1. Download the latest compressed Tar file for your operating system from the GitHub release page. 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.

score-helm.y.z_osx-amd64.tar.gz

2. Install into your local directory

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

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

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

You should see the following output:

x LICENSE
x README.md
x score-helm

3. Export PATH

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

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

4. Verify installation

score-helm --version

The command returns the following output:

score-helm x.y.z

You’ve successfully installed the score-helm CLI!

1. Download the latest release from the GitHub release page.

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

You’ve successfully installed the score-helm CLI!

CLI Reference

The score-helm CLI provides a set of commands and flags to enable the generation of Helm values files from Score specifications.

Commands

run

Translates the Score file into a Helm values.yaml file.

score-helm run --file ./score.yaml \
  --output ./values.yaml

Flags

The run command can be combined with the following flags:

--file | -f

Specifies a Score file to initialize. By default this is ./score.yaml.

score-helm run -f ./another-score.yaml

--help | -h

Help for the run command.

score-helm run -h

--output | -o

The output location of the helm file. Uses the default value ./helm.yaml if the flag isn’t specified.

score-helm run -f ./score.yaml -o ./another-helm.yaml

--overrides

Specifies the path to the override file. Uses the default value ./overrides.score.yaml if the flag isn’t specified.

score-helm run -f ./score.yaml \
  -o ./values.yaml \
  --overrides ./overrides.score.yaml

--property

Overrides selected property value.

--values

Specifies the path that declares reference dependencies, or resource property, values that are environment-specific.

score-helm run -f ./score.yaml --values ./env.yaml -o ./values.yaml

--verbose

Enables a stream to which error messages are sent.

score-helm run -f ./score.yaml -o ./values.yaml --verbose

Examples

Explore examples for score-helm in the examples library on GitHub.

If you encounter any issues or have questions, feel free to reach out to us in the Score channel on the CNCF Slack (https://slack.cncf.io/).