This project automates the provisioning of infrastructure to test the Congruence Closure Algorithm using Terraform. It sets up necessary resources, including VPC, Subnet, Route table, Internet Gateway, EC2 instances, and installs required dependencies such as Python libraries for visualization and graph generation, ensuring a streamlined environment for running and testing the algorithm.
The project requires an automated infrastructure setup whenever they need to test changes made to their Flask application. They need a solution that enables them to:
- Provision the necessary AWS resources (VPC, Subnet, Route Table, EC2) without manual intervention.
- Automatically deploy the Flask application on an EC2 instance each time they need to test it and see only the final result on the browser, not the visualisation.
- Eliminate the need to manually create and configure the infrastructure every time they want to run or test the app.py file.
- Utilize Terraform to create, configure, and destroy the required infrastructure for testing.
- Open the web application in a browser.
- Enter a formula (such as constraints in the form of equalities or inequalities) into the input field.
- Submit the form to initiate the algorithm.
- wait for the program to complete execution (NOTE: you won't see visualisation) and show the result "SAT" or "UNSAT"
- clone the repo
- go to the folder where main.tf file is located
- run terraform plan and then apply
- go to local browser and browse http://public_ip_of_ec2_instance
- once testing is done , run terraform destroy