EDD deployment and plugin management tool
Project description
EDD Tool
edd-tool is a command-line utility for deploying and managing EDD (Effelsberg Direct Digitisation) backend instances.
It automates cloning site repositories, resolving variables from Ansible inventories, installing plugins, and running playbooks.
Purpose
The edd-tool simplifies the deployment of EDD site repositories managing the docker update cycle and plugin installation phases of an EDD backend deployment.
Installation
It is strongly recommended to install and run edd-tool inside a Python virtual environment to avoid dependency conflicts.
# Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install from PyPI
pip install edd-tool
You can verify the installation with:
edd-tool --help
Basic usage
$ edd-tool deploy --h
usage: edd-tool deploy [-h] [--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--site-repo SITE_REPO] [--version VERSION]
[--deploy-dir DEPLOY_DIR] [--inventory INVENTORY] [--vault-pass-file VAULT_PASS_FILE]
[--site-config SITE_CONFIG] [--plugin-install-method {galaxy,git-submodule}] [--no-pullremote]
[--force] [--dry-run]
[config_profile]
positional arguments:
config_profile Optional profile name from ~/.edd-tool.rc (e.g. 'production', 'devel')
options:
-h, --help show this help message and exit
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (default: INFO)
--site-repo SITE_REPO
Git URL of the EDD site repository
--version VERSION Branch or tag for the site repository
--deploy-dir DEPLOY_DIR
Deployment directory
--inventory INVENTORY
Ansible inventory path (file, dir, or script)
--vault-pass-file VAULT_PASS_FILE
Path to vault password file (defaults to $ANSIBLE_VAULT_PASSWORD_FILE if set)
--site-config SITE_CONFIG
Path to site configuration YAML
--plugin-install-method {galaxy,git-submodule}
--no-pullremote Skip pullremote tag
--force Force overwrite of deployment directory
--dry-run Dry run the deployment
Deployment profiles
To simplify the deployment interface it is possible to define deployment profiles in the ~/.edd-tool.rc configuration file.
This will be used to set the default values for CLI arguments. For example ~/.edd-tool.rc might contain:
## Example ~/.edd-tool.rc
## Define reusable deployment profiles here
## Uncomment and update the profiles below to get started
production:
site_config: production_config.yml
site_repo: https://gitlab.com/site-repos/my-telescope-site.git
inventory: production
vault-pass-file: ~/.edd/production.pwd
development:
site_config: development_config.yml
site_repo: https://gitlab.com/site-repos/my-telescope-site.git
inventory: development
vault-pass-file: ~/.edd/development.pwd
The name of a profile can be passed as a positional argument to the deploy command of edd-tool:
edd-tool deploy development --force --version 250915.0
or
edd-tool deploy production --dry-run --force --version 250915.0
Project details
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 edd_tool-0.2.1.tar.gz.
File metadata
- Download URL: edd_tool-0.2.1.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b658617bbd33e34359cdc3e37928820ac269e0889c585f7d935cb82166f06961
|
|
| MD5 |
d9bf971e76ca74be54a849e51c052d51
|
|
| BLAKE2b-256 |
b7826ebd983f84fed2194087d81f74cbf81436c369a55bbfcd92599b82a10746
|
File details
Details for the file edd_tool-0.2.1-py3-none-any.whl.
File metadata
- Download URL: edd_tool-0.2.1-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4504ab84bb26fbe1acbb7e26e982230bc98367cd47c69a4989660bac92b3e8de
|
|
| MD5 |
28af59f2ac2b6325de202ddfae1848ae
|
|
| BLAKE2b-256 |
81913ded271cba2d8bdd1242a1a7a8f08f0d44c39230e921c7f1960b5d905a83
|