blog: add "Bring Your Terraform Estate Into the Agentic Era" launch post - #20569
Conversation
Staged for publication on 2026-08-04 at 9:00 AM Pacific. Announces the GA of Pulumi Cloud as a Terraform state backend, HCL as a first-class Pulumi IaC language, and native Terraform module support, along with the continued HashiCorp transition offers. Follows on from Joe Duffy's December post, "Pulumi for All Your IaC — Including Terraform and HCL," and links back to it as the setup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The shared placeholder copied by /new-blog-post is 942x628, which fails the markdown linter's feature-image dimension check. Replace it with a rocket template render (the launch/announcement template) at the required 1884x1256. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Social Media Reviewcontent/blog/bring-your-terraform-estate-into-the-agentic-era/index.mdX — PASSLinkedIn — PASSBluesky — PASSSuggestions (advisory)These are stylistic notes — they don't block the post. X
Bluesky
Updated for commit |
Fills the blank twitter/linkedin/bluesky frontmatter fields with the copy drafted by the social-review check. All three tee up the post without delivering the announcement, and deliberately omit the "over 40% of users" stat pending a freshness check before the Aug 4 publish date. X 235/255, LinkedIn 692/2950, Bluesky 259/300. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Applied the suggested copy verbatim for all three platforms in On the social card note: the image is unreachable because it's generated at build time from the title + 🤖 Addressed by Claude Code |
|
Your site preview for commit 1ce6db8 is ready! 🎉 http://www-testing-pulumi-docs-origin-pr-20569-1ce6db81.s3-website.us-west-2.amazonaws.com Changed pages: |
cnunciato
left a comment
There was a problem hiding this comment.
Nice work! A few minor suggestions, and I might come back and add a few links, but this is solid. Well done.
|
|
||
| The agentic infrastructure era is already here, and we want you to bring your IaC to it. [Get started with Pulumi free](/docs/install/) and provision your first stack in minutes. | ||
|
|
||
| If you'd like to get started with the new Terraform/OpenTofu and HCL capabilities, or take advantage of the financial flexibility options, please [get in touch](/contact/?form=sales). |
There was a problem hiding this comment.
There are also other ways for practitioners to get started (templates, etc.), but we can also hold off and link from here to my post when it's ready.
There was a problem hiding this comment.
No change made — whether to link out to your forthcoming getting-started post is the author's call (and depends on your post's timing vs. the Aug 4 publish date). Flagged for @djperlovsky.
🤖 Addressed by Claude Code
Copy edits for parallelism and clarity in the Terraform backend bullets, plus: - Reframe the interop claim as "Pulumi is now fully interoperable with Terraform and OpenTofu" - Note that remote-by-default plans/applies follow HCP Terraform and Terraform Enterprise behavior - Point the HCL link at the HCL language docs rather than the convert guide - Add a "learn more" docs link at the end of each of the three capability sections - Link "Get started with Pulumi free" to app.pulumi.com/signup Two review questions are left for the author: whether to move the modules section ahead of HCL, and whether to link out to Christian's forthcoming getting-started post. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Per review feedback, the three capability sections now follow an adoption progression: bring state to Pulumi Cloud, reuse the modules you already have, then write HCL natively. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Pre-merge Review — Last updated 2026-07-31T21:19:35ZTip Summary: This is a new launch post announcing three Terraform-interop milestones (Pulumi Cloud as a GA Terraform state backend, HCL GA as a first-class Pulumi language, native Terraform module import), paralleling the December post it cites, Review confidence:
Investigation log
🔍 Verification trail57 claims extracted · 42 verified · 3 unverifiable · 6 contradicted
📊 Editorial balanceSingle-subject post; balance check N/A. 🚨 Outstanding in this PRThese must be resolved or refuted before merging.
|
📋 Triaged verifier findingsI double-checked these and realized they weren't real findings — click to expand
💡 Pre-existing issues in touched files (optional)No pre-existing issues in touched files. ✅ Resolved since last reviewNo items resolved since the last review. 📜 Review history
Need a re-review? Want to dispute a finding? Mention |
|
@claude #update-review — disputing all three outstanding findings. They share one root cause: the review verified against [L46] Preventive policies — refuted. #20570 adds [L27] Remote execution — refuted. Same PR: "New stacks created through the Terraform or OpenTofu CLI default to remote execution. For existing stacks, set the Manual approvals (raised in the summary) are likewise documented there: "By default, VCS-triggered applies pause after the plan completes and wait for manual approval before proceeding." [L38] The 40% figure is confirmed by the author as current and cleared for this post. It is a distinct metric from the published "20% of infrastructure deployments" stat — share of users, not share of deployments — not a restatement of it. Since the docs for these capabilities land in #20570, the two PRs should be reviewed as a pair; verifying this post against 🤖 Filed by Claude Code |
Leaves BMW and Supabase as the named examples. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Per the companion docs PR (#20570), new stacks created through the Terraform or OpenTofu CLI default to remote execution; existing stacks enable it with a stack tag. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Drops "existing" so the claim holds for both new stacks (remote by default) and existing ones (remote via stack tag). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Drop the third em dash in the intro (Pulumi.EmDashDensity); the intro is the excerpt shown on the blog index - Remove difficulty qualifiers "just like" and "easily" (Pulumi.Difficulty, STYLE-GUIDE.md Inclusive Language) - Drop the weasel "very" from "a very clear ROI" Keeps "it just works" — an idiom about the provider bridge, not a judgment about the reader's effort. Remaining warnings are generic write-good wordiness hits, left as-is. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
🤖 Review updated on @djperlovsky's request. |
Co-Authored-By: Claude <noreply@anthropic.com>
* Blog: "Emulating Terraform on Pulumi's Engine" (#20573) * Draft 0 - half way done * Update feature image for Terraform data model blog post Co-Authored-By: Claude <noreply@anthropic.com> * Draft 1: complete (mostly) * links * Fill in hook mapping table, permalinks, and conclusion Fill the provisioner/condition-to-hook mapping table from the pulumi-hcl source, and correct the replace_triggered_by bullet to match the code: every element feeds replacementTrigger, and resource references also contribute to replaceWith. Replace the illustrative workspace.PackageDescriptor snippets with the pulumirpc.PackageSpec requests that are actually sent, and link to the request-construction code in pulumi-hcl and the latest-version resolution code in the dynamic bridge. Add the concluding section: thesis restated, known gaps, and a call to action to file compatibility issues. * Address review: fix SDK namespace, MLC link, and conclusion typo Use the pulumi namespace in all module-consumption examples; the SDK publishes under pulumi, not pulumi-labs. Point the multi-language components link at its real path under guides/building-extending. Fix a misspelling and missing serial comma in the conclusion. * Bind the precondition hook to beforeUpdate as well Match the TypeScript equivalence example to the mapping table: preconditions run on both create and update. --------- Co-authored-by: Jeff Merrick <jmerrick@pulumi.com> Co-authored-by: Claude <noreply@anthropic.com> * blog: add "Bring Your Terraform Estate Into the Agentic Era" launch post (#20569) * blog: add "Bring Your Terraform Estate Into the Agentic Era" launch post Staged for publication on 2026-08-04 at 9:00 AM Pacific. Announces the GA of Pulumi Cloud as a Terraform state backend, HCL as a first-class Pulumi IaC language, and native Terraform module support, along with the continued HashiCorp transition offers. Follows on from Joe Duffy's December post, "Pulumi for All Your IaC — Including Terraform and HCL," and links back to it as the setup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: render 1884x1256 rocket feature image The shared placeholder copied by /new-blog-post is 942x628, which fails the markdown linter's feature-image dimension check. Replace it with a rocket template render (the launch/announcement template) at the required 1884x1256. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: add social copy for the Terraform launch post Fills the blank twitter/linkedin/bluesky frontmatter fields with the copy drafted by the social-review check. All three tee up the post without delivering the announcement, and deliberately omit the "over 40% of users" stat pending a freshness check before the Aug 4 publish date. X 235/255, LinkedIn 692/2950, Bluesky 259/300. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: apply review feedback from @cnunciato Copy edits for parallelism and clarity in the Terraform backend bullets, plus: - Reframe the interop claim as "Pulumi is now fully interoperable with Terraform and OpenTofu" - Note that remote-by-default plans/applies follow HCP Terraform and Terraform Enterprise behavior - Point the HCL link at the HCL language docs rather than the convert guide - Add a "learn more" docs link at the end of each of the three capability sections - Link "Get started with Pulumi free" to app.pulumi.com/signup Two review questions are left for the author: whether to move the modules section ahead of HCL, and whether to link out to Christian's forthcoming getting-started post. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: reorder to backend, modules, then HCL Per review feedback, the three capability sections now follow an adoption progression: bring state to Pulumi Cloud, reuse the modules you already have, then write HCL natively. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: drop Modular from the workshop customer list Leaves BMW and Supabase as the named examples. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: scope remote-by-default to new Terraform stacks Per the companion docs PR (#20570), new stacks created through the Terraform or OpenTofu CLI default to remote execution; existing stacks enable it with a stack tag. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: align LinkedIn copy with remote-execution scoping Drops "existing" so the claim holds for both new stacks (remote by default) and existing ones (remote via stack tag). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: address prose-lint warnings - Drop the third em dash in the intro (Pulumi.EmDashDensity); the intro is the excerpt shown on the blog index - Remove difficulty qualifiers "just like" and "easily" (Pulumi.Difficulty, STYLE-GUIDE.md Inclusive Language) - Drop the weasel "very" from "a very clear ROI" Keeps "it just works" — an idiom about the provider bridge, not a judgment about the reader's effort. Remaining warnings are generic write-good wordiness hits, left as-is. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * blog: update feature image for Terraform estate post Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Jeff Merrick <jmerrick@pulumi.com> * Add walkthrough blog covering state backend, modules, and HCL (#20644) * blog: add hands-on Terraform/HCL/Pulumi Cloud walkthrough (draft) Companion walkthrough for the HCL Launch campaign (publishing 2026-08-04): migrate Terraform state to the Pulumi Cloud backend, publish and consume a Terraform module via the Pulumi Cloud registry, and write HCL that runs natively on the Pulumi engine. Draft: still needs 3 screenshots, a feature image, and social copy. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * blog: add feature image for the Terraform/Pulumi Cloud walkthrough Co-Authored-By: Claude <noreply@anthropic.com> * blog: answer reader questions with brief inline notes and links Completeness pass on the Terraform/HCL walkthrough: - Link the launch announcement post from the intro. - Migration: back up state first, reassure that only state location changes, and link out for S3/Azure/GCS/HCP/TFE source backends. - Note audit policies (every stack) vs preventative policies (remote runs). - Link the Terraform module registry concept page. - Point HCL readers at `pulumi convert` for moving to a general-purpose language on their own schedule. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * blog: sharpen framing and fix doc links per author review - Reframe the intro around the three buckets (state backend + remote execution, modules as cross-language Pulumi components, first-class HCL), lead with GA, and pitch it as a brisk end-to-end walkthrough doable with a free account and trial. Link the release page and the announcement post. - Develop the "why HCL": native pulumi/ providers alongside bridged ones, cross-language component/module interop, and the superset point, linking Ian's engine deep-dive. - Sharpen the "why a dynamic module" note. - Warmer open-source (Apache 2.0) close inviting issues and feedback. - Fix dead link /docs/idp/deployments/ -> /docs/deployments/, and soften "audit policies run on every stack" to "can run on any stack." Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * blog: apply docs-review fixes (acronyms, org context, product name) - Expand HCL and Pulumi ESC on first mention. - Note the module work happens in a separate org from the migrated personal account, to avoid org-context confusion. - Capitalize the product name "Pulumi Policies". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * blog: feature the Terraform launch posts on the homepage Pin the homepage featured slots for the Aug 4 launch: the "Bring Your Terraform Estate Into the Agentic Era" announcement as the hero, followed by the "Emulating Terraform on Pulumi's Engine" deep-dive and this hands-on walkthrough. Slot 4 auto-fills. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Revisions * blog: copyedit pass, fix ESC link, tighten deployments steps - Fix dropped-word typos (consume, some teams, seen, a/an) and a broken relative ESC link (add leading slash). - Add descriptive alt text to all four screenshots. - Reword the HCL provider/module line (no "community-supported hashicorp/*"; don't conflate providers with modules). - Tighten the VCS/Deployments walkthrough from four steps to three, keeping every action and the confirm screenshot. - Normalize all shell command lines to a $ prompt for consistency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Almost there * blog: typo and grammar scrub Fix dropped/incorrect words (a locally defined module, terraform CLI, workspace name, paste into the prompt, copy your existing state, create a new project), a stray comma, and a doubled phrase in the closing links. Drop the contradictory "bridged" qualifier on the pulumi/aws provider and fix the "community-supported" typo. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * blog: cross-link the three Terraform launch posts as related Add mutual related_posts entries so the launch, engineering, and walkthrough posts each surface the other two in their Related posts block. Also fix a "sign into" -> "sign in to" typo in the walkthrough and tidy the featured-slot comments in blog_home.yaml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Meta --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Jeff Merrick <jmerrick@pulumi.com> * Add the August 2026 Terraform and HCL release page (#20617) * Add the August 2026 Terraform and HCL release page Adds /releases/terraform-and-hcl/, a smaller launch page covering the three capabilities announced in the Terraform/HCL launch post: Pulumi Cloud as a Terraform state backend, HCL as a first-class Pulumi language, and native Terraform module support. Every card traces to that post; the page reuses the existing releases layout, so it's frontmatter-only apart from the two partial changes below. Dated 2026-08-04 to match the launch post, so it won't build until then. Extends layouts/partials/releases/hero-card.html with an optional hero_image_max_height, which sizes hero art by height instead of width. The May page's hero is square (427x433) while this one is wide (761x419), so a shared max-width rendered the new art at roughly half the height. The heading now also renders as raw HTML so a <br> can control where it wraps. Fixes three layout issues in layouts/partials/releases/release-item.html that affect every card on /releases/: the feature image was flush to the card's left edge on mobile, images were vertically centered rather than sitting on the card's bottom edge, and cards with differently-proportioned artwork came out at different heights. The image column now holds a fixed 600/497 aspect, so cards line up at any viewport width rather than at one fixed breakpoint. Co-Authored-By: Claude <noreply@anthropic.com> * Update the Terraform and HCL release feature image Swaps in revised artwork for the /releases/ list card. Same 600x399 viewBox as before, so the card layout is unaffected. Co-Authored-By: Claude <noreply@anthropic.com> * Rename the Terraform and HCL release page slug Moves the page to /releases/terraform-state-backend-modules-hcl/, naming the three shipped capabilities directly. No alias needed: the page is future-dated and unmerged, so the old URL has never been live and nothing links to it. Co-Authored-By: Claude <noreply@anthropic.com> * Add the social card for the Terraform and HCL release page Adds the hand-made 1200x628 card and points meta_image at it. Lives under static/ rather than assets/fingerprinted/, since a non-blog meta_image resolves as a raw path. Co-Authored-By: Claude <noreply@anthropic.com> * Reorder release sections (modules before HCL) and point homepage badge at the release page Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Add launch banner for the Terraform state, modules, and HCL release Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Swap access-control card for remote execution and refine release copy Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Finalize release page: module and HCL cards, copy fixes, badge, and banner Adds module and HCL cards to the August 2026 release page, links the newly-landed walkthrough post, and applies a copy/typo pass. Updates the homepage badge and launch-banner text to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Refine release hero description copy Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Christian Nunciato <chris@nunciato.org> * Use @pulumi/hcl and pulumi/pulumi-hcl as canonical HCL references Update the Terraform-to-Pulumi-Cloud walkthrough to install and import the @pulumi/hcl package (the labs-scoped @pulumi-labs/hcl has graduated to the @pulumi scope), so it agrees with the engineering deep-dive post. Also correct the docs-review verify-claims reference: Pulumi HCL now lives under pulumi/pulumi-hcl, not pulumi-labs/pulumi-hcl. Point-in-time -labs references in existing blog posts are left as-is. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Ian Wahbe <me@iwahbe.com> Co-authored-by: Jeff Merrick <jmerrick@pulumi.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Daniel Perlovsky <dperlovsky@pulumi.com>
Proposed changes
Adds the Win Workloads from Terraform launch blog post, staged for publication on 2026-08-04 at 9:00 AM Pacific (
date: 2026-08-04T09:00:00-07:00). The post won't appear on the live site until a deploy runs on or after that timestamp, so this is safe to merge ahead of the date.The post announces:
It follows on from Joe Duffy's December post, Pulumi for All Your IaC — Including Terraform and HCL, and links back to it as the setup rather than restating it.
Frontmatter: author
daniel-perlovsky, categoryproduct, tagsinfrastructure-as-code/terraform/hcl/pulumi-cloud(all from the canonical vocabulary).Related PRs
Docs for the capabilities announced here ship in #20570 (remote execution, preventative policy enforcement on Terraform plans, manual approval for VCS-triggered applies). Review the two together — verifying this post against
masteralone will flag the remote-execution and preventive-policy claims as unsupported, because those docs are not onmasteryet.Notes for reviewers
feature.png— rendered at 1884x1256 from the rocket (launch/announcement) templateAll internal doc links were verified to resolve against current paths:
/docs/iac/get-started/terraform/terraform-state-backend/,/docs/iac/get-started/terraform/convert-hcl/,/docs/iac/get-started/terraform/terraform-modules/,/docs/administration/access-identity/rbac/,/docs/ai/neo/code-reviews/,/docs/insights/policy/,/docs/esc/,/docs/install/.make lintpasses locally on the post (0 errors).🤖 Generated with Claude Code
Closes https://github.com/pulumi/marketing/issues/1781.