@robinmordasiewicz/f5xc-xcsh
v2.1.38-2603120643
Published
F5 Distributed Cloud Shell - Interactive CLI for F5 XC
Maintainers
Readme
xcsh
F5 Distributed Cloud Shell - A command-line interface for managing F5 Distributed Cloud resources.
API Version: v2.0.21
Built with F5 Distributed Cloud API specifications.
Version v2.0.21 includes updated API specifications for enhanced functionality.
Documentation
Full documentation is available at robinmordasiewicz.github.io/f5xc-xcsh
Claude Code Integration
This project includes a Claude Code skill for seamless AI assistant interaction with your locally installed xcsh binary.
/xcsh Skill
The /xcsh skill enables AI assistants to:
- Access real-time xcsh capabilities from your local installation
- Query resource specifications with field constraints and recommendations
- Generate valid F5 XC configurations with proper validation
- Provide intelligent suggestions based on F5 best practices
Quick Start (in Claude Code):
/xcsh version # Check installation
/xcsh domains # List available domains
/xcsh spec healthcheck create # Get resource spec (when routing is connected)See docs/SKILLS.md for complete documentation.
Installation
Homebrew
brew tap robinmordasiewicz/tap
brew install --cask xcshInstall Script
curl -fsSL https://raw.githubusercontent.com/robinmordasiewicz/f5xc-xcsh/main/install.sh | shUsage
Basic Command Structure
The CLI is organized around domains matching F5 Distributed Cloud API structure:
xcsh <domain> <operation> <resource-type> [resource-name] [flags]Domain-Based Commands
Common domains include:
| Domain | Purpose |
| ---------------------- | ----------------------------------------------- |
| virtual | HTTP, TCP, UDP load balancers and origin pools |
| cloud_infrastructure | AWS, Azure, GCP cloud sites and credentials |
| waf | Web application firewalls and security policies |
| dns | DNS zones and load balancing |
| sites | Site management and virtual sites |
| tenant_and_identity | User profiles and sessions |
| ai_services | AI assistant for natural language queries |
Examples
List Resources
# List HTTP load balancers in default namespace
xcsh virtual list http_loadbalancer
# List in specific namespace
xcsh virtual list http_loadbalancer -ns productionGet a Specific Resource
# Get a load balancer configuration
xcsh virtual get http_loadbalancer example-lb
# Get from specific namespace as YAML
xcsh virtual get http_loadbalancer example-lb -ns production -o yamlCreate a Resource
# Create from YAML file
xcsh virtual create http_loadbalancer -f lb-config.yamlDelete a Resource
# Delete a resource
xcsh virtual delete http_loadbalancer example-lb -ns productionApply (Create or Update)
# Apply from YAML (creates if not exists, updates if does)
xcsh virtual apply http_loadbalancer -f lb-config.yamlGet Help
# Show available domains
xcsh --help
# Show domain-specific operations
xcsh virtual --helpDevelopment
Build from Source
git clone https://github.com/robinmordasiewicz/f5xc-xcsh.git
cd f5xc-xcsh
npm install
npm run build
./dist/index.js versionDomain Registry
xcsh contains 38 domains organized by functional area and automatically synchronized with F5 Distributed Cloud API specifications:
- Load Balancing: virtual (HTTP, TCP, UDP load balancers and origin pools)
- Infrastructure: cloud_infrastructure, sites, ce_management
- Security: waf, bot_and_threat_defense, network_security
- Networking: network, dns
- Observability: observability, statistics, telemetry_and_insights
- Identity: tenant_and_identity, users, authentication
License
This project is open source. See the LICENSE file for details.
