Skip to content

Installation

The easiest way to install Clanker CLI on macOS or Linux:

bash
brew tap clankercloud/tap
brew install clanker

The Homebrew tap is maintained at clankercloud/homebrew-tap.

Requirements

  • Go 1.21 or later -- Required only if building from source.
  • AWS CLI v2 -- Required for AWS operations. Note that AWS CLI v1 is not supported because it does not recognize the --no-cli-pager flag, which Clanker uses to prevent interactive paging of AWS CLI output.

Build from Source

Clone the repository and build the binary:

bash
git clone https://github.com/bgdnvk/clanker.git
cd clanker
make build

This produces a binary at ./bin/clanker.

To install the binary to /usr/local/bin so it is available system-wide:

bash
sudo make install

For development builds that place the binary in the current directory:

bash
make dev

Cross-Platform Builds

To build binaries for all supported platforms (Linux, macOS, and Windows on both amd64 and arm64):

bash
make build-all

This produces tarballs and binaries for each platform combination in the ./bin/ directory.

Verify Installation

After installation, verify that Clanker is working:

bash
clanker --version

You should see output like:

clanker version v0.0.3

Helper Binaries

Clanker delegates to external CLI tools for cloud provider operations. The aws CLI is required for AWS functionality. All other tools are optional and only needed if you plan to use the corresponding provider or feature.

aws (required for AWS)

The AWS CLI v2 is required for all AWS operations. Clanker uses it to execute AWS API calls, manage credentials, and interact with services like EC2, Lambda, S3, and EKS.

macOS:

bash
brew install awscli

Linux:

bash
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Official docs: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

After installation, configure at least one AWS profile:

bash
aws configure --profile your-profile-name

terraform (optional)

Required for Terraform workspace queries and operations.

macOS:

bash
brew install terraform

Linux:

bash
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt-get update && sudo apt-get install terraform

Official docs: https://developer.hashicorp.com/terraform/install

gh (optional, for GitHub)

Required for GitHub repository queries, pull request analysis, and workflow status.

macOS:

bash
brew install gh

Linux:

bash
sudo apt install gh

Or install via the official repository:

bash
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
  && sudo mkdir -p -m 755 /etc/apt/keyrings \
  && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
  && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
  && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
  && sudo apt update \
  && sudo apt install gh -y

Official docs: https://cli.github.com/

gcloud (optional, for GCP)

Required for GCP infrastructure queries, GKE cluster management, and Cloud Run operations.

macOS:

bash
brew install google-cloud-sdk

Linux:

bash
sudo snap install google-cloud-cli --classic

Or install via the official script:

bash
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud init

Official docs: https://cloud.google.com/sdk/docs/install

az (optional, for Azure)

Required for Azure infrastructure queries and Azure subscription management.

macOS:

bash
brew install azure-cli

Linux:

bash
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

Official docs: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli

doctl (optional, for DigitalOcean)

Required for DigitalOcean infrastructure queries (Droplets, App Platform, Kubernetes).

macOS:

bash
brew install doctl

Linux:

bash
sudo snap install doctl

Official docs: https://docs.digitalocean.com/reference/doctl/how-to/install/

hcloud (optional, for Hetzner)

Required for Hetzner Cloud infrastructure queries.

macOS:

bash
brew install hcloud

Linux:

bash
sudo apt install hcloud-cli

Or install via the official binary:

bash
wget https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-amd64.tar.gz
tar -xzf hcloud-linux-amd64.tar.gz
sudo mv hcloud /usr/local/bin/

Official docs: https://github.com/hetznercloud/cli

kubectl (optional, for Kubernetes)

Required for Kubernetes cluster management and the clanker k8s commands.

macOS:

bash
brew install kubectl

Linux:

bash
sudo snap install kubectl --classic

Or install directly:

bash
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Official docs: https://kubernetes.io/docs/tasks/tools/install-kubectl/

helm (optional, for Kubernetes Helm charts)

Required for deploying applications using Helm charts through the Kubernetes pipeline.

macOS:

bash
brew install helm

Linux:

bash
sudo snap install helm --classic

Or install via the official script:

bash
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Official docs: https://helm.sh/docs/intro/install/

eksctl (optional, for EKS cluster creation)

Required for creating and managing Amazon EKS clusters through Clanker.

macOS:

bash
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl

Linux:

bash
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && sudo mv /tmp/eksctl /usr/local/bin

Official docs: https://eksctl.io/installation/

Scanning for Available Credentials

After installing the helper binaries, you can use the config scan command to detect which credentials and CLI tools are available on your system:

bash
clanker config scan

This will report on detected AWS profiles, GCP credentials, Azure subscriptions, Cloudflare tokens, DigitalOcean tokens, Hetzner tokens, and LLM API keys. For machine-readable output:

bash
clanker config scan --output json