Terraform AWS EKS Provisioning
terraform fmt -check
The full learning guide is on this page. Open the repository files only when a step asks you to inspect code, fork the project, or download raw assets.
Project Guide
Section titled โProject Guideโ๐๐ถ๐ต๐ฐ๐ฎ๐ข๐ต๐ฆ ๐๐ณ๐ฐ๐ท๐ช๐ด๐ช๐ฐ๐ฏ๐ช๐ฏ๐จ ๐ฐ๐ง ๐๐ถ๐ฃ๐ฆ๐ณ๐ฏ๐ฆ๐ต๐ฆ๐ด ๐๐ญ๐ถ๐ด๐ต๐ฆ๐ณ๐ด ๐ฐ๐ฏ ๐๐๐ ๐ธ๐ช๐ต๐ฉ ๐๐ฆ๐ณ๐ณ๐ข๐ง๐ฐ๐ณ๐ฎ๐ก๏ธ 2026 DevSecOps Enhancements (What You Will Learn)
Section titled โ๐ก๏ธ 2026 DevSecOps Enhancements (What You Will Learn)โThis repository contains raw Terraform code for EKS provisioning. In a 2026 DevSecOps context, raw IaC execution is prohibited without the following guardrails:
- IaC Static Analysis: Before
terraform applyis ever run, the code must be scanned by tools like tfsec, kics, or checkov within the CI pipeline to ensure the EKS cluster isnโt provisioned with public API endpoints or unencrypted EBS volumes. - OpenTofu Migration: Due to Terraformโs licensing changes, 2026 DevSecOps standards heavily favor OpenTofu as the open-source, drop-in replacement for Terraform to maintain vendor neutrality and community-driven governance.
Architectural Design
Section titled โArchitectural Designโ
For a text-based architecture diagram, deploy/destroy workflow, security notes, run validation, tagging guidance, and cost controls, see docs/portfolio-runbook.md.
Deploy Notes
Section titled โDeploy NotesโThe public EKS API allow list is controlled by cluster_endpoint_public_access_cidrs. The default is the documentation CIDR 203.0.113.0/24; replace it with your current operator/admin IP before planning:
cp terraform.tfvars.example terraform.tfvarsterraform plan -var-file=terraform.tfvarsThe Kubernetes sample no longer stores database passwords directly in deployment.yaml. Create a real secret from the template before applying the workload:
cp db-secret.template.yaml db-secret.yaml# edit db-secret.yaml locally, then:kubectl apply -f db-secret.yamlkubectl apply -f deployment.yaml -f service.yamlThe deployment includes HTTP/TCP probes, resource requests/limits, and basic pod/container security contexts. For production, split MySQL into its own StatefulSet or use a managed database; the sidecar-style MySQL container remains here only to keep the tutorial self-contained.
Thanks for watching
Section titled โThanks for watchingโHarshhaa Vardhan Reddy -- Devops Engineer