CloudPress is a project designed to provide hands-on experience in deploying a WordPress website with MariaDB on the Amazon Web Services (AWS) cloud platform. The goal is to utilize Terraform for infrastructure creation and Ansible for application installation, resulting in a production-ready setup.
CloudPress is a project designed to provide hands-on experience in deploying a WordPress website with MariaDB and Nginx on the Amazon Web Services (AWS) cloud platform. The goal is to utilize Terraform for infrastructure creation and Ansible for application installation, resulting in a production-ready setup.
Upon completion of this project, you'll achieve:
Upon completion of this project, you'll achieve:
@ -75,7 +75,7 @@ Prepare a comprehensive `README.md` detailing:
Your CloudPress project will be evaluated based on:
Your CloudPress project will be evaluated based on:
- Successfully setting up WordPress and MariaDB using Terraform to create the infrastructure and Ansible for installing everything.
- Successfully setting up WordPress, MariaDB and Nginx using Terraform to create the infrastructure and Ansible for installing everything.
- Secure and effective environment configuration.
- Secure and effective environment configuration.
- Quality and clarity of the provided documentation.
- Quality and clarity of the provided documentation.
###### Are all files related to the CloudPress project, including Terraform configuration files, Ansible playbooks, and any additional scripts, included in the repository?
###### Are all files related to the CloudPress project, including Terraform configuration files, Ansible playbooks, and any additional scripts, included in the repository?
@ -54,6 +54,22 @@
###### Using curl or browser: Is WordPress accessible?
###### Using curl or browser: Is WordPress accessible?
###### Can users access the WordPress site without encountering errors or downtime?
###### Was the environment configuration secure and effective?
Consider the following examples of secure and effective environment configuration:
- **Sensitive Information Handling:** Ensure sensitive information like passwords, API keys, or access credentials are not hardcoded in configuration files. Utilize specialized tools such as AWS Secrets Manager, HashiCorp Vault, or equivalent solutions to securely manage and access sensitive data.
- **Scalability Measures:** Check for implemented strategies to handle traffic spikes or increased loads, such as auto-scaling mechanisms or load balancing.
- **Fault Tolerance:** Validate the setup's ability to manage various failure scenarios, maintaining high availability of the WordPress site.
###### Are sensitive information such as passwords and access keys securely stored and managed (e.g., using AWS Secrets Manager or similar tools)?
###### Were proper encryption methods implemented for data in transit and at rest?
#### Documentation
#### Documentation
###### Does the README.md file contain an architecture overview?
###### Does the README.md file contain an architecture overview?
@ -62,14 +78,20 @@
###### Are additional configurations, tips, and potential pitfalls included in the documentation?
###### Are additional configurations, tips, and potential pitfalls included in the documentation?
#### Evaluation Criteria
#### Technical Verification
###### Was WordPress and MariaDB set up using Terraform and Ansible?
##### Try to change Terraform Settings.
###### Was the environment configuration secure and effective?
Example:
- Modify the count of EC2 instances. For instance, if you initially provisioned two instances, change the count to three or reduce it to one.
- Alter inbound or outbound rules in the security groups, like opening or closing specific ports.
- Others that you feel are relevant.
###### Did altering Terraform settings reflect changes in the deployed infrastructure?
###### Is the provided documentation of high quality and clarity?
###### Is WordPress fully functional? (Adding a page, accessing the website, etc.)
#### Overall Completion
##### Nginx Configuration Validation
###### Is the CloudPress project ready for production deployment based on the achieved outcomes?
###### Were changes in Nginx configurations regarding traffic limitation or exposed ports effective in controlling or limiting access?