Happy to share that OpenEMR on EKS v2.0 has officially been released!
Major New Features & Improvements
Introducing portable end-to-end backup/restore testing! scripts/test-end-to-end-backup-restore.sh
.
The script currently runs for a little under 2 hours and:
- Deploys infrastructure from scratch.
- Deploys OpenEMR to the EKS cluster.
- Creates a test file called “
proof.txt
”. - Backs up the deployment.
- Tears down all the infrastructure.
- Redeploys the infrastructure.
- Redeploys OpenEMR to the new EKS cluster.
- Restores the installation that was backed up previously.
- Verifies that the “
proof.txt
” file is present on the new installation after restoration finishes. - Deletes all infrastructure made during testing.
Comprehensive Documentation Overhaul
- New specialized guides: In-depth testing documentation (
docs/TESTING_GUIDE.md
) and mandatory end-to-end testing requirements (docs/END_TO_END_TESTING_REQUIREMENTS.md
) - Directory-specific READMEs: Every major directory now has detailed documentation with maintenance guidance
- Enhanced existing docs: Updated deployment guides with real-world scenarios and troubleshooting
Ugpraded CI/CD Pipeline
- New GitHub Actions workflow (
ci-cd-tests.yml
): - Comprehensive testing matrix across multiple dimensions
- Lint and validation for all code, configs, and documentation
- Security scanning with Trivy vulnerability detection (results of last security scan can be found here)
- Code quality analysis with automated reporting
- Test summary reporting with detailed failure analysis
Quality Assurance & Pre-commit System
- Complete pre-commit hook configuration (
.pre-commit-config.yaml
): - YAML linting (
.yamllint
) - Markdown linting with documentation-friendly settings (
.markdownlint.json
) - Shell script validation, security scanning, and code formatting
Robust Testing Infrastructure
- CI/CD test suite runner (
scripts/run-test-suite.sh
): Comprehensive test execution framework - Test configuration framework (
scripts/test-config.yaml
): Standardized test definitions
Major Script Overhauls & Automation
- Enhanced restore script (
scripts/restore.sh
): Complete rewrite with auto-reconfiguration, simplified one-command restore, and manual fallback instructions - Cross-region backup capabilities (
scripts/backup.sh
): Enhanced with intelligent polling, configurable timeouts, and comprehensive metadata - Improved cleanup procedures (
scripts/clean-deployment.sh
): Smart cleanup with force options and preservation of critical infrastructure - Enhanced deployment automation (
k8s/deploy.sh
): Optimized deployment orchestration with better error handling
Please check out the repository, try the deployment, and let me know your experience if you have the time and are so inclined. I would welcome all the help I can get in helping maintain the project and adding new functionality!