Configure, Orchestrate and Provision Applications
copa is a single codebase, implemented using the Python Typer and Textual packages, that provides a Command Line Interface (CLI), Text User Interface (TUI) and Web UI for provisioning, orchestrating and configuring software on Linux servers.
copa is aware of environments that it can install to including:
- Provisioning (Terraform)
- Infrastructure Providers (e.g. Locally Proxmox or VMWare. Remote: Amazon Web Services, Google Cloud Platform etc. see supported providers)
- Orchestrating (Ansible)
- Linux servers (VMs, cloud instances)
- Configuration Management (Ansible)
- Modifing configuration for nginx, django etc.
copa attempts to be as minimal and extensible as possible.
To install from the Python Package Index (PyPI), first install pipx, then:
pipx install copaDevelopers may wish to clone the latest version from GitHub and install this local version in editable (-e) mode.
git clone https://github.com/open-climate/copa.git
pip install -e ./copa[dev,docs]To execute all tests run: pytest
Powered by:
- Terraform for server provisioning
- Ansible for server orchestration
- Typer (MIT) - Modern, type-hint based CLI framework that auto-generates help from function signatures
- Textual (MIT) - An application framework for building terminal user interfaces (TUI) and web user interfaces (WebUI) from the same Python codebase
- pipx - A way to install Python CLI's as a tool in a contained environment