Skip to content

Intentius

An infrastructure consultancy. I build open-source tools and help teams put them to work.

INTENTIUS

What's free here, against each vendor's top tier

Intentius
Resource-level concurrencyTwo changes to one stack or root, on different resources, apply at the same time.Terraform with choudoufu, both apply at onceintentius.ioPulumi with plunge, both apply at onceintentius.io✗ second queuesdeveloper.hashicorp.com✗ second queuespulumi.com✗ second waitsdocs.spacelift.io
No stack lockA change locks only the resources it touches, never the whole stack or root.Terraform with choudoufu, each resource locks aloneintentius.ioPulumi with plunge, each resource locks aloneintentius.io✗ locks the whole workspacedeveloper.hashicorp.com✗ locks the whole stackpulumi.com✗ locks the whole stackdocs.spacelift.io
Every terragucci and plywood feature on one tierall 32 of terragucci's and all 25 of plywood's, freeintentius.io/terragucciintentius.io/plywood✗ Enterprise still lacks 8 of terragucci's 32hashicorp.com✗ Enterprise still lacks 10 of plywood's 25pulumi.comTerraform ✗ Enterprise still lacks 5 of terragucci's 32spacelift.ioPulumi ✗ Enterprise still lacks 5 of plywood's 25spacelift.io
No licence or usage feesnothing; Apache-2.0intentius.io✗ per resource-hourdeveloper.hashicorp.com✗ per resource-hourpulumi.com✗ per workerspacelift.io
State stays in your own backendState: the record of what Terraform or Pulumi created.Terraform stays in your own backendintentius.ioPulumi your own bucket, or Pulumi Cloud if you keep itintentius.io✗ hosted, below Enterprisedeveloper.hashicorp.com/terraformhashicorp.com/pricing✗ hosted, below Enterprisepulumi.com/docspulumi.com/docsTerraform ✓ docs.spacelift.ioPulumi ✓ docs.spacelift.io
Terraform and Pulumi on three clouds, in one graphbehold: choudoufu and plunge projects drawn together across AWS, Azure and GCP, linked by shared outputsintentius.io✓ Standard, US onlydeveloper.hashicorp.com/hcphashicorp.com/blog✓ Propulumi.com✗ list onlydocs.spacelift.io
Runs without calling the vendorTerraform none past your CI and cloudintentius.ioPulumi none past your CI, cloud and backendintentius.io✗ below Enterprisedeveloper.hashicorp.com/terraformhashicorp.com/pricing✗ below Enterprisepulumi.com/docspulumi.com/docs✗ below Enterprisedocs.spacelift.io/conceptsspacelift.io/pricing

Sources read 2026-10-28 for Terraform, 2026-10-29 for Pulumi.

Skip to Terraform in detail or Pulumi in detail if you run one engine.

behold against the HCP Terraform, Pulumi Cloud and Spacelift consoles, across both engines.

One graph, every engine

behold is free. It reads Terraform through choudoufu and Pulumi through plunge.

behold
Terraform and Pulumi on three clouds, in one graphchoudoufu and plunge projects drawn together across AWS, Azure and GCP, linked by shared outputsintentius.io✓ Standard, US onlydeveloper.hashicorp.com/hcphashicorp.com/blog✓ Propulumi.com✗ list onlydocs.spacelift.io
Drift, shown on the graph from each engine's own readDrift: a change made outside your code.live, from each engine's own read: plunge drift for Pulumi, choudoufu's plan for Terraform, chant's live read for chantintentius.io/beholdintentius.io/behold✗ not on a graphdeveloper.hashicorp.com✗ not on a graphpulumi.com✗ not on a graphdocs.spacelift.io
Finds cloud resources no code manageschant search --ambient reports those of a kind you manageintentius.io/chantintentius.io/chant✓ tier not publisheddeveloper.hashicorp.com✓ Essentialspulumi.comTerraform ✓ tier not publisheddocs.spacelift.ioPulumi ✗ not for Pulumidocs.spacelift.io
Shows which run deployed each resourcecommit, run, digest, actor and approver, from chant's release ledgerintentius.io–✓ pulumi.com✓ docs.spacelift.io

Sources read 2026-10-28 for Terraform, 2026-10-29 for Pulumi.

terragucci and choudoufu against HCP Terraform and Spacelift.

Two changes at once

One apply locks less than a whole rootone resource only with choudoufu; terragucci alone locks the rootintentius.io✗ whole workspacedeveloper.hashicorp.com✗ whole stackdocs.spacelift.io
Two applies in different roots run side by sideside by side, up to your CI's capacityintentius.io✓ limit by tierdeveloper.hashicorp.com✓ one per workerdocs.spacelift.io

The engine underneath

choudoufu is free. terragucci runs it with binary: choudoufu.

