Skip to main content

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] [--ansible-args ANSIBLE_ARGS]
                       [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
  --ansible-args ANSIBLE_ARGS
                        Quoted string of extra ansible-playbook args

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

edd_tool-0.2.3.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edd_tool-0.2.3-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file edd_tool-0.2.3.tar.gz.

File metadata

  • Download URL: edd_tool-0.2.3.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for edd_tool-0.2.3.tar.gz
Algorithm Hash digest
SHA256 15ff3e22ffc6c1123e8110c00be5dc02deeb3079fa807a64fd89079634dab77f
MD5 2b48cd1552ae860e5c96befd458d46d8
BLAKE2b-256 04d37baa8cea636cae878ea1d2ab1ca066bfa5542eecafa7870476827ba2dcb3

See more details on using hashes here.

File details

Details for the file edd_tool-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: edd_tool-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for edd_tool-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2c53b7b70d946dbf543e8f33690dd4e195843c7560bff2aafb28067c21de6bd3
MD5 28ab8640d0e7375d95ced93f75d651e3
BLAKE2b-256 75ad848bcc63b8bb39c99f07e651ad5be86dd737761b2a47028616cf74a148e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page