Installation
Smurf v1.1.9 supports macOS and Linux on amd64 and arm64 architectures.
Prerequisites
| Tool | Required for | Minimum |
|---|---|---|
| Go | Building from source | 1.26+ |
| Docker | smurf sdkr |
Latest stable |
| Helm | smurf selm |
v3.x |
| Terraform | smurf stf |
Latest stable |
| Git | Building from source | Any recent version |
Note
You only need the tools for the subcommands you plan to use. Installing Smurf alone is enough to explore --help output.
Install with the binary installer (recommended)
install/install.sh downloads the release archive for your OS/architecture (.tar.gz on Linux/macOS, .zip on Windows), verifies it against the release's checksums.txt by default, and installs the smurf binary to /usr/local/bin.
To skip checksum verification (not recommended), set VERIFY_CHECKSUM=false:
The script prompts for sudo only when it needs to write to /usr/local/bin; nothing else in the script runs as root.
Verify the installation:
Expected output includes Version: v1.1.9.
Install with Homebrew
If Smurf is already installed, update it with:
Build from source
Clone the repository and build with Go:
git clone https://github.com/clouddrove/smurf.git
cd smurf
go build -a \
-ldflags "\
-X 'github.com/clouddrove/smurf/cmd.version=$(git describe --tags --abbrev=0 2>/dev/null || echo v0.0.0)' \
-X 'github.com/clouddrove/smurf/cmd.commit=$(git rev-parse --short HEAD)' \
-X 'github.com/clouddrove/smurf/cmd.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)'" \
-o smurf .
sudo mv smurf /usr/local/bin/
Only the final mv into /usr/local/bin needs elevated permissions.
Install with the repository script
Clone the repository and run the bundled install script. Run it as your normal user; it calls sudo internally only for the final move into /usr/local/bin.
Check that Smurf installed successfully:
Install in GitHub Actions
Use the official composite action to install Smurf in CI pipelines. The action accepts a single input, version (defaults to latest):
- name: Setup Smurf
uses: clouddrove/[email protected]
with:
version: v1.1.9
See the GitHub Actions guide for complete workflow examples.
Verify installation
Troubleshooting
| Problem | Solution |
|---|---|
go: command not found |
Install Go 1.26+ and ensure it is on your PATH |
permission denied when moving binary |
Let the installer prompt for sudo, or run sudo mv smurf /usr/local/bin/ yourself |
smurf: command not found after install |
Confirm /usr/local/bin is in your PATH |
| Checksum verification failed | The downloaded archive does not match checksums.txt for that release; re-download rather than bypassing verification |
| Docker commands fail | Ensure the Docker daemon is running and your user has access |
| Helm/Terraform commands fail | Install the respective CLI and confirm it is on your PATH |
Upgrade
Re-run the binary installer; it always fetches the latest release.
Pin the action tag and the version input to v1.1.9:
uses: clouddrove/[email protected]
with:
version: v1.1.9