terraform-data-infrastructure

Provision secure AWS data infrastructure with Terraform for S3, IAM, MSK, and Kubernetes.

14|1|Updated May 5, 2026
One-click install
npx skills add https://github.com/ivanshamaev/de-agent-skills --skill terraform-data-infrastructure
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: terraform-data-infrastructure
Source: https://github.com/ivanshamaev/de-agent-skills/tree/main/skills/terraform_data
Command: npx skills add https://github.com/ivanshamaev/de-agent-skills --skill terraform-data-infrastructure

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you provision and harden data-infrastructure components reliably so your data platform can run in AWS (or S3-compatible MinIO) with correct security, encryption, and repeatable environments.

Core Features & Use Cases

  • Data lake buckets (S3/MinIO): Create versioned buckets with lifecycle transitions, SSE-KMS (or SSE-S3), and restrictive bucket policies.
  • Secure IAM for data workloads: Generate least-privilege IAM roles for Spark/Airflow and configure IRSA on EKS using web identity.
  • Streaming & orchestration infrastructure: Stand up MSK/Kafka clusters with encryption and deploy data tools on Kubernetes via Helm releases (e.g., Airflow + Spark History Server).
  • Production-ready Terraform ops: Use S3 remote state with DynamoDB locking or Terraform Cloud, plus GitHub Actions CI/CD for plan/apply and optional Terragrunt DRY layouts.

Quick Start

Use the terraform-data-infrastructure skill to generate a Terraform plan that creates an S3 data lake bucket with SSE-KMS, configures least-privilege IAM for Spark and Airflow (including IRSA on EKS), and deploys Airflow and Spark History Server using Helm.

Frequently Asked Questions about terraform-data-infrastructure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up secure S3 data lake buckets with Terraform, including encryption and lifecycle policies?

You provision versioned S3 data lake buckets with lifecycle transitions, SSE-KMS encryption, and restrictive bucket policies using structured Terraform modules. This applies to repeatable dev, staging, and prod environments with remote state and state locking.

How do I configure least-privilege IAM roles for Spark and Airflow workloads on EKS?

You configure least-privilege IAM roles for Spark and Airflow workloads using IAM IRSA (Identity and Resource Access) with web identity on EKS. Terraform generates the roles to enforce secure access patterns for your data platform.

Can I deploy Airflow and Spark History Server on Kubernetes using Terraform?

Yes, you deploy Airflow and Spark History Server on Kubernetes via Terraform-managed Helm releases. This stands up streaming and orchestration infrastructure alongside MSK/Kafka clusters with encryption for your data workloads.

What is the best way to manage Terraform state and reduce configuration duplication across multiple environments?

Use S3 remote state with DynamoDB locking or Terraform Cloud to manage state securely. You can apply optional Terragrunt DRY layouts to reduce configuration duplication while enforcing security controls across repeatable environments.

Does this Terraform approach support MinIO as an alternative to AWS S3 for data lakes?

Yes, the Terraform data infrastructure provisioning supports S3-compatible MinIO for data lakes. You can create versioned buckets with appropriate lifecycle and encryption settings for environments outside of native AWS S3.

How do I automate Terraform plan and apply workflows for data infrastructure?

You automate Terraform plan and apply workflows using GitHub Actions CI/CD pipelines. This ensures repeatable and secure deployments for your data infrastructure components, including S3 buckets, IAM roles, and Kubernetes Helm releases.