https://github.com/574n13y/terra-stack
Building and Securing Infrastructure-as-Code on DigitalOcean Cloud with Terraform, utilizing Three-Tier Architecture
https://github.com/574n13y/terra-stack
digitalocean github-actions terraform terraform-modules
Last synced: about 2 months ago
JSON representation
Building and Securing Infrastructure-as-Code on DigitalOcean Cloud with Terraform, utilizing Three-Tier Architecture
- Host: GitHub
- URL: https://github.com/574n13y/terra-stack
- Owner: 574n13y
- License: other
- Created: 2023-12-26T09:55:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-31T19:31:19.000Z (over 1 year ago)
- Last Synced: 2025-02-13T15:26:45.959Z (4 months ago)
- Topics: digitalocean, github-actions, terraform, terraform-modules
- Language: HCL
- Homepage: https://574n13y.github.io/terra-stack/
- Size: 20.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terra-stack
Building and Securing Infrastructure-as-Code on DigitalOcean Cloud with Terraform, utilizing Three-Tier Architecture[](https://github.com/574n13y/terra-stack/actions/workflows/jekyll-gh-pages.yml)
## Description:
The terra-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-stack project.## Step by Step Guide
1. Project directory structure as described:
```
- terra-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-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)- [Github Repo](https://github.com/574n13y/terra-stack){:target="_blank"}
*** ***