Two applies to one root, on different resources, run side by sideboth apply; neither waits for a lockintentius.io✗ second queuesdeveloper.hashicorp.com✗ second waitsdocs.spacelift.io
Drift read for one resource alonethat resource and what it reads, no root-wide sweepintentius.io✗ whole workspacedeveloper.hashicorp.com✗ whole stackdocs.spacelift.io
Ownership recorded on the resource itselftofu-estate and tofu-address tags on the resource itselfintentius.io✗ developer.hashicorp.com✗ docs.spacelift.io

What's included

Tick what you need. These are terragucci's features.

The tier you'd needIncludedPremiumand still missing 1 of the features you tickedEnterpriseand still missing 2 of the features you ticked

The basics

No licence or usage feesnothing; Apache-2.0intentius.io✗ per resource-hourdeveloper.hashicorp.com✗ per workerspacelift.io
Runs on runners you controlyour CI runnersintentius.io✓ developer.hashicorp.com✓ Businessdocs.spacelift.io/conceptsspacelift.io/pricing

Where your things live

State stays in your own backendState: the record of what Terraform created.stays in your own backendintentius.io✗ hosted, below Enterprisedeveloper.hashicorp.com/terraformhashicorp.com/pricing✓ docs.spacelift.io
Plans and run logs stay in your forgeyour forgeintentius.io✗ developer.hashicorp.com✗ docs.spacelift.io
Audit trail in your own storageyour bucket, as JSON linesintentius.io✗ 14 daysdeveloper.hashicorp.com✗ 30 daysdocs.spacelift.io
Runs without calling the vendornone past your CI and cloudintentius.io✗ below Enterprisedeveloper.hashicorp.com/terraformhashicorp.com/pricing✗ below Enterprisedocs.spacelift.io/conceptsspacelift.io/pricing

Who owns what

Your cloud IAM decides who may change each resourceyour cloud IAM, reading that tagintentius.io✗ developer.hashicorp.com✗ docs.spacelift.io
One root reads another without the vendorwith choudoufu, the live resource, found by its tagsintentius.io✗ developer.hashicorp.com✗ docs.spacelift.io

Leaving

Your state stays put when you leavenever movedintentius.io✗ API downloaddeveloper.hashicorp.com✓ if in your backenddocs.spacelift.io/vendorsdocs.spacelift.io/vendors
Your pipeline leaves with youplain CI files in your repointentius.io✗ developer.hashicorp.com✗ docs.spacelift.io
Your policies run anywhereRego, run by OPA anywhereintentius.io✓ OPA ones; Sentinel notdeveloper.hashicorp.com✗ Spacelift fieldsdocs.spacelift.io
Cancel at any timenothing to cancel; Apache-2.0intentius.io✓ usage billingdeveloper.hashicorp.com✗ annual plansspacelift.io

What the attestation covers

A vendor's SOC 2 covers its own service, not your estate.

No third party added to your audit scopenoneintentius.io✗ hashicorp.com✗ docs.spacelift.io

AI that does the work

AI writes changes and fixes driftwrites the change, fixes drift, reviews plans, summarises a refused waveintentius.io✗ hashicorp.com✗ summaries onlydocs.spacelift.io
AI runs in your CI with your model keyyour CI, your model key, behind your approvalsintentius.io✗ hashicorp.com✗ docs.spacelift.io
AI on every tierevery install, no tierintentius.io✓ hashicorp.com✓ docs.spacelift.io

Sources read 2026-10-28.

plywood and plunge against Pulumi Cloud, and against Spacelift where it runs Pulumi. Pulumi calls a plan a preview, and an apply an update.

Two changes at once

plywood
One update locks less than a whole stackone resource only with plunge; stock Pulumi locks the stackintentius.io✗ whole stackpulumi.com✗ whole stackdocs.spacelift.io
Updates to different stacks run side by sideside by side, up to your CI's capacityintentius.io✓ Essentialspulumi.com✓ one per workerdocs.spacelift.io

The engine underneath

plunge is free. plywood runs it with engine: plunge.

plunge
Two updates to one stack, on different resources, run side by sideboth apply; neither waits for a lockintentius.io✗ second queuespulumi.com✗ second waitsdocs.spacelift.io
Drift read for one resource aloneone provider read, no stack refreshintentius.io✗ whole stackpulumi.com✗ whole stackdocs.spacelift.io
Ownership recorded on the resource itselfplunge-stack and plunge-urn tags on the resource itselfintentius.io✗ pulumi.com✗ docs.spacelift.io

What's included

Tick what you need. These are plywood's features.

plywood
The tier you'd needIncludedEnterpriseand still missing 1 of the features you tickedEnterprise

The basics

plywood
No licence or usage feesnothing; Apache-2.0intentius.io✗ per resource-hourpulumi.com✗ per workerspacelift.io
Runs on runners you controlyour CI runnersintentius.io✓ Enterprisepulumi.com✓ Businessdocs.spacelift.io/conceptsspacelift.io/pricing

