ubiklabs

Blocks · Terraform

Your infrastructure, drawn from the code.

What a Terraform project declares, across files and modules, as a map for each environment. Read from the .tf files: nothing is planned, applied or fetched.

← BlocksAvailableBy Ubiklabs

New Block → Terraform, or the lightbulb in a terminal's header

An AWS estate read from its .tf files: production and staging, a service's dependencies, and every declaration as a list.

What it does.

A map per environment
Production, staging and the rest from their .tfvars, inside their regions, networks and subnets.
Modules opened up
Local modules are expanded, and dependencies drawn between the resources they connect.
What matters first
Compute, services, ingress and data stores; turn on any other type from Resources.
Straight to the line
Select a resource to see its settings and open its declaration in Files.

The map.

Opens where the project is
⇧⌘T → Terraform, or the lightbulb in a terminal's header. It reads the checkout, or the folder outside git.
Areas that wrap
Regions, zones, VPCs and subnets enclose the resources declared in them, from literal values, locals, module arguments and provider settings.
Connections the way requests travel
From a declaration to what it refers to: a load balancer to its backend, a service to its database.
The internet, where it is declared
Internet stands left of the map when a declaration names itself public, such as a public load balancer, CloudFront or an ingress. Nothing else is assumed public.
Cards that say what is configured
Name, type and plain values. No health and no status: configuration does not know them.
Pan and zoom
Drag or scroll to move, ⌘-scroll to zoom, and fit to see the whole of it.

Find a resource.

Resources
Which types have cards, N of M, with a count and a search per type. Policies, IAM, monitoring and data sources start hidden.
The list
Every declaration with its type, module, key attributes and file, with a search by address or name.
Inspect it
Its settings and full address; Source opens the declaration in Files, at its line.
Areas too
Click a region or subnet for its metadata and the resources inside it.

Reads the files, and nothing else.

No terraform, no state
No command runs, no module is downloaded and no cloud is called. count and for_each show as configuration, not as instances.
Values stay on the host
From .tfvars only environment, location and network names are kept; credentials and other values are dropped before anything leaves the host.
Notes, not surprises
Syntax errors, duplicates and conflicting values are listed under Notes. A failed read keeps the previous map.
Fresh when you ask
Refresh reads only the files that changed since the last time.

Start on this machine.

The desktop app comes with a local host. Add a remote one when you need it.