OpenEMR on EKS v2.0 is Released!

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:

  1. Deploys infrastructure from scratch.
  2. Deploys OpenEMR to the EKS cluster.
  3. Creates a test file called “proof.txt”.
  4. Backs up the deployment.
  5. Tears down all the infrastructure.
  6. Redeploys the infrastructure.
  7. Redeploys OpenEMR to the new EKS cluster.
  8. Restores the installation that was backed up previously.
  9. Verifies that the “proof.txt” file is present on the new installation after restoration finishes.
  10. 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!

2 Likes