HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
briefercloud
layerform
Go2023–2023
briefercloud / layerform · Archived

layerform

Layerform helps engineers create reusable environment stacks using plain .tf files. Ideal for multiple "staging" environments.

3Distinct people
9Mentions
0Explicit recommenders
1.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Layerform helps engineers create reusable environment stacks using plain .tf files. Ideal for multiple "staging" environments.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day9 dated mentions

Observed mentions: 2023-08-11 16:42:16 UTC to 2023-09-04 03:03:37 UTC.

0122023-08-11 00:00:00 UTC to 2023-08-12 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsAug 112023-08-12 00:00:00 UTC to 2023-08-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-13 00:00:00 UTC to 2023-08-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-14 00:00:00 UTC to 2023-08-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-15 00:00:00 UTC to 2023-08-16 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2023-08-16 00:00:00 UTC to 2023-08-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-17 00:00:00 UTC to 2023-08-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-18 00:00:00 UTC to 2023-08-19 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-08-19 00:00:00 UTC to 2023-08-20 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-08-20 00:00:00 UTC to 2023-08-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-21 00:00:00 UTC to 2023-08-22 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-08-22 00:00:00 UTC to 2023-08-23 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-08-23 00:00:00 UTC to 2023-08-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 232023-08-24 00:00:00 UTC to 2023-08-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-25 00:00:00 UTC to 2023-08-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-26 00:00:00 UTC to 2023-08-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-27 00:00:00 UTC to 2023-08-28 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-08-28 00:00:00 UTC to 2023-08-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-29 00:00:00 UTC to 2023-08-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-30 00:00:00 UTC to 2023-08-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-31 00:00:00 UTC to 2023-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-01 00:00:00 UTC to 2023-09-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-02 00:00:00 UTC to 2023-09-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-03 00:00:00 UTC to 2023-09-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-04 00:00:00 UTC to 2023-09-05 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsSep 4

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Aug 112023-08-11 00:00:00 UTC2023-08-12 00:00:00 UTC110
Aug 122023-08-12 00:00:00 UTC2023-08-13 00:00:00 UTC000
Aug 132023-08-13 00:00:00 UTC2023-08-14 00:00:00 UTC000
Aug 142023-08-14 00:00:00 UTC2023-08-15 00:00:00 UTC000
Aug 152023-08-15 00:00:00 UTC2023-08-16 00:00:00 UTC211
Aug 162023-08-16 00:00:00 UTC2023-08-17 00:00:00 UTC000
Aug 172023-08-17 00:00:00 UTC2023-08-18 00:00:00 UTC000
Aug 182023-08-18 00:00:00 UTC2023-08-19 00:00:00 UTC110
Aug 192023-08-19 00:00:00 UTC2023-08-20 00:00:00 UTC110
Aug 202023-08-20 00:00:00 UTC2023-08-21 00:00:00 UTC000
Aug 212023-08-21 00:00:00 UTC2023-08-22 00:00:00 UTC110
Aug 222023-08-22 00:00:00 UTC2023-08-23 00:00:00 UTC110
Aug 232023-08-23 00:00:00 UTC2023-08-24 00:00:00 UTC000
Aug 242023-08-24 00:00:00 UTC2023-08-25 00:00:00 UTC000
Aug 252023-08-25 00:00:00 UTC2023-08-26 00:00:00 UTC000
Aug 262023-08-26 00:00:00 UTC2023-08-27 00:00:00 UTC000
Aug 272023-08-27 00:00:00 UTC2023-08-28 00:00:00 UTC110
Aug 282023-08-28 00:00:00 UTC2023-08-29 00:00:00 UTC000
Aug 292023-08-29 00:00:00 UTC2023-08-30 00:00:00 UTC000
Aug 302023-08-30 00:00:00 UTC2023-08-31 00:00:00 UTC000
Aug 312023-08-31 00:00:00 UTC2023-09-01 00:00:00 UTC000
Sep 12023-09-01 00:00:00 UTC2023-09-02 00:00:00 UTC000
Sep 22023-09-02 00:00:00 UTC2023-09-03 00:00:00 UTC000
Sep 32023-09-03 00:00:00 UTC2023-09-04 00:00:00 UTC000
Sep 42023-09-04 00:00:00 UTC2023-09-05 00:00:00 UTC110

What Hacker News says

9 sources
This looks really cool - and as a side note, your diagrams on https://github.com/ergomake/layerform are super clear! Agree that "preview apps are hard" is a massive bottleneck - especially when specs are evolving and a feature may spend some time being QA'd by technical and non-technical team members before being ready to land. Not to mention that processes for securely populating seed data from recent production data are highly domain-specific! We've built our own system for preview apps on k8s, with a complex Github action that tries to encapsulate everything we can into a set of helm charts that are installed into a dedicated namespace for all the databases and services for that specific PR. Of course, this can only go so far, and doesn't easily allow for tracking assets outside of k8s. But given that we can keep many of those shared,
Read the rest
we've in part stayed away from Terraform due to adding yet another learning curve - but also for lack of tooling for this shared-some-things-but-not-all per-environment customizability - the exact problem you're solving! I'm excited to see where this system goes - and am excited to see what value-add layers you build on the UI and governance/cost-control side!
In Show HN: Layerform – Open-source development environments using Terraform files

Show HN: Layerform – Open-source development environments using Terraform files

Hi HN, we're Lucas and Lucas, the authors of Layerform (https://github.com/ergomake/layerform). Layerform is an open-source tool for setting up development environments using plain .tf files. We allow each engineer to create their own "staging" environment and reuse infrastructure. Whenever engineers run layerform spawn, we use plain .tf files to give them their own "staging" environment that looks just like production. Many teams have a single (or too few) staging environments, which developers have to queue to use. This is particularly a problem when a system is large, because then engineers can't run it on their machines and cannot easily test their changes in a production-like environment. Often they end up with a cluttered Slack channel in which engineers wait for their turn to use staging. Sometimes, they don't even have that clunky
Read the rest
channel and end up merging broken code or shipping bugs to production. Lucas and I decided to solve this because we previously suffered with shared staging environments. Layerform gives each developer their own production-like environment.This eliminates the bottleneck, increasing the number of deploys engineers make. Additionally, it reduces the amount of bugs and rework because developers have a production-like environment to develop and test against. They can just run "layerform spawn" and get their own staging. We wrap the MPL-licensed Terraform and allow engineers to encapsulate each part of their infrastructure into layers. They can then create multiple instances of a particular layer to create a development environment.The benefit of using layers instead of raw Terraform modules is that they're much easier to write and reuse, meaning multiple development environments can run on top of the same infrastructure. Layerform's environments are quick and cheap to spin up because they share core pieces of infrastructure. Additionally, Layerform can automatically tag components in each layer, making it easier for FinOps teams to manage costs and do chargebacks. For example: with Layerform, a product developer can spin up their own lambdas and pods for staging while still using a shared Kubernetes cluster and Kafka instance. That way, development environments are quicker to spin up and cheaper to maintain. Each developer's layer also gets a tag, meaning FinOps teams know how much each team's environments cost. For the sake of transparency, the way we intend to make money is by providing a managed service with governance, management, and cost-control features, including turning off environments automatically on inactivity or after business hours. The Layerform CLI itself will remain free and open (GPL). You can download the Layerform CLI right now and use it for free. Currently, all the state, permissions, and layer definitions stay in your cloud, under your control. After the whole license change thing, I think it's also worth mentioning we'll be building on top of the community's fork and will consider adding support for Pulumi too. We'd love your feedback on our solution to eliminate “the staging bottleneck". What do you think?
124 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.