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 clusterstext
ID NAME PROVIDER REGION NODES STATUS
cls-abc123 production aws eu-west-1 12 active
cls-def456 staging aws us-east-1 4 activeFind pending rightsizing recommendations
bash
kubeadapt get recommendations --type rightsizing --status pendingtext
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.50See 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.yamlGitHub 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 DeploymentList persistent volumes by storage class
bash
kubeadapt get pvs --storage-class gp3Pagination
Fetch the second page of 20 workloads:
bash
kubeadapt get workloads --cluster-id cls-abc123 --limit 20 --offset 20Debug mode
Pass -v to print HTTP request details to stderr:
bash
kubeadapt get clusters -vMore jq recipes
See Output Formats: jq recipes for additional filtering patterns.