Releases: ankraio/ankra-cli
v0.1.122
Ankra CLI v0.1.122
Highlights
This release introduces the Ankra CLI - a powerful command-line interface for managing your Kubernetes infrastructure. Authenticate with SSO, chat with AI about your clusters, browse Helm charts, manage credentials, and control stacks - all from your terminal.
New Features
SSO Authentication
Securely authenticate with the Ankra platform using browser-based SSO login with PKCE.
# Login to Ankra (opens browser for SSO)
ankra login
# Logout and clear credentials
ankra logoutYour credentials are securely stored in ~/.ankra.yaml and automatically used for all subsequent commands.
AI-Powered Chat
Get instant help troubleshooting your infrastructure with AI-powered chat. Ask questions about your clusters, get recommendations, and analyze health issues.
Interactive Chat Mode
# Start an interactive chat session
ankra chat
# Chat with cluster context for better answers
ankra chat --cluster my-production-clusterOne-Shot Questions
# Ask a single question
ankra chat "Why are my pods in CrashLoopBackOff?"
# Ask with cluster context
ankra chat --cluster staging "How do I scale my deployment?"Cluster Health Analysis
# Get AI-analyzed cluster health for the selected cluster
ankra chat health
# Include detailed AI analysis
ankra chat health --aiChat History Management
# List previous conversations
ankra chat history
# Show a specific conversation
ankra chat show <conversation_id>
# Delete a conversation
ankra chat delete <conversation_id>Helm Charts
Browse and search the Helm chart catalog directly from your terminal.
List Available Charts
# List all available charts
ankra charts list
# Paginate through charts
ankra charts list --page 2 --page-size 50
# Show only subscribed charts
ankra charts list --subscribedSearch Charts
# Search for charts by name
ankra charts search nginx
# Search for monitoring solutions
ankra charts search prometheusChart Information
# Get detailed info about a chart
ankra charts info nginx
# Specify a repository
ankra charts info grafana --repository https://grafana.github.io/helm-chartsExample Output:
Chart: nginx
Repository: bitnami (https://charts.bitnami.com/bitnami)
Available Versions (10):
- 15.1.2
- 15.1.1
- 15.1.0
...
Available Profiles:
- default: Standard nginx deployment
- high-availability: Multi-replica HA setup
Credentials Management
Manage cloud provider and Git credentials for your clusters.
List Credentials
# List all credentials
ankra credentials list
# Filter by provider
ankra credentials list --provider githubView Credential Details
# Get details of a specific credential
ankra credentials get <credential_id>Validate & Delete
# Check if a credential name is available
ankra credentials validate my-new-credential
# Delete a credential
ankra credentials delete <credential_id>Aliases: ankra creds, ankra cred, ankra credential
Stack Management
Create, manage, and track infrastructure stacks on your clusters.
List & View Stacks
# First, select a cluster
ankra cluster select
# List all stacks on the active cluster
ankra cluster stacks list
# View details of a specific stack
ankra cluster stacks list my-monitoring-stackExample Output:
Stack Details:
Name: my-monitoring-stack
Description: Production monitoring
State: up
Manifests: 3
Addons: 2
Manifests:
✓ prometheus-config
├─ kind: ConfigMap
├─ namespace: monitoring
├─ state: up
└─ parents: none
Addons:
✓ grafana
├─ chart: grafana:6.50.7
├─ namespace: monitoring
├─ state: up
└─ parents: none
Create & Delete Stacks
# Create a new stack
ankra cluster stacks create my-new-stack --description "Application stack"
# Delete a stack
ankra cluster stacks delete old-stackRename & History
# Rename a stack
ankra cluster stacks rename old-name new-name
# View change history for a stack
ankra cluster stacks history my-stackCluster Clone
Clone stacks from an existing cluster to a new cluster configuration. Supports both local files and remote URLs.
# Clone all stacks from one cluster to another
ankra cluster clone source-cluster.yaml new-cluster.yaml
# Clone from a remote URL
ankra cluster clone https://github.com/org/repo/raw/main/cluster.yaml new-cluster.yaml
# Clone only specific stacks
ankra cluster clone cluster.yaml new-cluster.yaml --stack "monitoring" --stack "networking"
# Replace all stacks in the target cluster
ankra cluster clone cluster.yaml new-cluster.yaml --clean
# Force merge even with naming conflicts
ankra cluster clone cluster.yaml new-cluster.yaml --force
# Copy missing files from skipped stacks
ankra cluster clone cluster.yaml new-cluster.yaml --copy-missingAPI Tokens
Manage API tokens for programmatic access.
# List all API tokens
ankra tokens list
# Create a new token
ankra tokens create my-ci-token
# Create token with expiration
ankra tokens create my-temp-token --expires "2024-12-31T00:00:00Z"
# Revoke a token
ankra tokens revoke <token_id>
# Delete a revoked token
ankra tokens delete <token_id>Cluster Operations
# List all clusters
ankra cluster list
# Get cluster details
ankra cluster get my-cluster
# Select a cluster for subsequent commands
ankra cluster select
# Trigger reconciliation
ankra cluster reconcile my-clusterBug Fixes
ankra cluster clone - Registry Linkage Fix
Fixed an issue where ankra cluster clone did not correctly format the linkage to existing registries when cloning stacks or entire clusters. Addon configurations that reference container registries (registry_name, registry_url, registry_credential_name) are now properly preserved and formatted in the cloned configuration.
Before: Registry references in cloned addons could be malformed or missing, causing deployment failures when the cloned cluster tried to pull images from private registries.
After: All registry linkage fields are correctly preserved and formatted, ensuring seamless deployments with private container registries.
ankra chat - API Request & Response Format Fix
Fixed issues where the chat command had incompatible field names with the backend API:
-
Request fields: The CLI was sending
messageandhistoryfields, but the backend expectsqueryandconversation_history. -
Response parsing: The CLI was looking for
contentfield in streaming events, but the backend sends content in thedatafield.
Before: Chat would fail with 422 validation errors, or connect but show empty responses.
After: The CLI now correctly sends query and conversation_history fields, and properly parses the data field from streaming events.
Getting Started
# 1. Install the CLI (download from releases)
# 2. Login with SSO
ankra login
# 3. List your clusters
ankra cluster list
# 4. Select a cluster to work with
ankra cluster select
# 5. Start chatting with AI about your infrastructure
ankra chat "What's the status of my deployments?"Configuration
The CLI stores configuration in ~/.ankra.yaml:
- token: Your API authentication token
- base-url: The Ankra platform URL (defaults to https://platform.ankra.app)
You can also use environment variables:
ANKRA_API_TOKEN: Override the stored tokenANKRA_BASE_URL: Override the base URL
Full documentation: https://docs.ankra.app/cli
v0.1.121
Release version 0.1.121
v0.1.120
Release version 0.1.120
v0.1.119
Adds pagination to cluster select listing
v0.1.118
update cli version to 0.1.118
v0.1.117
Added new feature:
clone now supports the flag --stack which will clone only the specifc stack specified
v0.1.116-alpha
[0.1.116-alpha] - 2025-08-18
Added
- New
clonecommand - Clone stacks from existing clusters to new cluster configurations - URL support for clone - Clone from HTTP/HTTPS URLs including GitHub raw URLs
- Smart conflict resolution - Multiple merge strategies with
--clean,--force, and--copy-missingflags - Automatic file management - Downloads and copies referenced files (
from_file) when cloning - Directory structure creation - Automatically creates necessary directory hierarchies
Features
- Clone from local cluster files:
ankra clone source.yaml target.yaml - Clone from remote URLs:
ankra clone https://github.com/user/repo/raw/main/cluster.yaml local.yaml --cleanflag: Replace all stacks in target cluster with source stacks--forceflag: Force merge even when stack/addon/manifest names conflict--copy-missingflag: Copy missing files even from skipped stacks due to conflicts- Smart conflict detection at stack, manifest, and addon levels
- Support for merging with existing cluster configurations
- Comprehensive clone summary with statistics and next steps
Enhanced
- Updated README with comprehensive clone command documentation
- Added clone examples to basic workflow and command reference sections
- Enhanced help text and usage examples
Technical
- HTTP/HTTPS URL parsing and downloading
- Base URL resolution for relative file paths
- Error handling for missing files (404s) with graceful fallback
- File existence checking with optional overwrite functionality
v0.1.115-alpha
Changelog
All notable changes to this project will be documented in this file.
[0.1.115-alpha] – 2025-07-11
Added
- Ankra CLI initial release
- Secure, robust, user-friendly command-line interface for interacting with the Ankra platform
- Cluster management: create, select, delete clusters
- Addon deployment: install and manage addons (e.g.,
fluent-bit,cert-manager) - Automation: automate platform operations directly from your terminal
- Installation methods
- Single-command installer:
bash <(curl -sL https://github.com/ankraio/ankra-cli/releases/latest/download/install.sh) ankra --version - Direct binary download:
chmod +x ankra mv ankra ~/bin/ankra ankra --version
- Single-command installer:
- Post-installation setup
- Environment variables:
export ANKRA_API_TOKEN=your-token-here - Add to shell profile (
~/.zshrc/~/.bashrc):echo 'export ANKRA_API_TOKEN=your-token-here' >> ~/.zshrc source ~/.zshrc
- Environment variables:
- Quick-start commands
ankra get clusters ankra select cluster ankra get addons ankra get addons kube-prometheus-stack ankra get stacks ankra get stacks infisical ankra get operations ankra get operations aba25aaf-cfa8-4724-aa05-29aca9bf1997 ankra --help ankra get --help ankra select --help
v0.1.115
initial release