Cloudeval supports static AWS CloudFormation JSON/YAML evaluation in beta. This example verifies a template error with cfn-lint; it does not prove live AWS security, runtime availability, cost, or a completed Cloudeval report. Unsupported assessment areas remain Not assessed.
Reproduce the failure
In a new working directory, install the version used for this example:.venv\Scripts\Activate.ps1 in PowerShell. The download and comparison commands below use a POSIX shell.
Download the exact baseline and regression. The commit URLs keep this walkthrough reproducible if the demo branches change:
MissingPrivateSubnetB. The named subnet is absent from the template’s declared resources and parameters.
The public source diff changes one Auto Scaling subnet reference:
Correct the reference and check again
Add the Cloudeval review workflow
Use the public AWS example repository when you want template findings, project context, and configured gates in one review workflow.1
Connect the repository
Fork the example, install the Cloudeval GitHub App on your fork, and create a Cloudeval project from the repository. Confirm the selected branch, source root, and
.cloudeval/config.yaml entry point.2
Configure the CI access key
Create a project-scoped GitHub Actions CI key. Add
CLOUDEVAL_ACCESS_KEY and CLOUDEVAL_PROJECT_ID as GitHub repository secrets. These identify your Cloudeval account and project; the static template example does not require AWS credentials.3
Review a controlled change
Follow Review pull requests with GitHub Actions. Inspect the evaluated commit, validation findings, gate result, and available artifacts. Keep cfn-lint findings, supplemental Checkov findings, and Cloudeval’s supported AWS mappings distinguishable.
4
Verify the corrected commit
Correct the source and rerun the review. Match the new report to the new commit. Enforce only the gates you have configured and reviewed for the beta workflow.
Common mistakes
- Treating valid syntax as a complete review. A resolvable template can still contain overly broad ingress, public access, or unsuitable availability assumptions.
- Comparing different commits. Keep the GitHub diff, imported project snapshot, and report provenance aligned.
- Applying Azure assumptions to AWS. CloudFormation beta does not provide live AWS sync, full Azure report parity, or a complete AWS Well-Architected assessment.
- Interpreting Not assessed as safe. It means that the workflow has not established a result for that area.