Where your things live

plywood
State stays in your own backendState: the record of what Pulumi created.your own bucket, or Pulumi Cloud if you keep itintentius.io✗ hosted, below Enterprisepulumi.com/docspulumi.com/docs✓ docs.spacelift.io
Previews and run logs stay in your forgeyour forgeintentius.io✗ pulumi.com✗ docs.spacelift.io
Audit trail in your own storageyour repository, as rows in its git historyintentius.io✓ export, Enterprisepulumi.com✗ 30 daysdocs.spacelift.io
Runs without calling the vendornone past your CI, cloud and backendintentius.io✗ below Enterprisepulumi.com/docspulumi.com/docs✗ below Enterprisedocs.spacelift.io/conceptsspacelift.io/pricing

Who owns what

plywood
Your cloud IAM decides who may change each resourceAWS IAM and Azure Policy can read the plunge-stack tag; on Google Cloud the project is the fenceintentius.io/plungeintentius.io/plungeintentius.io/plunge✗ its own roles, on stackspulumi.com✗ its own spacesdocs.spacelift.io

Leaving

plywood
Your state stays put when you leavenever movedintentius.io✗ stack migratepulumi.com✓ docs.spacelift.io
Your pipeline leaves with youplain CI files in your repointentius.io✗ pulumi.com✗ docs.spacelift.io
Your policies run anywhereRego and CrossGuard packs, run anywhereintentius.io✓ pulumi.com✗ Spacelift fieldsdocs.spacelift.io
Cancel at any timenothing to cancel; Apache-2.0intentius.io✓ monthly tierspulumi.com✗ annual plansspacelift.io

What the attestation covers

A vendor's SOC 2 covers its own service, not your estate.

plywood
No third party added to your audit scopenoneintentius.io✗ pulumi.com✗ docs.spacelift.io

AI that does the work

plywood
AI writes changes and fixes driftwrites the change from /plywood agent, fixes drift, reviews pull requestsintentius.io/plywoodintentius.io/plywood✗ changes only, Essentialspulumi.com✗ summaries onlydocs.spacelift.io
AI runs in your CI with your model keyyour CI, your model key, behind your approvalsintentius.io✗ Pulumi Cloud; your key on Enterprisepulumi.com✗ docs.spacelift.io
AI on every tierevery install, no tierintentius.io✗ Essentials and uppulumi.com✓ docs.spacelift.io

Sources read 2026-10-29.

Clusters, sharing and approvals

behold is free. Kubernetes, Helm, Argo CD and Flux need chant.

behold
One approval over every engine's planone approval covers the Pulumi and Terraform plans together; if any part changes, nothing appliesintentius.io–✗ no approval steppulumi.com✗ per stackdocs.spacelift.io
A graph of your Terraform estatedrawn from your repo; no state, cloud account or terraform binaryintentius.io✓ Standard, US onlyhashicorp.com–✗ list onlydocs.spacelift.io
A cluster and the pods running on it, in one graphwith chantintentius.io✗ developer.hashicorp.com–✗ docs.spacelift.io
Who changed a Kubernetes field outside your codenames the source, such as a kubectl edit or an autoscalerintentius.io✗ developer.hashicorp.com–✗ docs.spacelift.io
Pods and ReplicaSets under their Deploymentdrawn live, with chantintentius.io✗ developer.hashicorp.com–✗ docs.spacelift.io
Your Argo CD or Flux apps, mappedeach app in its namespace, with chantintentius.io✗ developer.hashicorp.com–✗ docs.spacelift.io
A read-only view you can share with anyoneexport one folder to any static hostintentius.io✗ sign-in requireddeveloper.hashicorp.com–✗ account onlydocs.spacelift.io

Sources read 2026-10-28 for Terraform, 2026-10-29 for Pulumi. HashiCorp, Terraform and HCP Terraform are trademarks of HashiCorp, an IBM Company. Spacelift and the Spacelift logo are trademarks of Spacelift, Inc. Logos are used to identify each product and are shown unaltered. Pulumi and the Pulumi logo are trademarks of Pulumi Corporation, and plywood and plunge have no tie to it.

What I do

  • Same HCL, same providers, same plan. choudoufu is a build of OpenTofu.
  • Ownership moves out of the state file and onto each resource, where your IAM policies can read it.
  • Runs on the three big clouds and Kubernetes. A read-only check reports anything it would refuse before you commit.

First step

Tell me what you run today and what you want to change. I will reply saying whether this is a fit.

Get in touch

Read more, and see what you can check before you write

The tools are free, and the docs for each are on its own site.

All the tools, or what I do with them.

Intentius builds behold, chant, choudoufu, plunge, plywood and terragucci. Everything is open source at github.com/intentius. Also from Intentius are blacklight, spicypath and the wardens GitHubGitLabForgejo.

The tools are free. For help with them, get in touch.

Intentius