Getting started
This guide gives a new administrator a safe path from a site repository to a deployed EDD core. It does not replace site-specific commissioning: high-rate networking, time distribution, storage, and accelerator access must be tested for the target hardware.
Prerequisites
You need:
a site repository containing an inventory and site playbook;
Python 3.11 or newer on the deployment host;
SSH access, with privilege escalation where required, to managed hosts;
a supported container runtime on processing nodes;
working name resolution between all EDD hosts;
synchronized clocks and access to the site’s reference time;
configured data and storage networks; and
credentials for encrypted inventory values and any private registries.
Install the deployment tool
edd-tool is provided by EDD core. Install the appropriate EDD core package
in a virtual environment to avoid conflicts with system Ansible:
$ python3 -m venv ~/.venvs/edd-tool
$ source ~/.venvs/edd-tool/bin/activate
$ python -m pip install /path/to/edd-core
$ edd-tool --help
The installed command must provide at least deploy and make-devenv.
Always inspect edd-tool --help and record the installed EDD core package
version before executing a production deployment.
Create a deployment profile
Create ~/.edd-tool.rc to define named deployment profiles and avoid
retyping site-critical arguments:
development:
site_repo: https://git.example.org/observatory/edd_site.git
version: 2026.1
inventory: inventories/development
site_config: site.yml
vault-pass-file: /secure/edd-development.vault
Paths for inventory and site_config are relative to the checked-out
site repository. Protect the vault password file with restrictive filesystem
permissions and never commit it.
Deploy and verify
After review, deploy the pinned profile:
$ edd-tool deploy development
deploy always clones the requested site revision into a clean temporary
directory and installs its selected collections there. It does not use a local
site checkout or a prior collection installation. Deployment logs are stored
below ~/.edd/deployment_logs.
For site-repository or collection deployment development, create a persistent environment instead:
$ edd-tool make-devenv ./edd-dev development \
--site-dir ~/src/edd_site
See Development environments with make-devenv for the generated command reference and the site, plugin, and EDD core development workflows.
Before provisioning an observing mode, verify at least the following:
The Master Controller accepts a KATCP connection and reports
unprovisioned.Redis, InfluxDB, Grafana, and Loki are reachable from their intended networks.
The inventory shown by Ansible contains the expected hosts and groups.
Processing hosts can pull the pinned container images.
Data interfaces, accelerators, storage mounts, NUMA topology, and time synchronization match the inventory.
Continue with Operating an EDD observation to provision an observing mode. For a new site, read Deploying an EDD site, Provisioning and site configuration, and Time and synchronization in full.