Commit graph

9 commits

Author SHA1 Message Date
James Pogran
2c075b9f8e
Add component registry source resolution support to Terraform Stacks (#37888)
* Add component registry source resolution support to Terraform Stacks

This change implements the missing component source resolution case in the stack configuration loader, enabling Terraform Stacks to properly handle component registry sources from HCP Terraform and other component registries.

The implementation mirrors the existing module registry resolution workflow, where component sources are first resolved to their versioned form using the source bundle's component metadata, then converted to final source addresses that can be used to locate the actual component code. This completes the integration between the terraform-registry-address component parsing capabilities and the go-slug sourcebundle component resolution APIs.

* chore: bump go-slug to v0.18.1

* fix: add case for component final source type

* chore: rm space

* chore: sync module deps

* chore: update testdata with separate bundle

* fix: manifest file json obj with trailing comma

* Add changelog entry to 1.14

---------

Co-authored-by: Michael Yocca <michael.yocca@hashicorp.com>
2025-12-10 09:16:03 -05:00
Liam Cervante
0b15151513
stacks: remove support for deprecated .tfstack extension (#37617)
* stacks: remove support for deprecated .tfstack extension

* also remove from comments and readme
2025-09-16 13:20:07 +02:00
Matej Risek
a9b67a6cdc
stacks: Don't require built-in providers to be listed under required providers. (#37234) 2025-06-18 17:02:27 +02:00
Liam Cervante
a80220dcc9
stacks: rename .tfstack files to .tfcomponent (#37013)
* stacks: rename .tfstack files to .tfcomponent

* fix consistency issues
2025-05-15 08:33:13 +02:00
Liam Cervante
96e50f680f
stacks: ensure consistent sources between removed blocks (#36915) 2025-04-24 10:24:20 +02:00
Liam Cervante
3d014d82f3
stacks: fix errors processing index keys of removed blocks (#36673) 2025-03-12 10:33:18 +01:00
Liam Cervante
36971f6ee8
stacks: add support for the removed block to .tfstacks.hcl (#35669) 2024-09-05 12:22:16 +02:00
Martin Atkins
8c36d3b580 stackconfig: Variables and outputs can be sensitive/ephemeral
This should eventually have the same meaning as it does for the modules
language under the ephemeral_values language experiment, but as of this
commit is just accepted during decoding and then ignored. The rest of the
functionality will follow in subsequent commits.

There's no specific experiment guard in this case because the stack
configuration language is already experimental as a whole anyway.
2024-06-17 08:34:46 -07:00
Martin Atkins
41d931d21a stackconfig: Initial HCL decoding logic
This is a first pass for decoding the new stack configuration language,
which is overall pretty similar to the Terraform module language but does
have some intentional differences both in its top-level concepts -- has
embedded stacks and components instead of nested modules and resources --
and in its details, where we're making use of some learnings about where
folks have struggled with the Terraform module language.

This initial implementation should be enough for us to experiment with but
we'll probably iterate on this more in later commits as we learn from
implementing a language runtime for this and from actually trying to use
the language for real use-cases.
2023-11-15 12:38:51 -08:00