A comprehensive Python-based command-line interface for managing distributed systems, deployments, monitoring, and infrastructure operations. Built with modern CLI libraries to provide an exceptional developer experience.
- Service Lifecycle: Deploy, start, stop, restart, and monitor individual services
- System-wide Operations: Bulk operations across your entire distributed system
- Environment Management: Multi-environment support (dev, staging, production)
- Configuration Profiles: Named configuration sets for different scenarios
- Template System: Parameterized deployment templates with variable substitution
- Interactive Mode: REPL-style interface for exploration and experimentation
- Dry Run Mode: Preview all changes before execution
- Batch Operations: YAML/JSON-defined workflows for complex operations
- Parallel Execution: Concurrent operations with rich progress visualization
- History & Rollback: Command history with deployment rollback capabilities
- Real-time Dashboards: Terminal-based live metrics and system status
- Alert Management: Custom alerting rules and notification channels
- Log Aggregation: Centralized log viewing with filtering and search
- Health Check Orchestration: Custom health check definitions and scheduling
- Performance Profiling: Resource usage tracking and bottleneck identification
- Blue-Green Deployments: Zero-downtime deployment strategies
- Canary Releases: Gradual traffic shifting for safe deployments
- Traffic Splitting: Advanced traffic management and routing
- Backup & Restore: Automated backup scheduling and point-in-time recovery
- Plugin System: Hot-loadable plugins for custom integrations
- Shell Completion: Advanced tab completion for all commands
- Embedded Scripting: Python scripting support for complex automation
- API Server Mode: REST API for integration with other tools
- Rich CLI Interface: Beautiful terminal UI with colors, tables, and progress bars
- Secret Management: HashiCorp Vault and Kubernetes secrets integration
- Service Discovery: Dynamic service registration and discovery
- Resource Optimization: Auto-scaling recommendations and right-sizing
- Configuration Validation: Schema validation for all configurations
This project leverages the best Python CLI libraries for an exceptional user experience:
- Click - Command-line interface creation
- Rich - Rich text and beautiful formatting
- Typer - Modern CLI framework with type hints
- InquirerPy - Interactive command-line prompts
- sh - Python subprocess interface
- Plumbum - Shell combinators and more
- Cloup - Click extensions for better UX
- Cement - Advanced CLI application framework
The system is designed as a modular, extensible CLI framework:
- Core Engine: Central command processing and plugin management
- Plugin System: Hot-loadable modules for specific functionality
- Configuration Layer: Multi-environment, profile-based configuration
- Integration Layer: Standardized interfaces for external tools
- API Layer: RESTful API for programmatic access
Comprehensive documentation is available in the docs/ directory:
- Installation Guide - Setup and installation instructions
- Configuration - Environment and profile management
- Commands - Complete command reference
- Integrations - External tool integration guides
- Features - Advanced feature documentation
- Plugins - Plugin development and usage
- Examples - Real-world usage examples
# Install dependencies with Poetry
poetry install
# Add ops to PATH (makes 'ops' available globally)
poetry run ops-install
source ~/.zshrc # or open a new terminal
# Initialize configuration
ops init
# Check system status
ops status
# Show version
ops --version| Option | Description |
|---|---|
--version, -V |
Show version and exit |
--verbose, -v |
Enable verbose output |
--debug |
Enable debug mode |
--help |
Show help message |
| Command | Description |
|---|---|
ops status |
Show system status and health information |
ops status --verbose |
Show detailed status with architecture info |
ops init |
Initialize configuration at ~/.config/ops/ |
ops init --force |
Overwrite existing configuration |
ops init --template <name> |
Use a specific template |
| Command | Description |
|---|---|
poetry run ops-install |
Add ops to your PATH |
poetry run ops-uninstall |
Remove ops from your PATH |
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup
- Code standards
- Testing guidelines
- Pull request process
See our project roadmap for planned features and improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
- π Documentation
- π Issue Tracker
- π¬ Discussions