Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dejain4/terra-te-stack
Building and Securing Infrastructure-as-Code on DigitalOcean Cloud with Terraform, utilizing Three-Tier Architecture
https://github.com/dejain4/terra-te-stack
terraform terraform-module terraform-modules
Last synced: 5 days ago
JSON representation
Building and Securing Infrastructure-as-Code on DigitalOcean Cloud with Terraform, utilizing Three-Tier Architecture
- Host: GitHub
- URL: https://github.com/dejain4/terra-te-stack
- Owner: dejain4
- License: mit
- Created: 2023-06-17T06:58:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-06-18T05:17:14.000Z (over 1 year ago)
- Last Synced: 2024-11-02T22:42:11.440Z (about 2 months ago)
- Topics: terraform, terraform-module, terraform-modules
- Language: HCL
- Homepage: https://dejain4.github.io/terra-te-stack/
- Size: 17.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terra-te-stack
Building and Securing Infrastructure-as-Code on DigitalOcean Cloud with Terraform, utilizing Three-Tier Architecture[![Website](https://github.com/dejain4/terra-te-stack/actions/workflows/jekyll-gh-pages.yml/badge.svg)](https://github.com/dejain4/terra-te-stack/actions/workflows/jekyll-gh-pages.yml)
## Description:
The terra-te-stack project is a comprehensive implementation of Infrastructure-as-Code (IaC) using Terraform, aimed at building and securing a three-tier architecture. This repository provides a standardized and efficient approach to deploy and manage the infrastructure required for modern web applications.## Key Features:
- Three-Tier Architecture: Benefit from a well-organized infrastructure design consisting of presentation, application, and data tiers, ensuring scalability, separation of concerns, and maintainability.
- Terraform-Based Deployment: Leverage the power of Terraform to declaratively define and provision infrastructure resources across popular cloud platforms.
- Security Best Practices: Implement robust security measures by integrating industry-standard practices such as network isolation, access controls, encryption, and monitoring into the infrastructure design.
- Modular and Reusable Modules: Utilize modular design patterns and reusable Terraform modules to promote code reusability, reduce duplication, and simplify infrastructure management.
- Scalability and Flexibility: Effortlessly scale resources and adapt the infrastructure to changing needs, accommodating growth and evolving application requirements.
- Documentation and Examples: Find comprehensive documentation, detailed examples, and step-by-step guides to help you understand and effectively utilize the terra-te-stack project.## Step by Step Guide
1. Project directory structure as described:
```
- terra-te-stack/
- main.tf
- provider.tf
- environments/
- dev/
- compute.tfvars
- modules/
- compute/
- main.tf
- variables.tf
- outputs.tf
- storage/
- main.tf
- variables.tf
- outputs.tf
```2. Set the environment variable with your DigitalOcean token in your shell or terminal session:
```shell
export TF_VAR_digitalocean_token="your-digitalocean-token"
```3. Run the following Terraform commands from the `terra-te-stack` directory:
- `terraform init` (initialize Terraform in the root directory)
- `terraform validate` (validate the configuration files)
- `terraform plan -var-file=environments/dev/compute.tfvars -var-file=environments/dev/storage.tfvars` (preview the changes to be made)
- `terraform apply -var-file=environments/dev/compute.tfvars -var-file=environments/dev/storage.tfvars` (apply the changes)