kubeopt
v2.1.0
Published
AI cost engineer for Kubernetes — analyzes clusters, generates fixes, opens PRs
Maintainers
Readme
KubeOpt CLI
Kubernetes Cost Optimizer — run locally via Docker, analyze clusters from the command line.
Prerequisites
- Node.js >= 18
- Docker (for
start/stop/upgradecommands)
Install
npm install -g kubeoptQuick Start
# Option 1: Run via Docker
kubeopt start # Pull image from GHCR, start server, open browser
# Option 2: Connect to existing KubeOpt instance
kubeopt config --api-url http://localhost:5001 --username admin --password secret
kubeopt clusters # List clusters with cost summary
kubeopt report <cluster-id> # View analysis resultsDashboard opens at http://localhost:5001
Docker image: ghcr.io/kubeopt/kubeopt:latest (public, no login required)
Commands
Docker Management
| Command | Description |
|---------|-------------|
| kubeopt start [--port 5001] [--detach] | Start server, open browser |
| kubeopt stop | Stop server |
| kubeopt status | Show health + port |
| kubeopt logs [--follow] | Tail container logs |
| kubeopt upgrade | Pull latest image, restart |
Cluster Analysis
| Command | Description |
|---------|-------------|
| kubeopt clusters [--json] | List all clusters with cost, savings, and score |
| kubeopt analyze <cluster-id> [--wait] | Trigger analysis (use --wait to poll until complete) |
| kubeopt report <cluster-id> [--json] | Show cost breakdown, savings, and recommendations |
All analysis commands accept --api-url, -u/--username, and -p/--password overrides, or read from config.
Configuration
| Command | Description |
|---------|-------------|
| kubeopt config --show | Show current configuration |
| kubeopt config --api-url <url> | Set KubeOpt API URL |
| kubeopt config --username <user> | Set API username |
| kubeopt config --password <pass> | Set API password |
| kubeopt config --license-key <key> | Set license key |
| kubeopt config --azure-subscription <id> | Set Azure subscription |
Configuration
Settings are stored in ~/.kubeopt/config.json:
kubeopt config --api-url http://localhost:5001
kubeopt config --username admin
kubeopt config --password secret
kubeopt config --license-key YOUR_KEY
kubeopt config --azure-subscription SUB_ID
kubeopt config --azure-client-id CLIENT_ID
kubeopt config --azure-client-secret SECRET
kubeopt config --azure-tenant TENANT_ID
kubeopt config --kubeconfig ~/.kube/configExample Workflow
# Configure once
kubeopt config --api-url https://demo.kubeopt.com --username admin --password secret
# List clusters
kubeopt clusters
# 6 cluster(s)
# kubeopt-test (GCP)
# Cost: $98/mo Savings: $18/mo Score: 81.2%
# Trigger fresh analysis and wait
kubeopt analyze project-130bc253_kubeopt-test --wait
# View results
kubeopt report project-130bc253_kubeopt-test
# Monthly Cost: $98
# Potential Savings: $18
# Health Score: 50%License
MIT
