This repository provides reusable deployment standards, scaffold generation, and shared container libraries for BU-ISCIII application teams and deployment operators. It generates synchronized Docker Compose deployments while keeping application frameworks, optional infrastructure, and application-owned behavior separate.
- normative deployment, infrastructure, and security standards;
- a descriptor-driven scaffold with
init,check, andsyncworkflows; - generated production and test Compose models;
- shared host/container deployment libraries;
- framework-specific application profiles and optional supporting components; and
- Docker, Podman, and rootless Podman support. Rootless Docker is not required.
Each application service selects one profile. A project may contain one service or several services assembled by an orchestrator. Optional addons add shared infrastructure without becoming application profiles. Generated files retain declared standard-managed and application-owned boundaries so central improvements can be checked and synchronized safely.
- Apache — optional reverse proxy and application exposure.
- Keycloak — optional identity and OIDC infrastructure.
- MySQL support — Django-owned test database and optional production Compose database; not selected through
ADDONS.mysql. - Nextstrain — optional Auspice visualization service.
- Samba — disposable, test-only SMB storage.
Copy and edit a current descriptor example, then generate and check the application baseline:
cp scaffold/project.json.example /tmp/project.json
python3 scripts/scaffold.py init /path/to/application --config /tmp/project.json
python3 scripts/scaffold.py check /path/to/applicationSee Creating a project for the complete workflow.
See the documentation index. Useful starting points include the application installation contract, deployment workflow, project descriptor reference, and exceptions and compliance standard.
docs/ Human-facing standards, guides, reference, profiles, and addons
lib/ Shared application-neutral deployment libraries
scaffold/ Descriptor examples and generated-file implementation templates
scripts/ Scaffold initialization and synchronization tooling
tests/ Contract and generation tests
scaffold/templates/ contains implementation sources rendered into application repositories; it is not documentation storage.
Read AGENTS.md before changing the repository. Keep common behavior application-neutral, put framework behavior in profile templates, put optional infrastructure behavior in addon templates, and preserve generated-file ownership contracts. Run relevant tests and git diff --check before submitting changes.
See CHANGELOG.md for notable changes.