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]
                       [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

edd_tool-0.2.1.tar.gz (11.5 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.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for edd_tool-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b658617bbd33e34359cdc3e37928820ac269e0889c585f7d935cb82166f06961
MD5 d9bf971e76ca74be54a849e51c052d51
BLAKE2b-256 b7826ebd983f84fed2194087d81f74cbf81436c369a55bbfcd92599b82a10746

See more details on using hashes here.

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

Hashes for edd_tool-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4504ab84bb26fbe1acbb7e26e982230bc98367cd47c69a4989660bac92b3e8de
MD5 28af59f2ac2b6325de202ddfae1848ae
BLAKE2b-256 81913ded271cba2d8bdd1242a1a7a8f08f0d44c39230e921c7f1960b5d905a83

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