CLI Installation
This page documents the only supported way to install the Dataspine CLI right now.
At the moment, no package manager installation (Homebrew / winget / apt / yum / …) is available, and it will most likely stay like this.
Download, verify, unpack, install
The CLI is distributed as a platform-specific archive on S3.
The current release pipeline publishes these targets:
- Linux x64 (musl):
x86_64-unknown-linux-musl.tar.gz - Linux ARM64 (musl):
aarch64-unknown-linux-musl.tar.gz - macOS ARM64:
aarch64-apple-darwin.tar.gz - Windows x64:
x86_64-pc-windows-msvc.zip
Use the selector below to get the exact commands for your platform.
- Linux x64
- Linux ARM64
- macOS (Apple Silicon)
- Windows x64
Bash
# Download
curl -L https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/x86_64-unknown-linux-musl.tar.gz -o x86_64-unknown-linux-musl.tar.gz
curl -L https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/x86_64-unknown-linux-musl.tar.gz.sha256 -o x86_64-unknown-linux-musl.tar.gz.sha256
# Verify checksum (compare the expected hash from the .sha256 file with the local file hash)
EXPECTED="$(awk '{print $1}' x86_64-unknown-linux-musl.tar.gz.sha256)"
ACTUAL="$(sha256sum x86_64-unknown-linux-musl.tar.gz | awk '{print $1}')"
test "$ACTUAL" = "$EXPECTED"
# Unpack
tar -xzf x86_64-unknown-linux-musl.tar.gz
# Install (adds `dataspine` to your PATH; requires permissions for the chosen location)
cd dataspine
chmod +x install.sh
./install.sh
# Verify
dataspine --version
Bash
# Download
curl -L https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/aarch64-unknown-linux-musl.tar.gz -o aarch64-unknown-linux-musl.tar.gz
curl -L https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/aarch64-unknown-linux-musl.tar.gz.sha256 -o aarch64-unknown-linux-musl.tar.gz.sha256
# Verify checksum
EXPECTED="$(awk '{print $1}' aarch64-unknown-linux-musl.tar.gz.sha256)"
ACTUAL="$(sha256sum aarch64-unknown-linux-musl.tar.gz | awk '{print $1}')"
test "$ACTUAL" = "$EXPECTED"
# Unpack
tar -xzf aarch64-unknown-linux-musl.tar.gz
# Install
cd dataspine
chmod +x install.sh
./install.sh
# Verify
dataspine --version
Bash
# Download
curl -L https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/aarch64-apple-darwin.tar.gz -o aarch64-apple-darwin.tar.gz
curl -L https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/aarch64-apple-darwin.tar.gz.sha256 -o aarch64-apple-darwin.tar.gz.sha256
# Verify checksum
EXPECTED="$(awk '{print $1}' aarch64-apple-darwin.tar.gz.sha256)"
ACTUAL="$(shasum -a 256 aarch64-apple-darwin.tar.gz | awk '{print $1}')"
test "$ACTUAL" = "$EXPECTED"
# Unpack
tar -xzf aarch64-apple-darwin.tar.gz
# Install
cd dataspine
chmod +x install.sh
./install.sh
# Verify
dataspine --version
PowerShell
# Download
Invoke-WebRequest -Uri "https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/x86_64-pc-windows-msvc.zip" -OutFile "dataspine.zip"
Invoke-WebRequest -Uri "https://dataspine-public-static.s3.eu-central-1.amazonaws.com/cli/releases/latest/x86_64-pc-windows-msvc.zip.sha256" -OutFile "dataspine.zip.sha256"
# Verify checksum (compare expected hash from the first token in the .sha256 file)
$expected = (Get-Content .\dataspine.zip.sha256).Split(' ')[0]
$actual = (Get-FileHash .\dataspine.zip -Algorithm SHA256).Hash.ToLower()
if ($actual -ne $expected.ToLower()) { throw "Checksum mismatch: expected $expected got $actual" }
# Unpack
Expand-Archive -Path .\dataspine.zip -DestinationPath . -Force
# Run directly
.\dataspine\dataspine.exe --version
Authentication
Bash
# Use a token from the environment (default auth mode is `env`)
export DATASPINE_TOKEN="your-token"
dataspine check --source-dir ./spine-src --root-namespace my.company
# Or exchange an input token
dataspine -a "token-exchange:your-input-token" sts exchange-token "your-input-token"
# Or exchange via AWS SigV4
dataspine -a "aws-sigv4:00000000-0000-0000-0000-000000000000" sts exchange-aws-token 00000000-0000-0000-0000-000000000000
# Configure access to artifact registries (e.g. npm)
dataspine artifacts login npm
Example (AWS SigV4 auth + login to npm registry):
Bash
dataspine --auth "aws-sigv4:4b3b1938-3661-42de-8e86-db4dc85b2fb2" artifacts login npm --application 9ce123fa-21ce-4275-948d-610ae5e06268
For the full command reference, see CLI Reference.