CLI

CLI Examples

Copy-paste examples for the Kubeadapt CLI: list clusters, filter recommendations, export cost data, CI/CD setup, pagination, and more.

Copy-pasteable examples for common Kubernetes cost management tasks. All examples assume you've already authenticated (see Authentication).

List all clusters

bash
kubeadapt get clusters
text
ID NAME PROVIDER REGION NODES STATUS cls-abc123 production aws eu-west-1 12 active cls-def456 staging aws us-east-1 4 active

Find pending rightsizing recommendations

bash
kubeadapt get recommendations --type rightsizing --status pending
text
ID TYPE CLUSTER RESOURCE PRIORITY STATUS MONTHLY SAVINGS rec-a1b2 rightsizing production payments/api-gateway high pending $42.80 rec-c3d4 rightsizing production monitoring/prometheus medium pending $18.50

See Right-sizing for how recommendations are generated.

Check costs by team

bash
kubeadapt get costs teams -o json | jq '.teams[] | {team, monthly_cost}'
json
{ "team": "platform", "monthly_cost": 2044.80 } { "team": "backend", "monthly_cost": 1238.40 } { "team": "data", "monthly_cost": 3456.00 }

See Cost Attribution for how costs are calculated.

Find over-provisioned workloads

List workloads with low efficiency scores (high waste):

bash
kubeadapt get workloads -o json | jq '[.workloads[] | select(.efficiency_score < 30) | {name: .workload_name, namespace, efficiency: .efficiency_score, monthly_cost}] | sort_by(-.monthly_cost)'

Export data to a file

bash
kubeadapt get nodes --cluster-id cls-abc123 -o json > nodes.json kubeadapt get recommendations --status pending -o yaml > pending-recs.yaml

GitHub Actions workflow

yaml
name: Weekly cost report on: schedule: - cron: "0 9 * * 1" jobs: cost-report: runs-on: ubuntu-latest steps: - name: Install CLI run: curl -sSL https://raw.githubusercontent.com/kubeadapt/kubeadapt-cli/main/scripts/install.sh | bash - name: Get pending savings env: KUBEADAPT_API_KEY: ${{ secrets.KUBEADAPT_API_KEY }} KUBEADAPT_API_URL: https://public-api.kubeadapt.io run: | kubeadapt get recommendations --status pending -o json > recommendations.json SAVINGS=$(kubeadapt get recommendations --status pending -o json | jq '.total_potential_savings_monthly') echo "Total pending savings: \$${SAVINGS}/month"

Filter workloads by namespace and kind

bash
kubeadapt get workloads --namespace payments --kind Deployment

List persistent volumes by storage class

bash
kubeadapt get pvs --storage-class gp3

Pagination

Fetch the second page of 20 workloads:

bash
kubeadapt get workloads --cluster-id cls-abc123 --limit 20 --offset 20

Debug mode

Pass -v to print HTTP request details to stderr:

bash
kubeadapt get clusters -v

More jq recipes

See Output Formats: jq recipes for additional filtering patterns.