How londheshubham153/terraform-for-devops works
This is a hands-on Terraform learning repository, not a single application. Its main workflow is for an engineer to provide configuration and variables, then use Terraform to plan or apply AWS infrastructure and inspect outputs. Separate examples cover a reusable multi-environment module, an EKS/VPC deployment, and modern Terraform language and lifecycle features. Relationships below follow the README; source excerpts were not available to verify finer-grained wiring.
Main entry points: ec2.tf EC2 and security · main.tf Environment composition · vpc.tf VPC networking · eks.tf EKS cluster
Components 29
Core AWS
- Provider and versions
terraform.tf - Validated inputs
variables.tf - EC2 and security
ec2.tf - Instance bootstrap
script.sh - S3 bucket
s3.tf - DynamoDB table
dynamodb.tf - Infrastructure outputs
outputs.tf
EKS Deployment
- EKS provider and locals
eks/provider.tf - VPC networking
eks/vpc.tf - EKS cluster
eks/eks.tf - EKS outputs
eks/outputs.tf
Reusable Module
- Environment composition
aws_module_project/main.tf - Module provider config
aws_module_project/providers.tf - Module inputs
aws_module_project/my_app_infra_module/variables.tf - Module EC2 servers
aws_module_project/my_app_infra_module/my_server.tf - Module S3 bucket
aws_module_project/my_app_infra_module/my_bucket.tf - Module DynamoDB table
aws_module_project/my_app_infra_module/my_table.tf - Module outputs
aws_module_project/my_app_infra_module/my_outputs.tf
Terraform Features
- Iteration examples
examples/for_each.tf - Validation examples
examples/validation.tf - Lifecycle examples
examples/lifecycle.tf - Refactoring examples
examples/moved.tf - Import examples
examples/import.tf - Check examples
examples/check.tf - Safe removal examples
examples/removed.tf - Native test example
examples/terraform_test/main.tf
Other components
- Engineer
- Terraform CLI
- AWS
Connections 28
- Engineer → Terraform CLI: runs commands
- Terraform CLI → Provider and versions: reads configuration
- Validated inputs → EC2 and security: configures
- EC2 and security → Instance bootstrap: uses user data
- Terraform CLI → AWS: plans and applies
- EC2 and security → AWS: defines resources
- S3 bucket → AWS: defines resources
- DynamoDB table → AWS: defines resources
- Terraform CLI → Infrastructure outputs: reports values
- Terraform CLI → EKS provider and locals: reads configuration
- VPC networking → AWS: defines networking
- EKS cluster → AWS: defines cluster
- VPC networking → EKS cluster: provides networking
- Terraform CLI → EKS outputs: reports values
- Terraform CLI → Environment composition: reads configuration
- Environment composition → Module inputs: instantiates module
- Environment composition → Module provider config: uses provider config
- Module EC2 servers → AWS: defines resources
- Module S3 bucket → AWS: defines resources
- Module DynamoDB table → AWS: defines resources
- Terraform CLI → Iteration examples: evaluates example
- Terraform CLI → Validation examples: evaluates example
- Terraform CLI → Lifecycle examples: evaluates example
- Terraform CLI → Refactoring examples: evaluates example
- Terraform CLI → Import examples: evaluates example
- Terraform CLI → Check examples: evaluates example
- Terraform CLI → Safe removal examples: evaluates example
- Terraform CLI → Native test example: evaluates example