Infrastructure-as-code for ephemeral AWS ParallelCluster environments for bioinformatics
Project description
Daylily Ephemeral Cluster
Daylily provisions ephemeral AWS ParallelCluster environments for bioinformatics workloads. It combines a Python control plane, region-scoped reference data, head-node bootstrap, workflow launch helpers, and lifecycle operations so operators can create Slurm clusters when needed and tear them down cleanly when they do not.
What Daylily Covers
- Preflight validation for IAM, quotas, network prerequisites, local toolchain, and reference-bucket readiness
- Cluster creation through
python -m daylily_ec createor the thin wrapper./bin/daylily-create-ephemeral-cluster - A region-scoped S3 and FSx for Lustre layout for shared references, staged inputs, and results
- Head-node bootstrap that installs
DAY-EC,day-clone, and the packaged Daylily helpers - Operator workflows for validation, staging, workflow launch, export, drift checks, and delete
Architecture Snapshot
daylily_ecis the control plane that runs preflight, renders cluster YAML, applies spot pricing, creates the cluster, and records state snapshots.- AWS ParallelCluster and Slurm provide the compute fabric.
- A region-specific S3 bucket whose name includes
omics-analysisbacks FSx for Lustre so references and staged data are shared across the cluster. - The head node installs Daylily utilities from
bin/and workflow definitions fromconfig/daylily_available_repositories.yaml. - Optional budgets and heartbeat notifications help operators track cost and stale resources.
Fast Path
Use the full runbook in docs/quickest_start.md. The shortest supported path from a repo checkout is:
./bin/check_prereq_sw.sh
./bin/init_dayec
conda activate DAY-EC
export AWS_PROFILE=daylily-service
export REGION_AZ=us-west-2c
export DAY_EX_CFG="$HOME/.config/daylily/daylily_ephemeral_cluster.yaml"
python -m daylily_ec preflight --region-az "$REGION_AZ" --profile "$AWS_PROFILE" --config "$DAY_EX_CFG"
python -m daylily_ec create --region-az "$REGION_AZ" --profile "$AWS_PROFILE" --config "$DAY_EX_CFG"
Before create, make sure the reference bucket for the target region exists and your config file points at it. docs/quickest_start.md shows the supported daylily-omics-references workflow and the template-copy step.
CLI Surface
The current CLI surface is:
python -m daylily_ec versionpython -m daylily_ec infopython -m daylily_ec create --region-az <region-az> ...python -m daylily_ec preflight --region-az <region-az> ...python -m daylily_ec drift --state-file <path> ...python -m daylily_ec resources-dirpython -m daylily_ec pricing snapshot --region <region> --config config/day_cluster/prod_cluster.yaml
Run python -m daylily_ec --help for the current command tree.
Documentation
- docs/quickest_start.md: operator-first install and cluster creation runbook
- docs/operations.md: head-node validation, staging, launch, monitoring, export, and delete
- docs/overview.md: public-facing architecture, workflow narrative, cost context, and benchmark links
- docs/pip_install.md: pip-based usage and packaged resources
- docs/DAY_EC_ENVIRONMENT.md: local development environment and CLI diagnostics
- CONTRIBUTING.md: development and docs contribution guide
- docs/archive/README.md: historical material preserved for reference
Repository Highlights
config/daylily_ephemeral_cluster_template.yaml: config triplets for cluster creation defaultsconfig/daylily_cli_global.yaml: shared global settings deployed to head nodesconfig/daylily_available_repositories.yaml: workflow registry used byday-clonedocs/benchmarks/: benchmark reference material used by the overview doc
Historical Material
Older long-form docs and retired notes live under docs/archive/. They are preserved for historical context and are not canonical for current operator workflows.
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 daylily_ephemeral_cluster-0.7.608.tar.gz.
File metadata
- Download URL: daylily_ephemeral_cluster-0.7.608.tar.gz
- Upload date:
- Size: 46.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
751cd4b81002bf05d83d7cbf13343482769c282a59aa9fffe06268ae0eaddeb4
|
|
| MD5 |
f71cc7ae2fc69ae78fca6b7ec735065d
|
|
| BLAKE2b-256 |
347e1a7959223db45a5bc6cad2a87c1f3a08478c96b485b4e01f339c9cb69c4f
|
File details
Details for the file daylily_ephemeral_cluster-0.7.608-py3-none-any.whl.
File metadata
- Download URL: daylily_ephemeral_cluster-0.7.608-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b736e84116548c8ce38357d67f1cf6696215907a49aae9b60472717bb5ed4a4
|
|
| MD5 |
5ef7a98d7549795fe963c9799b53f086
|
|
| BLAKE2b-256 |
fec90cef12c027669c5c14c9d54bbe4598ed4c2bada340c88f3f762a5b6273e8
|