Open-source production-like development infrastructure.

Allow each engineer to provision their own "staging" environment using plain .tf files.

Use cases

Staging is a bottleneck.

Most companies have a single "staging" environment shared by all engineers. This environment is a bottleneck for testing and slows down development.

Eliminate the bottleneck
Each engineer gets their own production-like environment.
Catch bugs
Test features in a production-like environment, and catch bugs you wouldn't catch otherwise.
Share your work
Share work with Designers, QAs, and PMs before merging any code.
Demo new features
Spin up demo environments for new features and share them with customers.

How it works

One staging per engineer.

When using Layerform, engineers encapsulate each part of their infrastructure into layers. Engineers can then create infrastructure by stacking each of those layers.

Layerform's magic is that top layers can share the same base layers, allowing for easy, quick, and inexpensive reuse.

After each layer is defined engineers can spin up their own "staging" environments using only the layers they need.

Built for engineers

Free and open-source.

Engineers can download and use the Layerform CLI for free for personal and commercial use.

It's just .tf files.
The Layerform CLI is just a wrapper on top of an MPL version of Terraform, and each layer is made of plain .tf files.
Truly open-source.
Layerform is open-source, free to use, and licensed under GPLv3.
Runs on your infrastructure.
The Layerform CLI provisions infrastructure in your cloud. You own all the servers, credentials, permissions, and you can put it all behind your own VPN.

Deep dive

Step by step.

1. Create terraform files for each layer.

Each layer should contain terraform files for the infrastructure within it.

2. Create layer definitions.

Use layer resources from the layerform-provider to define which files belong to each layer, and the dependencies between layers.

3. Provision your backend with the desired layers.

Run terraform apply to provision your backend with the desired layers.

4. Use layerform spawn to create a layer instance.

Run layerform spawnto create the infrastructure corresponding to the particular layer. With Layerform spawn, you can specify the base layer upon which you want the infrastructure to be created.