Configure/Orchestrate/Provision Applications
Project description
COPA
Configure/Orchestrate/Provision Applications
About
COPA is a single codebase, implemented using the Python Textualize package, that provides a Command Line Interface (CLI), Text User Interface (TUI) and Web UI for provisioning (Terraform), orchestrating (Ansible) and configuring WeatherEye software on Linux servers.
copa is aware of environments that it can install to including:
- Provisioning
- Infrastructure Providers (e.g. Locally Proxmox or VMWare. Remote: Amazon Web Services, Google Cloud Platform etc. see supported providers
- Orchestrating
- Linux servers (VMs, cloud instances)
- Configuration Management
- WeatherEye Admin Django project (configuring which Django apps are running in a single Django instance)
- Other WeatherEye application configurations
The copa command line tool includes the following modules which can also be accessed through COPA Web UI Admin:
- COPA Upgrade
- COPA Rollback
- COPA Backup
Powered by:
- Terraform for server provisioning
- Ansible for server orchestration
- Textualize (MIT) - An application framework for CLI, TUI and WebUI in a single codebase
- pipx - A way to install Python CLI's as a tool in a contained environment
Tests
Run pytest. For more detailed output, including test coverage:
pytest -vv --cov=. --cov-report term-missing
Contributing
If you would like to contribute to the project:
- if you're making code contributions, please try and write some tests to accompany your code, and ensure that the tests pass.
- commit your changes via
cz commit. Follow the prompts. When you're done,pre-commitwill be invoked to ensure that your contributions and commits follow defined conventions. Seepre-commit-config.yamlfor more details. - your commit messages should follow the conventions described here. Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug." This convention matches up with commit messages generated by commands like
git mergeandgit revert. Once you are done, please send a merge request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file copa-0.1.0.tar.gz.
File metadata
- Download URL: copa-0.1.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e76031cd1ce963287e623261faf5fce9f9b939c05933d99acfb2d92347c7627
|
|
| MD5 |
45ca17a1fff7222b74b731e7c82520cc
|
|
| BLAKE2b-256 |
e5179b77a133dacbadeaebaa5534e21281149c64f73719cb4580183e19329fda
|
File details
Details for the file copa-0.1.0-py3-none-any.whl.
File metadata
- Download URL: copa-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98376846639ebc0b4b4b39a9ef8dd4def700ee993eed82e7887a6c16a237524b
|
|
| MD5 |
774dba0a180d0585cd9c7701a2141da0
|
|
| BLAKE2b-256 |
80ff3d7279bb40535c1e5665db4f8ba67b57cbccc7323ad0ddf3833f4b984df6
|