r/Terraform

Open Source, local AWS deployments - looking for feedback
▲ 25 r/Terraform+4 crossposts

Open Source, local AWS deployments - looking for feedback

Hey! I've been working for a very early stage startup called Mulga. We've been continuously working on our flagship product, Spinifex, which recreates core AWS services such as EC2, EBS and S3, locally (and even air-gapped if you want/need!).

Have a poke around our GitHub: https://github.com/mulgadc/spinifex

Feedback/criticism welcome!

u/LegitimateWolf6611 — 1 day ago

CloudCostTree can now auto-apply the safe FinOps recommendations it finds (--optimize)

New feature I shipped: --optimize takes the FinOps recommendations CloudCostTree already shows you and applies the ones that are safe to apply mechanically, no architecture or availability trade-off involved.

What gets auto-applied: gp2 to gp3 (EBS and RDS storage), provisioned IOPS to gp3 where it's not needed, previous-generation instance types to current-gen, RDS backup retention capped at 30 days, non-production resources rescheduled to business hours. On Pro with --with-usage, also confirmed orphaned EBS volumes and snapshots, empty target-group load balancers, and unassociated Elastic IPs.

What it will never auto-apply: x86 to Graviton (changes CPU architecture), removing Multi-AZ (changes your failover story), switching DynamoDB from provisioned to on-demand (compares against an assumed baseline capacity, not your table's real traffic, so it needs you to confirm real utilization first), CPU or memory based right-sizing from real usage data (measured but still inferred). Those stay as suggestions you confirm yourself.

Screenshots show the flow in the VS Code extension against a small test file: the two safe recommendations it found (save $7.01/mo switching off a previous-gen instance, $4.00/mo off a gp2 volume), picking which to apply, and the result, total down from $87.97 to $76.97/mo and the Cost Score up from B to 88.

Free tier, and the same thing works from the CLI with cloudcosttree analyze --optimize. https://cloudcosttree.com

u/Independent-Ease-609 — 2 days ago
▲ 9 r/Terraform+3 crossposts

Short term paid projects

Hey folks,
I wonder if you know platforms (not upwork) where I can find short term projects to work on and get paid.
I’m on a parental leave since a few months now and I need to work a bit (4 hours a day maximum).
I’m an SRE with +6 years of experience, I worked on high availability platform, CI/CD, observability, etc.

reddit.com
u/ikraaaaa — 3 days ago
▲ 3 r/Terraform+1 crossposts

I have been building a Non Human Identity Risk Analyzer for AWS

Been building this on nights/weekends for the past couple months. Background: I've spent 3.5 years doing PAM engineering (CyberArk), so this is basically me translating that into cloud-native.

The problem I kept running into reading about this space: every tool I looked at (Cloudsplaining, Prowler, even AWS's own IAM Access Analyzer) stops at detection. They'll tell you a role has a wildcard action or an unused key, and then... that's it. You get a report. Somebody has to go fix it by hand. Even the free/open-source ones don't touch remediation.

So I built NHI Risk Analyzer — discovers IAM users/roles/groups, runs it against a set of detection rules (grounded in Rhino Security Labs' documented privilege escalation paths + Cloudsplaining's policy analysis methodology + CIS benchmark stuff for credential hygiene), and then actually does something about what it finds:

  • Wildcard/admin-equivalent policies and privilege escalation paths get a Permissions Boundary slapped on them — containment without touching the underlying policy, so it doesn't risk breaking whatever the identity legitimately needs to do
  • Stale/unused access keys get deactivated (never deleted — always reversible)
  • Everything's gated by an exemption file (nhi-ignore.yaml) so break-glass/deployment identities never get auto-remediated
  • Three modes: scan only, dry-run (shows what it would do), and live remediation

Architecture is offline-first — it snapshots the AWS account state to JSON once, then evaluates all the risk rules against that snapshot with zero live API calls. Makes the whole rule engine testable and fast (unit tests run in under a millisecond) and means findings are reproducible against an exact point in time instead of drifting mid-scan.

Tested it against synthetic "canary" identities I built specifically to safely trigger the containment logic without touching anything real, then ran it live against a real (throwaway) AWS account — 57 findings, 24 auto-remediated, 0 failures.

Still rough in places — trust policy analysis isn't built yet, surgical wildcard-narrowing (vs. the current boundary-containment approach) is next, and it's AWS-only for now. Not trying to oversell it, it's a v1. But the core loop — detect, decide safely, act — actually works end to end, which is the part I couldn't find anywhere else at this tier.

Repo: In comments

Would genuinely appreciate anyone poking holes in the detection logic or the remediation safety assumptions — that's exactly the kind of feedback I'm here for.

reddit.com
u/Spite-Unable — 3 days ago

How far would you trust generated Terraform before reviewing it manually?

I’ve been working on Terraform generation for multi-cloud architectures and I keep coming back to the same problem:
Generating valid HCL is the easy part.
Generating infrastructure I would actually trust is much harder.
Right now I’m looking at the generated stack in several layers:
provider-specific Terraform resources
variables and outputs
remote state configuration
networking and IAM
security validation
cost estimation
documentation explaining the architecture
The difficult part isn’t generating those files. It’s deciding what should be automatically generated versus what should require an engineer to explicitly approve it.
For example, I wouldn’t want a generator silently making important IAM, networking or state decisions just because the Terraform validates successfully.
So for people running Terraform in production:
What would you need to see before you’d trust generated Terraform enough to actually run terraform plan on it?
Tests? Checkov/tfsec? Policy-as-code? A generated architecture diagram? Cost diff? Something else?

reddit.com
u/faouzi_mahmoudi — 3 days ago

How do I import / codify existing cloud resources into Terraform at scale?

Inherited an AWS account with hundreds of resources never in code. Manual terraform import at this scale is brutal, writing HCL by hand, then reconciling state one resource at a time.
A few things I've looked at:
AI-assisted codification (tools that generate HCL from discovery scans)
Scripted wrappers around terraform import for bulk jobs
How much time did automated codification actually save people who've tried it?

reddit.com
u/Foreign_Cat8783 — 3 days ago

Version skew and lock contention are separate problems when roots share a module

We have a networking module that about half a dozen root modules consume, and most weeks more than one change is in flight against it. Those changes collide in two unrelated ways, which took us a while to notice.

Each root has its own state, so across roots there is no lock contention. You get version skew instead. A module bump is one change per consumer, each with its own plan and apply, so two versions of the module are live in production until the rollout finishes.

Contention only shows up when two changes hit the same root. Terraform locks state for all operations that could write state, and if state locking fails it does not continue. None of the documented escapes fix it. A lock timeout only retries before erroring, running with -lock=false is documented as dangerous when others might concurrently run commands against the same workspace, and force-unlock warns that unlocking a lock someone else holds could cause multiple writers.

Authoring parallelizes fine. Two consumer bumps can be drafted and checked at once, and lately I have had verdent running on both, one agent writing while another verifies. Ordering the applies is still manual.

Review drift sits under both. The plan docs note that other changes made to the target system in the meantime might cause the final effect to differ from what an earlier speculative plan indicated, and a saved plan handed to apply runs without prompting for confirmation.

Curious how other teams order rollouts. Per environment sequencing, a CI queue keyed on the state, or calling it out in chat. We do the last one.

reddit.com
u/Moist-Life3962 — 4 days ago
▲ 0 r/Terraform+2 crossposts

Ran the same file through my cost tool twice, static vs real AWS data. Score dropped from A to C and I didn't expect that

I'm building CloudCostTree (estimates AWS costs from Terraform/CloudFormation, before you apply anything). A while back I added an opt-in flag that, instead of guessing, actually pulls real data from your AWS account: live Spot pricing, real CloudWatch CPU usage, volumes and IPs confirmed as orphaned. I'd tested it on its own, but never put the two reports side by side until today.

Same file, same moment, nothing changed in between:

Without real account data: 1 generic finding ("Graviton usually saves 20-40%"), score A (97/100).

With real data: 7 findings, actual numbers. Spot price right now is literally $0.0082/hr vs $0.0208/hr on-demand, one instance averaging 3.4% CPU over 14 days, a volume and an Elastic IP confirmed orphaned via the API. Score C (76/100).

The infra didn't get worse. What changed is whether the tool was actually allowed to look. Stuck with me a bit: a clean static report and a clean account aren't the same claim, and it's easy to mix them up until something forces the comparison.

u/Independent-Ease-609 — 5 days ago
▲ 12 r/Terraform+6 crossposts

BigConfig is now Colors

I have renamed BigConfig to Colors. The goal is still to fix DevOps but it was such big improvement over the original version that I have decided to change name. The gist is that you give your agent new skills to create a personal Paas, a K8s cluster, or any piece of infrastructure. The desired state is in YML and every package contains code in Clojure, Python, and TypeScript to reconcile your infrastructure with the desired state. Every codebase has also a SKILL.md so that you can delegate everything to your agent. Any feedback is welcome.

https://www.getcolors.ai

u/amiorin — 5 days ago

tfpolicy: A declarative policy workflow built for Terraform

HashiCorp has introduced tfpolicy, a new HCL-based policy-as-code framework for Terraform, now available in public beta within HCP Terraform. It is designed to simplify and modernize infrastructure governance by integrating policy creation and enforcement directly into Terraform workflows, eliminating the need for separate tools and languages.

Terraform policy is a declarative, HCL-based policy as code framework that enables platform teams to define and enforce policies using a familiar language while introducing new governance capabilities designed for modern infrastructure systems.

hashicorp.com
u/nilukush — 6 days ago

I built TellIaC: An open-source IaC engine where cloud infrastructure is written in plain English

*Disclaimer: I am the open-source author/creator of TellIaC.*

Hey r/SideProject !

After years of managing multi-cloud infrastructure across AWS, Azure, GCP, and K8s in Terraform HCL and YAML, I noticed that team architecture discussions always happen in plain English ("We need an AWS VPC with 2 subnets connected to an EC2 instance"), but converting that into code takes hours of boilerplate.

So I built **TellIaC** (Human Infrastructure as Code).

### ⚡ How it works

You write your cloud setup as natural English sentences:

Use provider "aws" region "us-east-1" for environment "production".

Create 1 "aws_vpc" resource named "prod_vpc" with cidr_block "10.100.0.0/16".

Create 1 "aws_subnet" resource named "prod_subnet" with cidr_block "10.100.1.0/24", vpc "prod_vpc".

Create 2 "aws_instance" resource named "web_app" with instance_type "t3.micro", vpc "prod_vpc", subnet "prod_subnet".

### 🛠️ Key Features

  1. Zero Lock-in (`telliac export`): Converts plain English into standard Terraform HCL (`main.tf`, `variables.tf`, `outputs.tf`).

  2. Cloud Cost Estimator (`telliac cost`): Shows a dollar breakdown of monthly spend before running apply.

  3. Security Linter (`telliac lint`): Catches open CIDRs (`0.0.0.0/0`), plaintext secrets, and unencrypted buckets.

  4. Standalone Binary: Single executables for Windows & Linux with zero Python or dependency installation needed.

I’ve shared the live playground and download links in the comments below. I’d love your feedback!

reddit.com
u/Ok_Promotion6253 — 6 days ago

How Valuable is the "Terraform Authoring and Operations Professional" certification?

I just acquired my Terraform Associate (004) certification a few weeks ago, and I already have my GCP PCA cert, and I would like to continue along the Iac path, then head into Kubernetes soon.

I felt like the test was a breeze to me, being that I've been using Terraform for at least 2 years now with GCP and AWS.

Do any of you think that the "Terraform Authoring and Operation Professional" is valuable and sought out by employers, or is it a waste of my time?

reddit.com
u/Affectionate-Ruin874 — 8 days ago

IaC security scanning caught something last week that 3 reviewers missed.

An assistant wrote a chunk of our Terraform. It read clean, been approved and it had a security group open to the world on a port that had no reason to be public. The diff looked fine, the person who prompted it did not clock the CIDR and neither did the reviewers.

Luckily, a pre apply scan caught it. The config was syntactically perfect and quietly wrong, which is the exact thing eyes slide over.

What are you gating on before apply, is it advisory, does it really block? Advisory did nothing for us until we made it a hard gate.

reddit.com
u/Remarkable-Bet9533 — 8 days ago
▲ 3 r/Terraform+3 crossposts

I couldn't find production-style EC2 interview questions, so I created my own

This is one of the most common interview questions:

>

Most people answer:

>

In reality, interviewers usually want to understand how you troubleshoot, not whether you know a single command.

That's what inspired me to create a production-focused EC2 interview handbook.

Every question includes:

  • Production scenario
  • Interview answer
  • AWS CLI
  • Terraform
  • Best practices
  • Follow-up questions

I've published the first article today and open-sourced the full 20-question handbook on GitHub.

I'd appreciate any feedback from people who've interviewed AWS engineers or recently gone through AWS interviews.

GitHub: https://github.com/ranashivam/platform-engineering-interview-handbook/blob/main/AWS/README.md

Post is awaiting moderator approval.

u/ShivamCloudDevOps — 6 days ago

Implementing OPA with Terraform the Easy Way

A few days ago, I was pleasantly surprised to discover that TFLint has a ruleset plugin for writing custom rules in Rego! So far, so good.

rosesecurity.dev
u/RoseSec_ — 8 days ago
▲ 8 r/Terraform+5 crossposts

Automating the boring parts of Databricks ops (failed runs, stuck jobs, stale tables, idle warehouses)

Founder here, so grain of salt, but I think this is genuinely useful for anyone running production pipelines on Databricks.

Before building a startup I was a SWE at a cloud networking company where most of our "data ops" was repetitive manual work. We had a nightly ingestion job that would fail on its last task, so someone would rerun the whole thing from scratch and throw away hours of successful work, and jobs that normally finished in twenty minutes would sometimes run for three hours before anyone noticed because nothing had technically "failed". Meanwhile our data platform team would spend a big chunk of their time fielding requests for backfills, job reruns, and warehouse starts in Slack. And I've lurked here long enough to know it wasn't just us :)

We built Kestrel to codify these painful manual steps as workflows. You describe what you want (e.g. "when a job run fails, pull the failed task's output, check whether the failure looks transient, and repair the run after on-call approves in Slack, so only the failed tasks rerun") and Kestrel builds the workflow for you. Once configured it runs deterministically, so you're not trusting an LLM to improvise against your prod lakehouse at runtime.

Databricks doesn't have tenant-wide outbound webhooks (job notifications are configured per job), so we poll the REST API on a configurable cadence. Things like failed runs, runs exceeding a duration, unexpected cluster terminations, and DLT update failures act as workflow triggers. You can pause anything destructive or expensive - e.g. repairing runs, full DLT refreshes, terminating clusters - at an approval gate so the workflow only continues after someone signs off.

Teams use Kestrel to automate Databricks incident response, repair failed runs, run CI/CD checks (e.g. kicking off an integration test job when a PR opens), run data freshness and row-count checks, recover failed DLT pipeline updates, and stop idle warehouses and clusters.

I put together a few common Databricks workflows so you can poke around: https://demo.usekestrel.ai/workflows/new?simulated=1&bundle=LV9vzHEHaI

Happy to answer questions, and feedback is welcome!

Demo environment: https://demo.usekestrel.ai

Website: https://usekestrel.ai

Docs: https://docs.usekestrel.ai/workflows/create-workflows / https://docs.usekestrel.ai/integrations/databricks

u/namarv — 7 days ago

What is Firefly ai

TL;DR from what I found: agentic cloud automation platform. Does drift detection, auto-codifies unmanaged resources into IaC, and recently added disaster-recovery-as-code. Firefly ai takes a different approach with estate-wide governance and inventory layer, sitting on top of whatever runs your Terraform to provide visibility and compliance across everything running in your cloud. Anyone running it, how's the "cloud system of record" pitch holding up day to day?

reddit.com
u/Jolly-Arrival9921 — 7 days ago
▲ 8 r/Terraform+1 crossposts

Share Tips & Hacks

If you are someone who's advanced with Terraform/Terragrunt and you know any tips, hacks or tools that works with them that you wished you knew before in the beggining of you career share it here.

reddit.com
u/adil_arrad — 10 days ago
▲ 13 r/Terraform+6 crossposts

Daily DevOps Interview Questions - Day 1: These 3 scenarios trip up most freshers. Can you solve them?

Hey r/devopsjobs

I've been mentoring folks preparing for DevOps/Platform Engineering roles and noticed most "interview prep" content is just theory - "What is Kubernetes?""Explain CI/CD".

Real interviews at product companies are scenario-based. They give you a situation and expect you to debug it.

So I'm starting a daily series of real-world scenarios. These are beginner-friendly but practical - the kind you'll actually face on the job.

Day 1 - 26 July 2026

Scenario 1: The Restarting Container

You just joined as a junior DevOps engineer. A developer reports:

>

You run docker ps and see: Restarting (1) 30 seconds ago

Question: What's your first debugging command? What are you looking for? What's your tracing path?

Scenario 2: The Registry Rejection

Your Jenkins pipeline suddenly fails at "Push to Registry" with:

denied: requested access to the resource is denied

Same pipeline worked yesterday. No code changes.

Question: What are the 2 most likely causes? How would you verify each?

Scenario 3: The Pending Pod

You deployed a new microservice to Kubernetes. Pod stuck in Pending for 10 minutes.

kubectl describe pod shows:

0/3 nodes are available: 3 Insufficient cpu.

Question: What does this mean? What are your 2 options to fix it without adding new nodes?

Drop your answers in the comments! I'll post the solutions tomorrow with explanations.

If this is useful, I'll keep the series going daily. Let me know what topics you'd like covered - Linux, Docker, K8s, Jenkins, Terraform, Ansible, Monitoring - all fair game.

If you want to follow complete prep path : https://youtube.com/playlist?list=PLqOrZmpwbWUKRQTrFpqAKhChaTq0l5bIw&si=XSgYUZpHC9cuJnh-

u/BookkeeperAutomatic — 9 days ago