Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #2

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 47 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,48 @@
# TerraWeek
#TerraWeek Challenge by TWS Community Builders is a 7 Day challenge which will be starting on 5th June and ending on 11th June at 11:59 P.M IST.
The challenge is designed to test your knowledge and skills in using Terraform, an infrastructure-as-code tool. This document outlines the requirements, instructions, and guidelines for completing the challenge.

Challenge Description:
The Terraform Week Challenge involves creating an infrastructure setup using Terraform to deploy a sample web application on a cloud platform of your choice (such as AWS, Azure, or GCP). The challenge consists of the following tasks:

Infrastructure Setup: Write Terraform code to provision the necessary cloud resources, including virtual machines, networking components, storage, and any other resources required to host the web application.

Web Application Deployment: Configure the deployment of a sample web application on the provisioned infrastructure. This could include setting up load balancers, DNS records, security groups, and any other components necessary to run the application successfully.

Infrastructure Destruction: Implement Terraform code to tear down the entire infrastructure when it's no longer needed. This should ensure that all resources created during the challenge are removed to avoid any unwanted costs or resources left behind.

Instructions:

Fork the Repository: Start by forking the provided repository, which contains the initial project structure and some sample files. You will use this repository to submit your solution.

Choose a Cloud Platform: Select a cloud platform (AWS, Azure, GCP, etc.) where you will deploy your infrastructure. Ensure that you have the necessary credentials and access to create resources on that platform.

Write Terraform Code: Create a new Terraform project within the repository and begin writing the necessary Terraform code to provision the infrastructure and deploy the web application. Organize your code into reusable modules and maintain a clear directory structure.

Document Your Infrastructure: Include a README file within your Terraform project directory that provides an overview of your infrastructure, explains the purpose of each Terraform file, and describes any specific configurations or considerations.

Test and Validate: Before submitting your solution, test your infrastructure setup thoroughly. Ensure that the web application is accessible and functioning as expected. Consider security, scalability, and high availability aspects during your testing process.

Submit Your Solution: Once you are confident in your solution, submit a pull request to the original repository. Include a description of your implementation, any challenges you faced, and any additional information you would like to share.

Guidelines:

Use version control (Git) to manage your code and commit changes regularly.
Adhere to infrastructure-as-code best practices, such as using variables, modules, and appropriate naming conventions.
Consider security best practices when configuring your infrastructure.
Follow the principle of least privilege and limit access to sensitive resources.
Leverage Terraform features such as remote state and state locking, where applicable.
Feel free to use community modules or any other external resources, but ensure that you understand the code and configurations you use.
Additional Tips:

Read the documentation: Familiarize yourself with the official Terraform documentation and the documentation of your chosen cloud platform.
Start small and iterate: Begin by deploying a minimal infrastructure setup and gradually add more components and functionality.
Keep your code modular and reusable: Use modules to encapsulate and abstract common configurations or resource types.
Use variables and parameters: Leverage input variables to make your code more flexible and reusable.
Automate your workflow: Consider using CI/CD pipelines or automation tools to streamline your infrastructure provisioning process.

![image](https://github.com/LondheShubham153/TerraWeek/assets/67154990/b9930af0-54ab-4297-becf-aa84eb678c03)
![image](https://github.com/LondheShubham153/TerraWeek/assets/67154990/dfb9ac75-5488-4913-9389-4d6842733eda)
![image](https://github.com/LondheShubham153/TerraWeek/assets/67154990/5c3f64b9-efa2-443c-802b-e76a8bd15314)
![image](https://github.com/LondheShubham153/TerraWeek/assets/67154990/c619ffa6-cc1d-41d7-99d3-5664a421b546)