Skip to content

A reference directory populated with terraform scripts to create, change and manage infrastructure. Credits to many amazing coders whom have made this possible.

License

Notifications You must be signed in to change notification settings

immaixq/terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Terraform

A reference repo populated with Terraform scripts to create, change, and manage infrastructure. Credits to many amazing coders who have made this possible.

What is Terraform?

Terraform is a tool that helps define and manage infrastructure (such as servers, databases, and networks) using code instead of manual processes. It allows for convenient changes and management of infrastructure across multiple cloud providers.

Key Benefits of Terraform

  • Infrastructure as Code (IaC): Define your infrastructure using declarative configuration files, making it easy to version, reuse, and share.
  • Automation: Automate the provisioning and management of infrastructure, reducing the risk of human error and saving time.
  • Multi-Cloud Support: Manage resources across various cloud providers (e.g., AWS, GCP, Azure) using a unified workflow.
  • State Management: Terraform keeps track of your infrastructure state, allowing you to see changes over time and manage your resources effectively.
  • Collaboration: Use version control systems (VCS) to collaborate on infrastructure configurations, enabling teams to work together seamlessly.

Terraform Repo Structure

Directory Name Uses
create_n_instances Create multiple EC2 instances on AWS, used for distributed training.
gcp_examples Contains examples and reusable modules for managing resources on Google Cloud Platform (GCP).

Getting Started with Terraform

Install Terraform: Download and install Terraform from the official website.

AWS Examples

  • create_n_instances: This example demonstrates how to create multiple EC2 instances on AWS for distributed training purposes. It includes the necessary Terraform configuration files (main.tf, variable.tf, ddp.tfvars) to provision the instances.

GCP Examples

  • Environments: The environments directory contains configurations for different environments (e.g., development, staging, production).
  • Modules: The modules directory houses reusable Terraform modules that encapsulate common GCP resources.

Best Practices

  • Version Control: Use Git or other version control systems to manage changes to your Terraform configurations.
  • State Management: Consider using remote state storage (e.g., Terraform Cloud, AWS S3) for better collaboration and state management.
  • Modular Design: Break down your Terraform configurations into reusable modules for clarity and maintainability.

Contributing

Contributions are welcome! If you have improvements or additional scripts, please feel free to submit a pull request. For more details, refer to the CONTRIBUTING.md file.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Thanks to the contributors and the Terraform community for their valuable resources and support.

About

A reference directory populated with terraform scripts to create, change and manage infrastructure. Credits to many amazing coders whom have made this possible.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages