copa Documentation¶
Welcome to copa - a unified CLI tool for Configuring, Orchestrating, and Provisioning Applications.
What is Copa?¶
Copa provides a single command-line interface that combines:
- Configuration Management with Ansible and Jinja2 templating
- Orchestration with Ansible playbooks
- Provisioning with Terraform
- Python Function Integration for custom logic
Key Features¶
- Dynamic command registration from YAML configuration
- Seamless Ansible playbook execution with Jinja2 templating
- Python function integration
- Comprehensive logging with verbosity levels
- Extensible architecture for future TUI/Web interfaces
Quick Example¶
# Install copa
pip install -e .
# Run a command (defined in toc.yml)
copa install mytool
Getting Started¶
- Installation - Install copa and dependencies
- Quick Start - Your first copa command
- Configuration - Set up your
toc.yml
Architecture Overview¶
Copa uses a dynamic command system:
- Commands defined in
copa/conf/toc.yml - Main entry loads configuration via
copa/core/toc.py - CLI initialization registers commands dynamically
- Execution handles Ansible playbooks or Python functions
See the Architecture Guide for detailed information.